Account

A Tatum Account is the primary building block of Tatum-powered applications. It is an envelope that holds essential information about balances, the state of the account or customer, and to whom the account belongs.

Accounts in Tatum are stored within Tatum Private Ledger. Tatum Private Ledger contains information about accounts, the customers that own the accounts, transactions that affect the accounts or virtual currencies present in the ledger.

By default, the private ledger is not connected to any blockchain. It is possible to create an application on it without any blockchain at all. Using Tatum Private Ledger and the building blocks included within it, it is possible to quickly swap the whole application from the ledger to any blockchain supported by Tatum. All of the API calls will remain the same, the only thing that changes is the blockchain the application lives on.

Most blockchains do not have any compliance layer at all. It is not possible to freeze funds at a blockchain address or deactivate an address. The Tatum Account has built-in compliance, and it is possible to block funds in the account, freeze outgoing transactions from the account or even completely deactivate the account.

Create a virtual account

2 credits per API call

Create a new virtual account for a customer.

  • If the customer that you specified in the request body already exists, the newly created virtual account is added to this customer's list of accounts.
  • If the customer that you specified in the request body does not exist yet, a new customer is created together with the virtual account, and the virtual account is added to this customer.

You can create a virtual account for any supported cryptocurrency, fiat currency, Tatum virtual currency, or fungible tokens created within Tatum. Once the currency/asset is set for a virtual account, it cannot be changed.

Virtual account balance

A virtual account has its own balance. The balance can be logically presented by the account balance and available balance:

  • The account balance (accountBalance) represents all assets on the account, both available and blocked.
  • The available balance (availableBalance) represents the account balance minus the blocked assets. Use the available balance to determine how much a customer can send or withdraw from their virtual account.

Cryptocurrency virtual accounts

When you create a virtual account based on a cryptocurrency (for example, BTC or ETH), you have to provide the extended public key (xpub) of the blockchain wallet that will be connected to this account.

NOTE: Adding xpub to the virtual account does not connect any specific blockchain address to this account. xpub is a generator of addresses, not an address itself.

Not all blockchains provide xpub for wallets, or Tatum may not support wallets on some blockchains. In such cases, use the wallet address or the account address instead.

Connect a virtual account to the blockchain

You can connect multiple blockchain addresses to one virtual account.

Digital assets:

  • USDC_MATIC refers to contract 0x2791bca1f2de4661ed88a30c99a7a9449aa84174 on Polygon mainnet.
  • USDC_MATIC_NATIVE refers to contract 0x3c499c542cef5e3811e1192ce70d8cc03d5c3359 on Polygon mainnet.
SecurityX-API-Key
Request
Request Body schema: application/json
required
One of:
currency
required
string [ 2 .. 40 ] characters

The currency for the virtual account

  • Native blockchain assets: ALGO, BCH, BNB, BSC, BTC, CELO, DOGE, EGLD, ETH, FLOW, KCS, KLAY, LTC, MATIC, ONE, SOL, TRON, VET, XDC, XLM, XRP
  • Digital assets: BADA, BAT, BBCH, BBTC, BDOT, BETH, BLTC, BUSD, BUSD_BSC, BXRP, CAKE, FREE, GMC, LEO, LINK, MKR, MMY, PAX, PAXG, TUSD, UNI, USD_BSC, USDC, USDC_MATIC, USDC_MATIC_NATIVE, USDT, USDT_TRON, WBNB, WBTC, XCON
  • Virtual currency registered on the Tatum platform and starting with the "VC_" prefix
  • BNB assets, XLM assets, and XRP assets created via the Tatum platform
  • Custom fungible tokens (ERC-20 or equivalent, such as BEP-20 or TRC-10/20) registered on the Tatum platform; for more information, see our user documentation
    The fungible tokens do not have direct faucets on the testnet. To use them in a testnet environment, you have to register a new fungible token in a virtual account (use this API for TRON TRC-10/20 tokens and this API for any other tokens) and make sure that your tokens minted on the testnet are linked to the token smart contract.
xpub
required
string [ 1 .. 192 ] characters

Extended public key to generate addresses from.

object (CustomerRegistration)

If a customer with the specified external ID does not exist, a new customer is created. If a customer with the specified external ID exists, it is updated with the provided information.

externalId
required
string [ 1 .. 100 ] characters

The external ID of the customer; use only anonymized identification that you have in your system
If a customer with the specified external ID does not exist, a new customer is created. If a customer with the specified external ID exists, it is updated with the provided information.

accountingCurrency
string (FiatCurrency)
Default: "EUR"

The ISO 4217 code of the currency in which all transactions for all virtual accounts of the customer will be billed; to overwrite the currency for this specific virtual account, set the accountingCurrency parameter at the account level.

Enum: "AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BRL" "BSD" "BTN" "BWP" "BYN" "BYR" "BZD" "CAD" "CDF" "CHF" "CLF" "CLP" "CNY" "COP" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DOGE" "DZD" "EGP" "ERN" "ETB" "ETH" "EUR" "FJD" "FKP" "FLOW" "FUSD" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LTL" "LVL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRO" "MUR" "MVR" "MWK" "MXN" "MYR" "MZN" "NAD" "NGN" "NIO" "NOK" "NPR" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SOS" "SRD" "STD" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TWD" "TZS" "UAH" "UGX" "USD" "UYU" "UZS" "VEF" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XCD" "XDR" "XOF" "XPF" "YER" "ZAR" "ZMK" "ZMW" "ZWL"
customerCountry
string = 2 characters

The ISO 3166-1 code of the country that the customer has to be compliant with

providerCountry
string = 2 characters

The ISO 3166-1 code of the country that the service provider has to be compliant with

compliant
boolean

Enable compliant checks. If this is enabled, it is impossible to create account if compliant check fails.

accountCode
string [ 1 .. 50 ] characters

For bookkeeping to distinct account purpose.

accountingCurrency
string (FiatCurrency)

All transaction will be accounted in this currency for all accounts. Currency can be overridden per account level. If not set, customer accountingCurrency is used or EUR by default. ISO-4217

Enum: "AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BRL" "BSD" "BTN" "BWP" "BYN" "BYR" "BZD" "CAD" "CDF" "CHF" "CLF" "CLP" "CNY" "COP" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DOGE" "DZD" "EGP" "ERN" "ETB" "ETH" "EUR" "FJD" "FKP" "FLOW" "FUSD" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LTL" "LVL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRO" "MUR" "MVR" "MWK" "MXN" "MYR" "MZN" "NAD" "NGN" "NIO" "NOK" "NPR" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SOS" "SRD" "STD" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TWD" "TZS" "UAH" "UGX" "USD" "UYU" "UZS" "VEF" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XCD" "XDR" "XOF" "XPF" "YER" "ZAR" "ZMK" "ZMW" "ZWL"
accountNumber
string [ 1 .. 50 ] characters

Account number from external system.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

post/v3/ledger/account
Request samples
application/json
{
  • "currency": "BTC",
  • "xpub": "xpub6EsCk1uU6cJzqvP9CdsTiJwT2rF748YkPnhv5Qo8q44DG7nn2vbyt48YRsNSUYS44jFCW9gwvD9kLQu9AuqXpTpM1c5hgg9PsuBLdeNncid"
}
Response samples
application/json
{
  • "id": "5e68c66581f2ee32bc354087",
  • "balance": {
    },
  • "currency": "BTC",
  • "frozen": false,
  • "active": true,
  • "customerId": "5e68c66581f2ee32bc354087",
  • "accountNumber": "123456",
  • "accountCode": "03_ACC_01",
  • "accountingCurrency": "EUR",
  • "xpub": "xpub6FB4LJzdKNkkpsjggFAGS2p34G48pqjtmSktmK2Ke3k1LKqm9ULsg8bGfDakYUrdhe2EHw5uGKX9DrMbrgYnVfDwrksT4ZVQ3vmgEruo3Ka"
}

List all accounts

1 credit per API call.


Lists all accounts. Inactive accounts are also visible.

SecurityX-API-Key
Request
query Parameters
pageSize
number [ 1 .. 50 ]

Max number of items per page is 50.

Example: pageSize=20
page
number

Page number

Example: page=0
sort
string

Direction of sorting. Can be asc or desc

Enum: "asc" "desc"
Example: sort=asc
sortBy
string

Sort by

Enum: "id" "account_number" "account_balance" "available_balance"
Example: sortBy=id
active
boolean

Filter only active or non active accounts

Example: active=true
onlyNonZeroBalance
boolean

Filter only accounts with non zero balances

Example: onlyNonZeroBalance=true
frozen
boolean

Filter only frozen or non frozen accounts

Example: frozen=true
currency
string

Filter by currency

Example: currency=BTC
accountNumber
string [ 1 .. 50 ] characters

Filter by account number

Example: accountNumber=AC_1011_B
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server while processing the request.

get/v3/ledger/account
Request samples
Response samples
application/json
[
  • {
    }
]

Count of found entities for get accounts request

1 credit per API call.


Count of accounts that were found from /v3/ledger/account

SecurityX-API-Key
Request
query Parameters
pageSize
number [ 1 .. 50 ]

Max number of items per page is 50.

Example: pageSize=20
page
number

Page number

Example: page=0
sort
string

Direction of sorting. Can be asc or desc

Enum: "asc" "desc"
sortBy
string

Sort by

Enum: "_id" "account_number" "account_balance" "available_balance"
Example: sortBy=_id
active
boolean

Filter only active or non active accounts

Example: active=true
onlyNonZeroBalance
boolean

Filter only accounts with non zero balances

Example: onlyNonZeroBalance=true
frozen
boolean

Filter only frozen or non frozen accounts

Example: frozen=true
currency
string

Filter by currency

Example: currency=BTC
accountNumber
string [ 1 .. 50 ] characters

Filter by account number

Example: accountNumber=AC_1011_B
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server while processing the request.

get/v3/ledger/account/count
Request samples
Response samples
application/json
{
  • "total": 20
}

Create multiple accounts in a batch call

2 credits per API call + 1 credit for every account created.


Creates new accounts for the customer in a batch call.

SecurityX-API-Key
Request
Request Body schema: application/json
required
required
Array of objects (CreateAccount)
Array
currency
required
string [ 2 .. 40 ] characters

The currency for the virtual account

  • Native blockchain assets: ALGO, BCH, BNB, BSC, BTC, CELO, DOGE, EGLD, ETH, FLOW, KCS, KLAY, LTC, MATIC, ONE, SOL, TRON, VET, XDC, XLM, XRP
  • Digital assets: BADA, BAT, BBCH, BBTC, BDOT, BETH, BLTC, BUSD, BUSD_BSC, BXRP, CAKE, FREE, GMC, LEO, LINK, MKR, MMY, PAX, PAXG, TUSD, UNI, USD_BSC, USDC, USDC_MATIC, USDC_MATIC_NATIVE, USDT, USDT_TRON, WBNB, WBTC, XCON
  • Virtual currency registered on the Tatum platform and starting with the "VC_" prefix
  • BNB assets, XLM assets, and XRP assets created via the Tatum platform
  • Custom fungible tokens (ERC-20 or equivalent, such as BEP-20 or TRC-10/20) registered on the Tatum platform; for more information, see our user documentation
    The fungible tokens do not have direct faucets on the testnet. To use them in a testnet environment, you have to register a new fungible token in a virtual account (use this API for TRON TRC-10/20 tokens and this API for any other tokens) and make sure that your tokens minted on the testnet are linked to the token smart contract.
object (CustomerRegistration)

If a customer with the specified external ID does not exist, a new customer is created. If a customer with the specified external ID exists, it is updated with the provided information.

compliant
boolean

Enable compliant checks. If this is enabled, it is impossible to create account if compliant check fails.

accountCode
string [ 1 .. 50 ] characters

For bookkeeping to distinct account purpose.

accountingCurrency
string (FiatCurrency)

All transaction will be accounted in this currency for all accounts. Currency can be overridden per account level. If not set, customer accountingCurrency is used or EUR by default. ISO-4217

Enum: "AED" "AFN" "ALL" "AMD" "ANG" "AOA" "ARS" "AUD" "AWG" "AZN" "BAM" "BBD" "BDT" "BGN" "BHD" "BIF" "BMD" "BND" "BOB" "BRL" "BSD" "BTN" "BWP" "BYN" "BYR" "BZD" "CAD" "CDF" "CHF" "CLF" "CLP" "CNY" "COP" "CRC" "CUC" "CUP" "CVE" "CZK" "DJF" "DKK" "DOP" "DOGE" "DZD" "EGP" "ERN" "ETB" "ETH" "EUR" "FJD" "FKP" "FLOW" "FUSD" "GBP" "GEL" "GGP" "GHS" "GIP" "GMD" "GNF" "GTQ" "GYD" "HKD" "HNL" "HRK" "HTG" "HUF" "IDR" "ILS" "IMP" "INR" "IQD" "IRR" "ISK" "JEP" "JMD" "JOD" "JPY" "KES" "KGS" "KHR" "KMF" "KPW" "KRW" "KWD" "KYD" "KZT" "LAK" "LBP" "LKR" "LRD" "LSL" "LTL" "LVL" "LYD" "MAD" "MDL" "MGA" "MKD" "MMK" "MNT" "MOP" "MRO" "MUR" "MVR" "MWK" "MXN" "MYR" "MZN" "NAD" "NGN" "NIO" "NOK" "NPR" "NZD" "OMR" "PAB" "PEN" "PGK" "PHP" "PKR" "PLN" "PYG" "QAR" "RON" "RSD" "RUB" "RWF" "SAR" "SBD" "SCR" "SDG" "SEK" "SGD" "SHP" "SLL" "SOS" "SRD" "STD" "SVC" "SYP" "SZL" "THB" "TJS" "TMT" "TND" "TOP" "TRY" "TTD" "TWD" "TZS" "UAH" "UGX" "USD" "UYU" "UZS" "VEF" "VND" "VUV" "WST" "XAF" "XAG" "XAU" "XCD" "XDR" "XOF" "XPF" "YER" "ZAR" "ZMK" "ZMW" "ZWL"
accountNumber
string [ 1 .. 50 ] characters

Account number from external system.

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

post/v3/ledger/account/batch
Request samples
application/json
{
  • "accounts": [
    ]
}
Response samples
application/json
[
  • {
    }
]

List all customer accounts

1 credit per API call.


Lists all accounts associated with a customer. Only active accounts are visible.

SecurityX-API-Key
Request
path Parameters
id
required
string

Internal customer ID

Example: 5e68c66581f2ee32bc354087
query Parameters
pageSize
required
number [ 1 .. 50 ]

Max number of items per page is 50.

Example: pageSize=10
offset
number

Offset to obtain the next page of data.

Example: offset=0
accountCode
string [ 1 .. 50 ] characters

For bookkeeping to distinct account purpose.

Example: accountCode=AC_1011_B
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server while processing the request.

get/v3/ledger/account/customer/{id}
Request samples
Response samples
application/json
[
  • {
    }
]

Get account by ID

1 credit per API call.


Gets active account by ID. Displays all information regarding the given account.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e68c66581f2ee32bc354087
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

get/v3/ledger/account/{id}
Request samples
Response samples
application/json
{
  • "id": "5e68c66581f2ee32bc354087",
  • "balance": {
    },
  • "currency": "BTC",
  • "frozen": false,
  • "active": true,
  • "customerId": "5e68c66581f2ee32bc354087",
  • "accountNumber": "123456",
  • "accountCode": "03_ACC_01",
  • "accountingCurrency": "EUR",
  • "xpub": "xpub6FB4LJzdKNkkpsjggFAGS2p34G48pqjtmSktmK2Ke3k1LKqm9ULsg8bGfDakYUrdhe2EHw5uGKX9DrMbrgYnVfDwrksT4ZVQ3vmgEruo3Ka"
}

Update account

2 credits per API call.


Update account by ID. Only a small number of fields can be updated.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e68c66581f2ee32bc354087
Request Body schema: application/json
required
accountCode
string [ 1 .. 50 ] characters

For bookkeeping to distinct account purpose.

accountNumber
string [ 1 .. 50 ] characters

Account number from external system.

Responses
204

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

put/v3/ledger/account/{id}
Request samples
application/json
{ }
Response samples
application/json
{
  • "errorCode": "validation.failed",
  • "message": "Request validation failed. Please see data for additional information.",
  • "statusCode": 400,
  • "data": [
    ]
}

Get account balance

1 credit per API call.


Get balance for the account.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e68c66581f2ee32bc354087
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

get/v3/ledger/account/{id}/balance
Request samples
Response samples
application/json
{
  • "accountBalance": "1000000",
  • "availableBalance": "1000000"
}

Block an amount in an account

2 credits per API call.


Blocks an amount in an account. Any number of distinct amounts can be blocked in one account. Every new blockage has its own distinct ID, which is used as a reference. When the amount is blocked, it is debited from the available balance of the account. The account balance remains the same. The account balance represents the total amount of funds in the account. The available balance represents the total amount of funds that can be used to perform transactions. When an account is frozen, the available balance is set to 0 minus all blockages for the account.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e6be89ee6aa436299950c3f
Request Body schema: application/json
required
amount
required
string <= 38 characters ^[+]?((\d+(\.\d*)?)|(\.\d+))$

The amount to be blocked on the account

type
required
string [ 1 .. 100 ] characters

The type of the blockage that you are applying; can be a code or an identifier from an external system or a short description of the blockage

description
string [ 1 .. 300 ] characters

The description of the blockage that you are applying

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

post/v3/ledger/account/block/{id}
Request samples
application/json
{
  • "amount": "5",
  • "type": "DEBIT_CARD_OP"
}
Response samples
application/json
{
  • "id": "5e68c66581f2ee32bc354087"
}

Unblock an amount in an account and perform a transaction

2 credits per API call.


Unblocks a previously blocked amount in an account and invokes a ledger transaction from that account to a different recipient. If the request fails, the amount is not unblocked.

SecurityX-API-Key
Request
path Parameters
id
required
string

Blockage ID

Example: 5e6be89ee6aa436299950c3f
Request Body schema: application/json
required
recipientAccountId
required
string = 24 characters

Internal recipient account ID within Tatum platform

amount
required
string <= 38 characters ^[+]?((\d+(\.\d*)?)|(\.\d+))$

Amount to be sent. Amount can be smaller then the blocked amount.

anonymous
boolean
Default: false

Anonymous transaction does not show sender account to recipient, default is false

compliant
boolean

Enable compliant checks. Transaction will not be processed, if compliant check fails.

transactionCode
string [ 1 .. 100 ] characters

For bookkeeping to distinct transaction purpose.

paymentId
string [ 1 .. 100 ] characters

Payment ID, External identifier of the payment, which can be used to pair transactions within Tatum accounts.

recipientNote
string [ 1 .. 500 ] characters

Note visible to both, sender and recipient

baseRate
number >= 0
Default: 1

Exchange rate of the base pair. Only applicable for Tatum's Virtual currencies Ledger transactions. Override default exchange rate for the Virtual Currency.

senderNote
string [ 1 .. 500 ] characters

Note visible to sender

Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

put/v3/ledger/account/block/{id}
Request samples
application/json
{
  • "recipientAccountId": "5e6645712b55823de7ea82f2",
  • "amount": "5"
}
Response samples
application/json
{
  • "reference": "0c64cc04-5412-4e57-a51c-ee5727939bcb"
}

Unblock a blocked amount in an account

1 credit per API call.


Unblocks a previously blocked amount in an account. Increases the available balance in the account where the amount was blocked.

SecurityX-API-Key
Request
path Parameters
id
required
string

Blockage ID

Example: 5e6be89ee6aa436299950c3f
Responses
204

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server while processing the request.

delete/v3/ledger/account/block/{id}
Request samples
Response samples
application/json
{
  • "errorCode": "validation.failed",
  • "message": "Request validation failed. Please see data for additional information.",
  • "statusCode": 400,
  • "data": [
    ]
}

Get blocked amounts in an account

1 credit per API call.


Gets blocked amounts for an account.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e6be89ee6aa436299950c3f
query Parameters
pageSize
required
number [ 1 .. 50 ]

Max number of items per page is 50.

Example: pageSize=10
offset
number

Offset to obtain the next page of data.

Example: offset=0
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server while processing the request.

get/v3/ledger/account/block/{id}
Request samples
Response samples
application/json
[
  • {
    }
]

Get blocked amount by ID

1 credit per API call.


Gets blocked amount by id.

SecurityX-API-Key
Request
path Parameters
id
required
string

Blocked amount ID

Example: 5e6be89ee6aa436299950c3f
Responses
200

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

500

Internal server error. There was an error on the server while processing the request.

get/v3/ledger/account/block/{id}/detail
Request samples
Response samples
application/json
{
  • "id": "5e68c66581f2ee32bc354087",
  • "accountId": "5e68c66581f2ee32bc354087",
  • "amount": "5",
  • "type": "DEBIT_CARD_OP",
  • "description": "Card payment in the shop."
}

Unblock all blocked amounts in an account

1 credit per API call, 1 credit for each deleted blockage. 1 API call + 2 blockages = 3 credits.


Unblocks previously blocked amounts in an account. Increases the available balance in the account where the amount was blocked.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e6be89ee6aa436299950c3f
Responses
204

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

delete/v3/ledger/account/block/account/{id}
Request samples
Response samples
application/json
{
  • "errorCode": "validation.failed",
  • "message": "Request validation failed. Please see data for additional information.",
  • "statusCode": 400,
  • "data": [
    ]
}

Activate account

2 credits per API call.


Activates an account.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e68c66581f2ee32bc354087
Responses
204

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due a to logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

put/v3/ledger/account/{id}/activate
Request samples
Response samples
application/json
{
  • "errorCode": "validation.failed",
  • "message": "Request validation failed. Please see data for additional information.",
  • "statusCode": 400,
  • "data": [
    ]
}

Deactivate account

2 credits per API call.


Deactivates an account. Only accounts with account and available balances of zero can be deactivated. Deactivated accounts are not visible in the list of accounts, it is not possible to send funds to these accounts or perform transactions. However, they are still present in the ledger and all transaction histories.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e68c66581f2ee32bc354087
Responses
204

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

put/v3/ledger/account/{id}/deactivate
Request samples
Response samples
application/json
{
  • "errorCode": "validation.failed",
  • "message": "Request validation failed. Please see data for additional information.",
  • "statusCode": 400,
  • "data": [
    ]
}

Freeze account

2 credits per API call.


Disables all outgoing transactions. Incoming transactions to the account are available. When an account is frozen, its available balance is set to 0. This operation will create a new blockage of type ACCOUNT_FROZEN, which is automatically deleted when the account is unfrozen.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e68c66581f2ee32bc354087
Responses
204

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

put/v3/ledger/account/{id}/freeze
Request samples
Response samples
application/json
{
  • "errorCode": "validation.failed",
  • "message": "Request validation failed. Please see data for additional information.",
  • "statusCode": 400,
  • "data": [
    ]
}

Unfreeze account

2 credits per API call.


Unfreezes a previously frozen account. Unfreezing a non-frozen account not affect the account.

SecurityX-API-Key
Request
path Parameters
id
required
string

Account ID

Example: 5e68c66581f2ee32bc354087
Responses
204

OK

400

Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.

401

Unauthorized. Not valid or inactive subscription key present in the HTTP Header.

403

Forbidden. The request is authenticated, but it is not possible to perform the required operation due to a logical error or invalid permissions.

500

Internal server error. There was an error on the server while processing the request.

put/v3/ledger/account/{id}/unfreeze
Request samples
Response samples
application/json
{
  • "errorCode": "validation.failed",
  • "message": "Request validation failed. Please see data for additional information.",
  • "statusCode": 400,
  • "data": [
    ]
}