OAuth2
Security Scheme Type | OAuth2 |
---|---|
urn:safello:params:oauth:grant-type:bankid OAuth Flow | Scopes:
|
clientCredentials OAuth Flow | Token URL: /oauth2/token Scopes:
|
authorizationCode OAuth Flow | Authorization URL: Token URL: /oauth2/token Scopes:
|
List Cryptocurrency symbols
Lists the crypto currency symbols supported by Safello
Authorizations:
market
Responses
Response Schema: application/json
currency | string Crypto currency code |
minorAmountDecimals | integer Number of decimal places to represent the smallest unit for this crypto currency |
displayName | string Crypto currency name |
status | string Availability of our services related to this crypto currency. It can be:
|
availableActions | Array of strings Lists the type of operations you can make using this cryptocurrency. |
Response samples
- 200
- 400
[- {
- "currency": "BTC",
- "minorAmountDecimals": 8,
- "displayName": "Bitcoin",
- "status": "active",
- "availableActions": [
- "buy",
- "sell"
]
}
]
List Fiat currency symbols
Lists the fiat currency symbols supported by Safello
Authorizations:
market
Responses
Response Schema: application/json
currency | string Currency code ISO 4217 |
minorAmountDecimals | integer Number of decimal places to represent the smallest unit for this currency |
displayName | string Currency name |
status | string Availability of our services related to this currency. It can be:
|
Response samples
- 200
- 400
[- {
- "currency": "SEK",
- "minorAmountDecimals": 2,
- "displayName": "Kronor",
- "status": "active"
}
]
List trading pairs
Lists the trading pairs supported by Safello
Authorizations:
market
Responses
Response Schema: application/json
pair | string Trading pair symbol using underscore as delimiter. |
status | string Availability of our services related to this trading pair. It can be:
|
availableActions | Array of strings Lists the type of operations you can make using this trading pair. |
Response samples
- 200
- 400
[- {
- "pair": "BTC_USDC",
- "status": "active",
- "availableActions": [
- "buy",
- "sell"
]
}
]
Price history
Gets historical price data for a cryptocurrency in a given interval.
Authorizations:
market
query Parameters
crypto | string Default: "BTC" Cryptocurrency code - one of BTC, ETH, LINK, MATIC, or DOT |
interval | string Default: "MAX" Enum: "DAILY" "WEEKLY" "MONTHLY" "QUARTERLY" "HALF_YEARLY" "YEARLY" "YTD" "MAX" Time interval for the result |
Responses
Response Schema: application/json
timestamp | integer <int64> Timestamp representing the number of milliseconds since UNIX Epoch Time |
price | string Unitary price for the cryptocurrency in SEK |
Response samples
- 200
- 400
[- {
- "timestamp": 1643037000000,
- "price": "310438.36"
}, - {
- "timestamp": 1643037600000,
- "price": "314322.28"
}, - {
- "timestamp": 1643038200000,
- "price": "317258.03"
}, - "..."
]
Get price
Gets the current price for a single crypto currency
Authorizations:
market
path Parameters
crypto required | string Cryptocurrency code - one of BTC, ETH, LINK, MATIC, or DOT |
query Parameters
fiat | string Default: "SEK" Value: "SEK" Fiat currency |
Responses
Response Schema: application/json
ask | string Ask price |
baseAsk | string Base ask price |
baseBid | string Base bid price |
bid | string Bid price |
cryptoCurrency | string Crypto currency code |
currency | string Fiat currency |
Response samples
- 200
- 400
{- "ask": "343110.6053375",
- "baseAsk": "328335.5075",
- "baseBid": "330303.5525",
- "bid": "313788.374875",
- "cryptoCurrency": "BTC",
- "currency": "SEK"
}
Get trade pair price
Gets the current price for a trade pair
Authorizations:
market
path Parameters
pair required | string Example: BTC_SEK Trading pair symbol using underscore as delimiter. |
Responses
Response Schema: application/json
pair | string Trade pair |
timestamp | string <date-time> The timestamp at which the ticker was calculated |
quoteVolume | string Volume within the last 24 hours in the quote currency |
baseVolume | string Volume within the last 24 hours in the base currency |
lastPrice | string Price of the last trade |
bestBid | string Price of the current best bid |
bestAsk | string Price of the current best ask |
high | string Highest matched price within the last 24 hours |
low | string Lowest matched price within the last 24 hours |
Response samples
- 200
- 400
{- "pair": "BTC_SEK",
- "timestamp": "2019-08-24T14:15:22Z",
- "quoteVolume": "string",
- "baseVolume": "string",
- "lastPrice": "string",
- "bestBid": "string",
- "bestAsk": "string",
- "high": "string",
- "low": "string"
}
BankID Auth Grant
Starts an authorization request
Authorizations:
header Parameters
Source-IP-Address required | string Example: 192.168.0.1 IP Address of the originator of the request |
Source-User-Agent required | string Example: curl/7.37.0 User-Agent of the originator of the request |
Request Body schema: application/x-www-form-urlencoded
pnr required | string Personal Identity Number (12 digits) |
Responses
Cache-Control | string Example: "no-store" |
Pragma | string Example: "no-cache" |
Response Schema: application/json
request_id | string <uuid> Request ID to provide when requesting access token |
auto_start_token | string |
interval | integer time to wait between polling requests |
expires_in | integer how long the request will last before timing out |
Response samples
- 200
- 400
{- "request_id": "123e4567-e89b-12d3-a456-426614174000",
- "auto_start_token": "sagtuvAgOax1",
- "interval": 2,
- "expires_in": 120
}
Request Access Token
Authorizations:
Request Body schema: application/x-www-form-urlencoded
grant_type required | string Grant types:
|
request_id | string The request_id retrieved from /oauth2/bankid request |
refresh_token | any The refresh token previously issued to the client. |
scope | string The scope of the access request |
Responses
Cache-Control | string Example: "no-store" |
Pragma | string Example: "no-cache" |
Response Schema: application/json
access_token | string The access token issued by the authorization server. |
token_type | string The type of the token issued. |
expires_in | integer The lifetime in seconds of the access token. |
refresh_token | string The refresh token, which can be used to obtain new access tokens. |
scope | string The scope of the access token. |
Response samples
- 200
- 400
{- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
- "token_type": "Bearer",
- "expires_in": 3600,
- "refresh_token": "tGzv3JOkF0XG5Qx2TlKWIA",
- "scope": "read write"
}
Get logged in user
Returns information about the logged in user
Authorizations:
account.base
account.base:read
Responses
Response Schema: application/json
country | string Two-letter country code. ISO 3166-1 alpha-2 |
string <email> User's email | |
emailActive | boolean Indicates if a user has completed the process of email verification |
firstName | string User's first name |
lastName | string User's last name |
hasAcceptedLatestTerms | boolean Indicates whether or not the user has accepted the latest Terms and Conditions for using Safello. |
language | string Two-letter language code, ISO 639-1 |
level | integer Defines what percentage fee the user gets |
safeEnvironment | boolean Indicates if the user was put under safe mode |
telephoneNumber | string <phoneNumber> User's contact number |
tier | integer Relates to the maximum amount of money this user is allowed to buy |
Response samples
- 200
- 401
{- "country": "SE",
- "email": "user@example.com",
- "emailActive": true,
- "firstName": "John",
- "lastName": "Doe",
- "hasAcceptedLatestTerms": true,
- "language": "sv",
- "level": 1,
- "safeEnvironment": false,
- "telephoneNumber": 46555555555,
- "tier": 3
}
Accept T&C
Accept Terms and Conditions
Authorizations:
account.base
Request Body schema: application/json
marketingEmails | boolean Default: false Opt in to receiving marketing emails from Safello |
Responses
Request samples
- Payload
{- "marketingEmails": true
}
Response samples
- 401
{- "message": "string"
}
Send verification email
Send email to verify the user has access to that account
Authorizations:
account.base
Request Body schema: application/json
email required | string Email to send the verification code to |
Responses
Request samples
- Payload
{- "email": "mail@test.com"
}
Response samples
- 400
- 401
{- "message": "You cannot place an order higher than your buy limit of 500 SEK",
- "status": 400,
- "code": "BUY_LIMIT_EXCEEDED"
}
Verify email
Verify user's email address
Authorizations:
account.base
Request Body schema: application/json
code required | string Verification code sent to the user's email |
Responses
Request samples
- Payload
{- "code": 123456
}
Response samples
- 400
- 401
{- "message": "You cannot place an order higher than your buy limit of 500 SEK",
- "status": 400,
- "code": "BUY_LIMIT_EXCEEDED"
}
Check if KYC is required
Use this endpoint to check is the user is required to complete the KYC questionnaire to continue trading
Authorizations:
account.base
account.base:read
Responses
Response Schema: application/json
requireKyc | boolean Indicates if the user is required to complete the KYC questionnaire |
Response samples
- 200
- 401
{- "requireKyc": true
}
KYC questions
Gets a list of questions to ask the user in order to complete the "Know Your Customer" (KYC) questionnaire.
Authorizations:
account.base
account.base:read
query Parameters
lang | |
questionnaire | string Example: questionnaire=BASIC Which questionnaire questions to get |
Responses
Response Schema: application/json
id | integer Question ID |
questionnaire | string Which questionnaire the question belongs to |
question | string Stated question to present to the user |
Array of objects[ items ] Choice options to present to the user | |
questionVersion | integer Question version |
status | string Status for this question |
Response samples
- 200
- 401
[- {
- "id": 11,
- "questionnaire": "BASIC",
- "question": "Är du bosatt i ett annat land än Sverige?",
- "alternatives": [
- {
- "id": 1,
- "answer": "Nej",
- "textAnswerOption": false
}
], - "questionVersion": 1,
- "status": "waiting"
}
]
Answer KYC questionnaire
Submits the user's answers to the KYC questionnaire
Authorizations:
account.base
Request Body schema: application/json
questionnaire required | string Which questionnaire to answer |
required | Array of objects[ items ] Array of answers |
Responses
Request samples
- Payload
{- "questionnaire": "BASIC",
- "answers": [
- {
- "questionId": 0,
- "alternativeId": 1,
- "textAnswer": "Free text"
}
]
}
Response samples
- 400
- 401
{- "message": "You cannot place an order higher than your buy limit of 500 SEK",
- "status": 400,
- "code": "BUY_LIMIT_EXCEEDED"
}
Get user bank accounts
Get a list of all bank account the user has connected
Authorizations:
account.bank-account
account.bank-account:read
Responses
Response Schema: application/json
id | string <uuid> Bank account ID |
name | string Name of the account |
accountNumber | string Bank account number |
clearingNumber | string Clearing number |
currency | string Currency of the bank account |
bank | string Name of bank |
default | boolean If bank account is the default selected |
Response samples
- 200
- 401
[- {
- "id": "e6eb08e1-b966-4ee9-b43f-db83dd958479",
- "name": "Savings",
- "accountNumber": "123456789",
- "clearingNumber": "1234",
- "currency": "SEK",
- "bank": "SHB",
- "default": true
}
]
Add or update bank account
A unique bank account (clearing number + bank account number) can only be added once to a user. Adding the same bank account a second time will update the existing and return the same Bank Account ID.
Authorizations:
account.bank-account
Request Body schema: application/json
accountNumber required | string^(\d{7}|\d{11})$ Bank account number |
clearingNumber required | string^\d{4,5}$ Clearing number |
currency required | string Currency of the bank account |
name | string Name of the account |
Responses
Response Schema: application/json
id | string <uuid> Bank account ID |
name | string Name of the account |
accountNumber | string Bank account number |
clearingNumber | string Clearing number |
currency | string Currency of the bank account |
bank | string Name of bank |
default | boolean If bank account is the default selected |
Request samples
- Payload
{- "name": "Savings",
- "accountNumber": "123456789",
- "clearingNumber": "1234",
- "currency": "SEK"
}
Response samples
- 200
- 400
- 401
{- "id": "e6eb08e1-b966-4ee9-b43f-db83dd958479",
- "name": "Savings",
- "accountNumber": "123456789",
- "clearingNumber": "1234",
- "currency": "SEK",
- "bank": "SHB",
- "default": true
}
List orders
Gets a paginated list containing the user's orders history
Authorizations:
order
order:read
query Parameters
offset | integer Desired offset for pagination purposes |
Responses
Response Schema: application/json
offset | integer Offset value for pagination purposes |
size | integer Number of results returned |
total | integer Total number of orders for this user |
Array of objects (OrderRecord) [ items ] |
Response samples
- 200
- 400
- 401
{- "offset": 0,
- "size": 0,
- "total": 0,
- "data": [
- {
- "id": "AS0ZZHU",
- "created": "2022-01-27T11:29:20+0100",
- "approved": "2022-01-27T11:29:20+0100",
- "fiat": {
- "currency": "SEK",
- "amount": "510.00"
}, - "crypto": {
- "currency": "SEK",
- "amount": "510.00"
}, - "trade": {
- "pair": "BTC_USDC",
- "amount": {
- "amount": "0.10"
}, - "side": "buy",
- "type": "market",
- "price": "string",
- "clientId": "string"
}, - "feeRate": "0.05",
- "fee": {
- "currency": "SEK",
- "amount": "510.00"
}, - "discountFeeId": "eaf0c806-b614-4b1f-b94b-01e391191194",
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "receivedCrypto": {
- "currency": "SEK",
- "amount": "510.00"
}, - "sold": {
- "currency": "SEK",
- "amount": "510.00"
}, - "payout": {
- "currency": "SEK",
- "amount": "510.00"
}, - "status": "completed",
- "type": "sell",
- "paymentMethod": "klarna_bankgiro",
- "paymentDetails": {
- "property1": "string",
- "property2": "string"
}
}
]
}
Create buy order
Creates a new order to buy crypto currency using fiat money.
Upon creation, you can monitor the status of the order by calling Check order status.
Authorizations:
order
header Parameters
Source-IP-Address required | string Example: 192.168.0.1 IP Address of the originator of the request |
Source-User-Agent required | string Example: curl/7.37.0 User-Agent of the originator of the request |
Request Body schema: application/json
cryptoCurrency required | string Cryptocurrency code - one of BTC, ETH, LINK, MATIC, or DOT |
required | object (CurrencyAmount) |
paymentMethod required | string Payment method used - one of swish, klarna_bankgiro, klarna_sepa, credit_card, sepa, bank_transfer_dk, bank_transfer_se |
walletId | string <uuid> Wallet used in buy order. If not used the default wallet will be used instead |
object Additional payment details |
Responses
Response Schema: application/json
orderId required | string Identifier for the newly created order. Use it to check its status |
pollingUrl required | string <URL> URL to call to check the order status |
Request samples
- Payload
{- "cryptoCurrency": "BTC",
- "fiat": {
- "currency": "SEK",
- "amount": "510.00"
}, - "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "paymentMethod": "string",
- "paymentDetails": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
- 400
- 401
{- "orderId": "AS0ZZHU",
}
Create trade order
Creates a new trade order to exchange crypto.
Upon creation, you can monitor the status of the order by calling Check order status.
Authorizations:
order
header Parameters
Source-IP-Address required | string Example: 192.168.0.1 IP Address of the originator of the request |
Source-User-Agent required | string Example: curl/7.37.0 User-Agent of the originator of the request |
Request Body schema: application/json
pair required | string A trading pair symbol |
amount required | string Amount |
side required | string Enum: "buy" "sell" Order side |
type required | string Enum: "market" "limit" Order type |
clientId required | string Unique ID for this trade. |
price | string Limit price for limit orders |
walletId | string <uuid> Wallet used in trade order. If not used the default wallet will be used instead |
Responses
Response Schema: application/json
orderId required | string Identifier for the newly created order. Use it to check its status |
pollingUrl required | string <URL> URL to call to check the order status |
Request samples
- Payload
{- "pair": "BTC_USDC",
- "amount": {
- "amount": "0.10"
}, - "side": "buy",
- "type": "market",
- "price": "string",
- "clientId": "string",
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480"
}
Response samples
- 200
- 400
- 401
{- "orderId": "AS0ZZHU",
}
Cancel a trade order
Cancels a limit trade order.
Authorizations:
order
header Parameters
Source-IP-Address required | string Example: 192.168.0.1 IP Address of the originator of the request |
Source-User-Agent required | string Example: curl/7.37.0 User-Agent of the originator of the request |
Request Body schema: application/json
orderId required | string Order identifier. |
Responses
Request samples
- Payload
{- "orderId": "string"
}
Response samples
- 400
- 401
{- "message": "You cannot place an order higher than your buy limit of 500 SEK",
- "status": 400,
- "code": "BUY_LIMIT_EXCEEDED"
}
Create sell order
Creates an order to sell crypto currency and receive fiat money.
Upon creation, you can monitor the status of the order by calling Check order status.
Authorizations:
order
header Parameters
Source-IP-Address required | string Example: 192.168.0.1 IP Address of the originator of the request |
Source-User-Agent required | string Example: curl/7.37.0 User-Agent of the originator of the request |
Request Body schema: application/json
fiatCurrency required | string Currency to convert the crypto to - must be a well formed currency code, currently SEK only |
required | object (CurrencyAmount) |
bankAccountId | string <uuid> Legacy, bank account to use when creating a sell order. If not used the user default bank account will be used instead |
payoutMethod | string Payout method used - one of 'SE Bank transfer', 'Credit card', 'SEPA', 'SWIFT' |
object Additional payout details | |
walletId | string <uuid> Wallet used in sell order. If not used the default wallet will be used instead |
Responses
Response Schema: application/json
orderId required | string Identifier for the newly created order. Use it to check its status |
pollingUrl required | string <URL> URL to call to check the order status |
Request samples
- Payload
{- "fiatCurrency": "SEK",
- "crypto": {
- "currency": "SEK",
- "amount": "510.00"
}, - "bankAccountId": "5b26b598-a880-4e32-8c41-126aa0206857",
- "payoutMethod": "SE Bank transfer",
- "payoutDetails": {
- "property1": "string",
- "property2": "string"
}, - "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480"
}
Response samples
- 200
- 400
- 401
{- "orderId": "AS0ZZHU",
}
Check order status
Checks the status of an order. Used to monitor if a buy or sell order has been completed.
Authorizations:
order
order:read
path Parameters
orderId required | string Order identifier |
Responses
Response Schema: application/json
id | string Identifier for the order |
created | string <date-time> Order creation date in ISO 8601 format. |
approved | string <date-time> Order approval date in ISO 8601 format. |
object (CurrencyAmount) | |
object (CurrencyAmount) | |
object (TradeOrder) | |
feeRate | string Fee rate in percentage for the transaction |
object (CurrencyAmount) | |
discountFeeId | string <uuid> Discount fee UUID |
walletId | string <uuid> Wallet UUID |
object (CurrencyAmount) | |
object (CurrencyAmount) | |
object (CurrencyAmount) | |
status | string Order status. It can be one of the following:
|
type | any Enum: "buy" "sell" "trade" Order type |
paymentMethod | string Payment method used |
object Additional payment details |
Response samples
- 200
- 400
- 401
{- "id": "AS0ZZHU",
- "created": "2022-01-27T11:29:20+0100",
- "approved": "2022-01-27T11:29:20+0100",
- "fiat": {
- "currency": "SEK",
- "amount": "510.00"
}, - "crypto": {
- "currency": "SEK",
- "amount": "510.00"
}, - "trade": {
- "pair": "BTC_USDC",
- "amount": {
- "amount": "0.10"
}, - "side": "buy",
- "type": "market",
- "price": "string",
- "clientId": "string"
}, - "feeRate": "0.05",
- "fee": {
- "currency": "SEK",
- "amount": "510.00"
}, - "discountFeeId": "eaf0c806-b614-4b1f-b94b-01e391191194",
- "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "receivedCrypto": {
- "currency": "SEK",
- "amount": "510.00"
}, - "sold": {
- "currency": "SEK",
- "amount": "510.00"
}, - "payout": {
- "currency": "SEK",
- "amount": "510.00"
}, - "status": "completed",
- "type": "sell",
- "paymentMethod": "klarna_bankgiro",
- "paymentDetails": {
- "property1": "string",
- "property2": "string"
}
}
Wallet
Retrieves the user's wallet
Authorizations:
wallet
Responses
Response Schema: application/json
Array of objects (CurrencyAmount) [ items ] Current crypto holdings | |
created | string <date-time> Creation time in ISO 8601 format. |
Response samples
- 200
- 401
{- "balances": [
- {
- "currency": "SEK",
- "amount": "510.00"
}
], - "created": "2022-02-03T09:44:13.000Z"
}
Wallet performance
Retrieves the user's current wallet performance right now
Authorizations:
wallet
Responses
Response Schema: application/json
fiat | string Fiat currency |
object Individual performance for each crypto | |
object (WalletPerformanceCrypto) |
Response samples
- 200
- 401
{- "fiat": "string",
- "cryptos": {
- "BTC": {
- "amount": "1.0000000",
- "fiatValue": "11000.0",
- "performance": {
- "absoluteChange": "1000.0",
- "percentageChange": "0.1"
}
}
}, - "total": {
- "amount": "string",
- "fiatValue": "string",
- "performance": {
- "absoluteChange": "string",
- "percentageChange": "string"
}
}
}
Wallet performance history
Retrieves the user's wallet performance history. Each data point is one day at midnight UTC.
For example a data point at 2022-01-01 would mean what the performance was at 2022-01-01 00:00 UTC
Authorizations:
wallet
query Parameters
crypto required | Array of strings Example: crypto=BTC,ETH Cryptocurrency code |
timePeriod required | string Default: "ALL_TIME" Enum: "ALL_TIME" "THIS_YEAR" "THREE_YEARS" "ONE_YEAR" "THREE_MONTHS" "ONE_MONTH" "ONE_WEEK" "CUSTOM" Time period to get performance history. |
fiat | string Default: "SEK" Fiat currency |
start | string <date> Start date if timePeriod is CUSTOM |
end | string <date> End date if timePeriod is CUSTOM |
performanceSince | string <date> Date where to calculate the performance from. Default to wallet creation date when timePeriod is CUSTOM or the first date on all other time periods |
Responses
Response Schema: application/json
start | string <date> |
end | string <date> |
performanceSince | string <date> |
fiat | string Fiat currency |
timePeriod | string |
Array of objects (WalletPerformanceHistoryDataPoint) [ items ] Data points |
Response samples
- 200
- 401
{- "start": "2019-08-24",
- "end": "2019-08-24",
- "performanceSince": "2019-08-24",
- "fiat": "string",
- "timePeriod": "string",
- "data": [
- {
- "date": "2019-08-24",
- "assetValues": [
- {
- "crypto": "string",
- "amount": "string",
- "fiatValue": "string",
- "percentageChange": "string",
- "absoluteChange": "string"
}
], - "combined": {
- "fiatValue": "string",
- "percentageChange": "string",
- "absoluteChange": "string"
}
}
]
}
Verify compliance status for a sell operation
Verify the compliance status for a sell operation
Authorizations:
order
Request Body schema: application/json
fiatCurrency required | string Currency to convert the crypto to - must be a well formed currency code, currently SEK only |
required | object (CurrencyAmount) |
bankAccountId | string <uuid> Legacy, bank account to use when creating a sell order. If not used the user default bank account will be used instead |
payoutMethod | string Payout method used - one of 'SE Bank transfer', 'Credit card', 'SEPA', 'SWIFT' |
object Additional payout details | |
walletId | string <uuid> Wallet used in sell order. If not used the default wallet will be used instead |
Responses
Response Schema: application/json
decision | string Describes the outcome of the compliance assessment (ACCEPT or REJECT) |
Array of objects (ComplianceRejection) [ items ] A list of reasons for the rejection (if any) |
Request samples
- Payload
{- "fiatCurrency": "SEK",
- "crypto": {
- "currency": "SEK",
- "amount": "510.00"
}, - "bankAccountId": "5b26b598-a880-4e32-8c41-126aa0206857",
- "payoutMethod": "SE Bank transfer",
- "payoutDetails": {
- "property1": "string",
- "property2": "string"
}, - "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480"
}
Response samples
- 200
[- {
- "decision": "ACCEPT",
- "rejections": [
- {
- "reason": "KYC",
- "code": "BASIC"
}, - {
- "reason": "EMAIL",
- "code": "NOT_VERIFIED"
}, - {
- "reason": "TERMS",
- "code": "NOT_UP_TO_DATE"
}, - "..."
]
}
]
Verify compliance status for a buy operation
Verify the compliance status for a buy operation
Authorizations:
order
Request Body schema: application/json
cryptoCurrency required | string Cryptocurrency code - one of BTC, ETH, LINK, MATIC, or DOT |
required | object (CurrencyAmount) |
paymentMethod required | string Payment method used - one of swish, klarna_bankgiro, klarna_sepa, credit_card, sepa, bank_transfer_dk, bank_transfer_se |
walletId | string <uuid> Wallet used in buy order. If not used the default wallet will be used instead |
object Additional payment details |
Responses
Response Schema: application/json
decision | string Describes the outcome of the compliance assessment (ACCEPT or REJECT) |
Array of objects (ComplianceRejection) [ items ] A list of reasons for the rejection (if any) |
Request samples
- Payload
{- "cryptoCurrency": "BTC",
- "fiat": {
- "currency": "SEK",
- "amount": "510.00"
}, - "walletId": "0ecad4a2-3549-43fb-807e-9ff033247480",
- "paymentMethod": "string",
- "paymentDetails": {
- "property1": "string",
- "property2": "string"
}
}
Response samples
- 200
[- {
- "decision": "ACCEPT",
- "rejections": [
- {
- "reason": "KYC",
- "code": "BASIC"
}, - {
- "reason": "EMAIL",
- "code": "NOT_VERIFIED"
}, - {
- "reason": "TERMS",
- "code": "NOT_UP_TO_DATE"
}, - "..."
]
}
]