Skip to content

Errors ​

Errors return a JSON body with a code and a message, and an HTTP status that matches the code. Most endpoints use a numeric code:

json
{ "code": -93, "message": "Unauthorized" }

When a request body fails validation, validationErrors.errors lists each failing field with a message. Endpoints under /v2/payments can also return errors from the payments service, which use a text code:

json
{ "code": "NOT_FOUND", "message": "Resource not found." }

An unexpected failure returns HTTP 500 with "message": "Unknown Error"; quote the code to VALR support. Codes shown with {placeholders} in their message include a value that depends on your account or configuration.

Common to all signed endpoints ​

Authentication and authorisation. Any endpoint that takes an API key can return these; public endpoints can't.

HTTPCodeNameWhen
400-11268API_KEY_API_KEY_HEADER_MISSINGThe X-VALR-API-KEY header is missing.
400-11269API_KEY_SIGNATURE_HEADER_MISSINGThe X-VALR-SIGNATURE header is missing.
400-11270API_KEY_TIMESTAMP_HEADER_MISSING_OR_INVALIDThe X-VALR-TIMESTAMP header is missing or isn't a Unix timestamp in milliseconds.
400-11258API_KEY_REQUEST_TIMESTAMP_TOO_EARLYThe timestamp is too far in the past. Sign each request just before sending it.
400-11259API_KEY_MESSAGE_TIMESTAMP_EXPIREDThe timestamp is too far in the future. Check your clock.
401-11264API_KEY_INVALIDThe API key doesn't exist or has been revoked.
401-11252API_KEY_INVALID_SIGNATUREThe signature doesn't match the request. Check the signed string: timestamp, method, path with query, body and sub-account ID.
401-11272API_KEY_IP_NOT_WHITELISTEDThe request came from an IP address outside the key's allowed list.
401-93UNAUTHORIZEDThe key isn't allowed to make this request: none of its bundles grants this endpoint's permission, the account isn't in the key's scope, the endpoint must be called on the primary account (don't send X-VALR-SUB-ACCOUNT-ID) or with a key that isn't restricted to sub-accounts, or institution keys are temporarily unavailable.
403-11277API_KEY_ENDPOINT_NOT_ALLOWEDThe key's allowed-endpoints list doesn't include this endpoint.
500-11257API_KEY_REQUEST_BLACKLISTEDThis exact signed request has already been used. Each signature is accepted once.

GET /v2/wallet/fiat/{currency}/payment/references/{referenceCode} ​

Get a deposit reference. Endpoint reference

HTTPCodeNameWhen
404-15114UNIQUE_DEPOSIT_REFERENCE_NOT_FOUNDNo reference with this code exists on your account.
503-15117UNIQUE_DEPOSIT_REFERENCES_FEATURE_DISABLEDDeposit references are temporarily unavailable.

DELETE /v2/wallet/fiat/{currency}/payment/references/{referenceCode} ​

Delete a deposit reference. Endpoint reference

HTTPCodeNameWhen
404-15114UNIQUE_DEPOSIT_REFERENCE_NOT_FOUNDNo reference with this code exists on your account.
503-15117UNIQUE_DEPOSIT_REFERENCES_FEATURE_DISABLEDDeposit references are temporarily unavailable.

PUT /v2/wallet/fiat/{currency}/payment/references/{referenceCode} ​

Update a deposit reference. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
404-15114UNIQUE_DEPOSIT_REFERENCE_NOT_FOUNDNo reference with this code exists on your account.
503-15117UNIQUE_DEPOSIT_REFERENCES_FEATURE_DISABLEDDeposit references are temporarily unavailable.

POST /v2/wallet/fiat/{currency}/payment/references ​

Create a deposit reference. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400-15721SCOPED_DEPOSIT_ACCOUNT_CURRENCY_MISMATCHYour collections account doesn't support this currency.
429-15116UNIQUE_DEPOSIT_REFERENCE_RATE_LIMIT_EXCEEDEDYou've reached the daily limit for creating references.
429-15119UNIQUE_DEPOSIT_REFERENCE_OVERALL_LIMIT_EXCEEDEDYou've reached the maximum number of references.
503-15117UNIQUE_DEPOSIT_REFERENCES_FEATURE_DISABLEDDeposit references are temporarily unavailable.

GET /v2/wallet/fiat/{currency}/payment/references ​

List deposit references. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTmatched isn't true or false, skip or limit isn't a whole number, query, name or email is empty or too long, or the currency isn't recognised.
400-15721SCOPED_DEPOSIT_ACCOUNT_CURRENCY_MISMATCHYour collections account doesn't support this currency.
503-15117UNIQUE_DEPOSIT_REFERENCES_FEATURE_DISABLEDDeposit references are temporarily unavailable.

GET /v1/account/balances ​

Get balances. Endpoint reference

No endpoint-specific errors; see the common errors above.

GET /v2/payments/bulk-withdrawals/batches/{id} ​

Get a disbursement batch. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe batch ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo batch with this ID exists on your account.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v1/webhooks ​

List webhooks. Endpoint reference

No endpoint-specific errors; see the common errors above.

POST /v1/webhooks ​

Create a webhook. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400-18122WEBHOOK_SUBSCRIPTION_LIMIT_REACHEDYour business already has the maximum number of webhooks. Delete one you no longer need, then try again.

DELETE /v1/webhooks/{id} ​

Delete a webhook. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe webhook ID isn't a valid UUID, or the Content-Type: application/json header is missing.
404-18121WEBHOOK_SUBSCRIPTION_NOT_FOUNDNo webhook with this ID exists for your business.

GET /v1/webhooks/{id} ​

Get a webhook. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe webhook ID isn't a valid UUID.
404-18121WEBHOOK_SUBSCRIPTION_NOT_FOUNDNo webhook with this ID exists for your business.

PUT /v1/webhooks/{id} ​

Update a webhook. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
404-18121WEBHOOK_SUBSCRIPTION_NOT_FOUNDNo webhook with this ID exists for your business.

GET /v1/webhooks/{id}/deliveries ​

List webhook delivery attempts. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe webhook ID isn't a valid UUID, skip or limit isn't an integer, or limit is more than 100.
404-18121WEBHOOK_SUBSCRIPTION_NOT_FOUNDNo webhook with this ID exists for your business.

GET /v1/webhooks/{id}/events/{eventId} ​

Get a webhook event. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe webhook ID or event ID isn't a valid UUID.
404-18121WEBHOOK_SUBSCRIPTION_NOT_FOUNDNo webhook with this ID exists for your business.
404-18123WEBHOOK_EVENT_NOT_FOUNDThis webhook hasn't sent an event with this ID.

GET /v1/webhooks/event-types ​

List webhook event types. Endpoint reference

No endpoint-specific errors; see the common errors above.

POST /v2/wallet/fiat/{currency}/payment/bulk-references ​

Create deposit references in bulk. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400-15121BULK_DEPOSIT_REFERENCE_BATCH_TOO_LARGEsenders has more payers than a single batch allows. Split them into smaller batches.
400-15721SCOPED_DEPOSIT_ACCOUNT_CURRENCY_MISMATCHYour collections account doesn't support this currency.
400-15123BULK_DEPOSIT_REFERENCE_INVALID_SENDERAn entry in senders is null, a payer's name or email is missing or invalid, or their expected amount isn't a number greater than zero; the message identifies up to three such payers by their position in senders, and no job is created.
409-15124BULK_DEPOSIT_REFERENCE_JOB_IN_PROGRESSAn earlier bulk job is still processing. Wait for it to finish, then try again.
429-15119UNIQUE_DEPOSIT_REFERENCE_OVERALL_LIMIT_EXCEEDEDThe batch would take you past the maximum number of references. Delete references you no longer need or submit fewer payers.
429-15116UNIQUE_DEPOSIT_REFERENCE_RATE_LIMIT_EXCEEDEDThe batch would take you past the daily limit for creating references. Submit fewer payers or try again tomorrow.
503-15120BULK_DEPOSIT_REFERENCE_FEATURE_DISABLEDBulk deposit references are temporarily unavailable.

GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId} ​

Get a bulk reference job. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe job ID isn't a whole number, or the currency isn't recognised.
400-15721SCOPED_DEPOSIT_ACCOUNT_CURRENCY_MISMATCHYour collections account doesn't support this currency.
404-15122BULK_DEPOSIT_REFERENCE_JOB_NOT_FOUNDNo bulk job with this ID exists on your account for this currency.
503-15120BULK_DEPOSIT_REFERENCE_FEATURE_DISABLEDBulk deposit references are temporarily unavailable.

GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}/items ​

List bulk reference job items. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe job ID, skip or limit isn't a whole number, status isn't PENDING, SUCCESS or FAILED, or the currency isn't recognised.
400-15721SCOPED_DEPOSIT_ACCOUNT_CURRENCY_MISMATCHYour collections account doesn't support this currency.
404-15122BULK_DEPOSIT_REFERENCE_JOB_NOT_FOUNDNo bulk job with this ID exists on your account for this currency.
503-15120BULK_DEPOSIT_REFERENCE_FEATURE_DISABLEDBulk deposit references are temporarily unavailable.

GET /v2/wallet/fiat/{currency}/payment/deposits ​

List credited deposits. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTskip or limit isn't a whole number, or the currency isn't recognised.
400-15721SCOPED_DEPOSIT_ACCOUNT_CURRENCY_MISMATCHYour collections account doesn't support this currency.
503-15117UNIQUE_DEPOSIT_REFERENCES_FEATURE_DISABLEDDeposit references are temporarily unavailable.

DELETE /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference ​

Unlink a deposit from its reference. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe deposit ID isn't a valid UUID.
404-15118FIAT_DEPOSIT_NOT_FOUNDNo deposit with this ID exists on your collections account.

PUT /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference ​

Link a deposit to a reference. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400-15115UNIQUE_DEPOSIT_REFERENCE_INVALID_OVERRIDEThe deposit hasn't been fully credited yet.
404-15118FIAT_DEPOSIT_NOT_FOUNDNo deposit with this ID exists on your collections account.
404-15114UNIQUE_DEPOSIT_REFERENCE_NOT_FOUNDNo reference with this code exists on your account.

GET /v2/payments ​

List payments. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/{id} ​

Get a payment. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe payment ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo payment with this ID exists in your business.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/events ​

List queued scheduled payments. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/events/{id} ​

Get a scheduled payment. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe scheduled payment ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo scheduled payment with this ID exists on your business's payout schedules.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/history ​

List processed scheduled payments. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/runs/{id} ​

Get a payout run. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe run ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo payout run with this ID exists on your business's payout schedules.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/runs/{id}/payments ​

List a payout run's payments. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe run ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/runs/history ​

List payout runs. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/schedules ​

List payout schedules. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/settlements ​

List settlements. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/settlements/{id} ​

Get a settlement. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe settlement ID is longer than 64 characters, contains characters other than letters, digits, ., _ and -, or is only dots.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo settlement with this ID exists in your business.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/settlements/{id}/payments ​

List a settlement's payments. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe settlement ID is longer than 64 characters, contains characters other than letters, digits, ., _ and -, or is only dots.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo settlement with this ID exists in your business.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/settlements/wallet ​

Get the settlement wallet. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo settlement wallet is set up for your business.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collect/upcoming ​

Get upcoming scheduled payouts. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/collections/history ​

List collection activity. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/account/balances/{type} ​

Get payments account balances. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTtype isn't one of PAYOUT, COLLECTIONS, FUNDING or HOLD.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDYour business has no account of this type set up for currency.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/bulk-withdrawals/banks ​

List supported banks. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/bulk-withdrawals/batches ​

List disbursement batches. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

POST /v2/payments/bulk-withdrawals/batches ​

Create a disbursement batch. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or has no withdrawals array, or X-VALR-Idempotency-Key isn't valid, in which case validationErrors names the header.
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
409CONFLICTCONFLICTThe idempotency key belongs to a batch that was cancelled, so retry with a new key, or to one that failed after its fee was charged, so contact support instead of retrying.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

POST /v2/payments/bulk-withdrawals/batches/{id}/cancel ​

Cancel a disbursement batch. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe batch ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo batch with this ID exists on your account.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote ​

Get a batch's fee quote. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe batch ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo batch with this ID exists on your account.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

PUT /v2/payments/bulk-withdrawals/batches/{id}/label ​

Rename a disbursement batch. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo batch with this ID exists on your account.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals ​

List a batch's withdrawals. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe batch ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo batch with this ID exists on your account.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/bulk-withdrawals/beneficiaries ​

List beneficiaries. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

POST /v2/payments/bulk-withdrawals/beneficiaries ​

Create a beneficiary. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
409CONFLICTCONFLICTAn active beneficiary with this bank and account number already exists; update it instead.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id} ​

Archive a beneficiary. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe beneficiary ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo active beneficiary with this ID exists on your account; it may already be archived.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/bulk-withdrawals/beneficiaries/{id} ​

Get a beneficiary. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe beneficiary ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo beneficiary with this ID exists on your account.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

PUT /v2/payments/bulk-withdrawals/beneficiaries/{id} ​

Update a beneficiary. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo active beneficiary with this ID exists on your account; archived beneficiaries can't be updated.
409CONFLICTCONFLICTAnother beneficiary, active or archived, already has this bank and account number.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

POST /v2/payments/bulk-withdrawals/beneficiaries/bulk ​

Create beneficiaries in bulk. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

POST /v2/payments/bulk-withdrawals/fee-quote ​

Quote fees for withdrawals. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/bulk-withdrawals/withdrawals ​

List withdrawals. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/payout/history ​

List payout account transactions. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v2/payments/payout/history/{id} ​

Get a payout account transaction. Endpoint reference

HTTPCodeNameWhen
400BAD_REQUESTBAD_REQUESTA query parameter or field is invalid.
400-11INVALID_REQUESTThe transaction ID isn't a valid UUID.
403-16098PAYMENTS_USER_ACCESS_NOT_CONFIGUREDPayments haven't been set up for your business yet.
404NOT_FOUNDNOT_FOUNDNo payout account transaction with this ID exists on your account.
500INTERNAL_ERRORINTERNAL_ERRORUnexpected error in the payments service.
502-16097EXCHANGE_API_ERRORThe payments service failed to process the request.
502EXCHANGE_API_ERROREXCHANGE_API_ERRORThe payments service couldn't complete the request. Try again later.
503-16099PAYMENTS_BACKEND_PROXY_DISABLEDPayments endpoints are temporarily unavailable.

GET /v1/wallet/crypto/{currency}/deposit/address ​

Get a crypto deposit address. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency or destinationCurrency isn't recognised, or accountType is blank or isn't COLLECTIONS, FUNDING or PAYOUTS.
400-112CURRENCY_NOT_SUPPORTEDnetworkType wasn't sent and the currency can't be deposited on a blockchain, for example a fiat currency.
400-15721SCOPED_DEPOSIT_ACCOUNT_CURRENCY_MISMATCHYour business has no account of the requested accountType set up for destinationCurrency.
400-13105RECEIVE_ADDRESS_NOT_SUPPORTED_FOR_CURRENCY_NETWORK_TYPEThe account has no address for this currency and network yet, and deposits on this network are disabled or not supported for this currency.
403-13104RECEIVE_ADDRESS_NOT_SUPPORTED_IN_REGIONThe account has no address for this currency and network yet, and crypto deposits are restricted for your business, so a new one can't be created.
500-30COULD_NOT_GET_RECEIVE_ADDRESSA new deposit address couldn't be created. Try again later.

GET /v1/wallet/crypto/{currency}/deposit/history ​

List crypto deposits for a currency. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTskip or limit isn't a whole number, limit is more than 100, startTime or endTime isn't an ISO 8601 timestamp, or the currency isn't recognised.

GET /v1/wallet/crypto/{currency}/withdraw ​

Get crypto withdrawal settings. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised.
400-112CURRENCY_NOT_SUPPORTEDnetworkType wasn't sent and the currency can't be withdrawn on a blockchain, for example a fiat currency.

POST /v1/wallet/crypto/{currency}/withdraw ​

Withdraw crypto. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe currency isn't recognised, or the body fails validation, for example amount isn't a positive decimal, both or neither of address and addressBookId are sent, or the recipient's details are missing; validationErrors lists each failing field.
400-13427NON_ADDRESS_BOOK_WITHDRAWALS_DISABLEDWithdrawals are restricted to address-book entries, and the address isn't saved in the account's address book.
400-13428ADDRESS_BOOK_ENTRY_STILL_WARMING_UPWithdrawals are restricted to address-book entries, and this entry was added or changed too recently. Try again once its waiting period has passed.
400-13415WITHDRAWALS_TEMPORARILY_SUSPENDEDWithdrawals are paused after a recent security change on your account; the message says when they resume. Withdrawals to address-book entries may still be allowed.
400-112CURRENCY_NOT_SUPPORTEDThe currency can't be withdrawn on a blockchain, for example a fiat currency.
400-13018BLOCKCHAIN_INVALID_NETWORK_FOR_CURRENCYThe network isn't available for this currency.
400-13402CURRENCY_DOES_NOT_SUPPORT_PAYMENT_REFERENCEA paymentReference was sent, but this currency and network don't use one.
400-13410PAYMENT_REFERENCE_MISSINGThe address needs a payment reference, such as a memo or tag; send it in paymentReference.
400-13405INVALID_WITHDRAW_TRANSACTION_REFERENCEThe paymentReference isn't valid for this network.
400-50INVALID_WITHDRAW_ADDRESSThe address isn't valid for this currency and network.
400-13411WITHDRAW_AMOUNT_BELOW_MINIMUMThe amount is below the network's minimum, which the message gives.
400-13404INVALID_WITHDRAW_AMOUNTThe network rejected the amount, for example because it has too many decimal places.
400-13419NETWORK_FEE_FOR_TRANSACTION_EXCEEDEDSending to this address would need more network fee than is allowed, so it can't receive withdrawals.
400-13017BLOCKCHAIN_SEND_TRUSTLINE_NOT_VALIDThe destination address has no active trustline for this asset.
400-13019BLOCKCHAIN_SEND_MISSING_KYC_PERMITThe token issuer hasn't whitelisted the destination address.
400-30071SERVICE_PROVIDER_NOT_FOUNDserviceProviderId isn't in the list from GET /v1/wallet/crypto/service-providers.
400-6INSUFFICIENT_BALANCEThe account's available balance doesn't cover the amount plus the network fee.
400-108WITHDRAW_LIMIT_REACHEDThe withdrawal would exceed your business's withdrawal limit; see GET /v1/wallet/crypto/{currency}/withdraw/limits.
400-32765WITHDRAWAL_RESTRICTION_APPLIEDYour business must keep a minimum portfolio value, and this withdrawal would take it below that.
400-19213MARGIN_NOT_ENABLED_FOR_ACCOUNTallowBorrow is true, but margin isn't enabled on the account.
400-19243BORROW_FOR_WITHDRAWAL_NOT_AVAILABLEallowBorrow is true, but borrowing for withdrawals is currently unavailable.
400-19244BORROW_FOR_WITHDRAWAL_NOT_AVAILABLE_FOR_SELECTED_CURRENCYallowBorrow is true, but this currency can't be borrowed for withdrawals.
404-13422ADDRESS_BOOK_ENTRY_NOT_FOUNDNo entry with this addressBookId exists in the account's address book.
500-13423ADDRESS_BOOK_ENTRY_CURRENCY_WRONGThe address-book entry is saved for a different currency.
500-19502CURRENCY_UNDER_MAINTENANCEThe currency is under maintenance. Try again in a few minutes.
500-46WITHDRAW_UNAVAILABLEWithdrawals of this currency on this network are currently disabled, or the withdrawal couldn't be recorded. Try again later.
500-29BLOCKCHAIN_SEND_FAILUREThe withdrawal couldn't be checked with the network. Try again later.
500-19202INSUFFICIENT_LIQUIDITY_FOR_BORROWallowBorrow is true, but the amount can't be borrowed right now. Try again later.
503-12015WITHDRAWALS_NOT_AVAILABLEWithdrawals are temporarily unavailable.

GET /v1/wallet/crypto/{currency}/withdraw/{id} ​

Get a crypto withdrawal. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised or the withdrawal ID isn't a valid UUID.
404-13403SEND_NOT_FOUNDNo withdrawal with this ID exists on the account, or it's in a different currency.

GET /v1/wallet/crypto/{currency}/withdraw/history ​

List crypto withdrawals for a currency. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTskip or limit isn't a whole number, limit is more than 100, startTime or endTime isn't an ISO 8601 timestamp, or the currency isn't recognised.

GET /v1/wallet/crypto/{currency}/withdraw/limits ​

Get crypto withdrawal limits. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised.

GET /v1/wallet/crypto/address-book ​

List address-book entries. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTskip or limit isn't a whole number, limit is more than 100, or networkType is blank.

GET /v1/wallet/crypto/address-book/{currency} ​

List address-book entries for a currency. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised, skip or limit isn't a whole number, limit is more than 100, or networkType is blank.

GET /v1/wallet/crypto/deposit/history ​

List crypto deposits. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTskip or limit isn't a whole number, limit is more than 100, startTime or endTime isn't an ISO 8601 timestamp, or the currency isn't recognised.

GET /v1/wallet/crypto/service-providers ​

List service providers. Endpoint reference

No endpoint-specific errors; see the common errors above.

GET /v1/wallet/crypto/withdraw/history ​

List crypto withdrawals. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTskip or limit isn't a whole number, limit is more than 100, startTime or endTime isn't an ISO 8601 timestamp, or the currency isn't recognised.

GET /v1/wallet/fiat/{currency}/accounts ​

List bank accounts. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised.
451-15320FIAT_WITHDRAWALS_NOT_ALLOWED_FOR_CURRENCYYour business's region doesn't allow withdrawals in this currency.

POST /v1/wallet/fiat/{currency}/accounts ​

Link a bank account. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation, including a bank that isn't in the country's bank list or a branch code, account number or account type that doesn't fit the country, or the currency isn't recognised; validationErrors lists each failing field.
400-15875FIAT_WITHDRAWALS_TO_BANK_BRANCH_RESTRICTEDWithdrawals to this branch code aren't supported. Use another branch or contact support.
400-13418BANK_ACCOUNT_LINKING_TEMPORARILY_DISABLEDLinking bank accounts is paused for a while after a security change on your account, such as a password reset or a new device; the message says when it's re-enabled.
400-115INVALID_COUNTRY_ALPHA_2No banks are available for the bank account's country.
451-15320FIAT_WITHDRAWALS_NOT_ALLOWED_FOR_CURRENCYYour business's region doesn't allow withdrawals in this currency.
500-15317BANK_REMOTE_FETCH_FAILUREThe bank list for the bank account's country couldn't be loaded. Try again later.

DELETE /v1/wallet/fiat/{currency}/accounts/{id} ​

Delete a bank account. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe bank account ID isn't a valid UUID, or the Content-Type: application/json header is missing.
404-14203COULD_NOT_GET_LINKED_ACCOUNTNo bank account with this ID is linked to the account.

GET /v1/wallet/fiat/{currency}/accounts/{id} ​

Get a bank account. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised or the bank account ID isn't a valid UUID.
404-14203COULD_NOT_GET_LINKED_ACCOUNTNo bank account with this ID is linked to the account.
451-15320FIAT_WITHDRAWALS_NOT_ALLOWED_FOR_CURRENCYYour business's region doesn't allow withdrawals in this currency.

GET /v1/wallet/fiat/{currency}/banks ​

List banks for a currency. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised.
400-112CURRENCY_NOT_SUPPORTEDBank accounts can't be linked in this currency.
451-15320FIAT_WITHDRAWALS_NOT_ALLOWED_FOR_CURRENCYYour business's region doesn't allow withdrawals in this currency.
500-15317BANK_REMOTE_FETCH_FAILUREThe bank list couldn't be loaded. Try again later.

GET /v1/wallet/fiat/{currency}/deposit/reference ​

Get the account deposit reference. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised.
451-15111FIAT_DEPOSITS_NOT_ALLOWED_FOR_CURRENCYYour business's region doesn't allow deposits in this currency.

GET /v1/wallet/fiat/{currency}/deposit/reference/{buyCurrencySymbol} ​

Get an auto-buy deposit reference. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTcurrency or buyCurrencySymbol isn't a recognised currency.
400-21INVALID_CURRENCY_PAIRThere's no market for buying buyCurrencySymbol with currency.
400-32CURRENCY_PAIR_NOT_ACTIVEThe market for buying buyCurrencySymbol with currency isn't active.
400-15132CURRENCY_NOT_ENABLED_FOR_FIAT_DEPOSIT_AUTO_BUYbuyCurrencySymbol can't be auto-bought with currency; list the currencies that can with List auto-buy currencies.
451-15134CURRENCY_NOT_ALLOWED_FOR_FIAT_DEPOSIT_AUTO_BUYAuto-buy into buyCurrencySymbol with currency isn't available for your business.
451-15111FIAT_DEPOSITS_NOT_ALLOWED_FOR_CURRENCYYour business's region doesn't allow deposits in currency.

GET /v1/wallet/fiat/{currency}/auto-buy ​

List auto-buy currencies. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe currency isn't recognised.

GET /v1/wallet/fiat/{currency}/withdraw/estimate-fee ​

Estimate a fiat withdrawal fee. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTlinkedBankAccountId is missing or isn't a UUID, amount is missing or isn't a number, fast isn't true or false, or the currency isn't recognised.
404-14203COULD_NOT_GET_LINKED_ACCOUNTNo bank account with this ID exists.

POST /v1/wallet/fiat/{currency}/withdraw ​

Withdraw fiat to a bank account. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation, or reference was rejected, or the currency isn't recognised; validationErrors lists each failing field.
400-13415WITHDRAWALS_TEMPORARILY_SUSPENDEDWithdrawals are paused for a while after a security change on your account, such as a password reset or a new device; the message says when they're re-enabled.
400-32765WITHDRAWAL_RESTRICTION_APPLIEDThe withdrawal would take your portfolio below the minimum value it must keep.
400-15875FIAT_WITHDRAWALS_TO_BANK_BRANCH_RESTRICTEDWithdrawals to the bank account's branch code aren't supported. Use another bank account or contact support.
400-15307FIAT_WITHDRAWAL_AMOUNT_BELOW_MINIMUMamount is below the minimum withdrawal for this currency.
400-15318FIAT_WITHDRAWAL_CURRENCY_MISMATCHThe bank account was linked for a different currency.
400-6INSUFFICIENT_BALANCEThe account's available balance doesn't cover amount plus the fee.
400-15322CAN_NOT_WITHDRAW_TO_A_DELETED_BANK_ACCOUNTThe bank account has been deleted. Link it again to withdraw to it.
400-15321CAN_NOT_WITHDRAW_TO_AN_UNCONFIRMED_BANK_ACCOUNTThe bank account was never confirmed.
400-15309CAN_NOT_WITHDRAW_TO_AN_UNVERIFIED_BANK_ACCOUNTThis currency only pays out to verified bank accounts, and this one hasn't been verified yet or failed verification.
400-19243BORROW_FOR_WITHDRAWAL_NOT_AVAILABLEallowBorrow was set, but borrowing for withdrawals is unavailable at the moment.
400-19244BORROW_FOR_WITHDRAWAL_NOT_AVAILABLE_FOR_SELECTED_CURRENCYallowBorrow was set, but this currency can't be borrowed for a withdrawal.
400-19213MARGIN_NOT_ENABLED_FOR_ACCOUNTallowBorrow was set, but margin isn't enabled on the account.
400-11533CURRENCY_BORROW_EXCEEDED_FOR_COLLATERALIZED_LENDINGBorrowing the shortfall would exceed the account's borrow limit for this currency.
400-11534ACCOUNT_BORROW_EXCEEDED_FOR_COLLATERALIZED_LENDINGBorrowing the shortfall would exceed the account's total borrow limit.
404-14203COULD_NOT_GET_LINKED_ACCOUNTNo bank account with linkedBankAccountId exists.
451-15320FIAT_WITHDRAWALS_NOT_ALLOWED_FOR_CURRENCYYour business's region doesn't allow withdrawals in this currency.
500-19202INSUFFICIENT_LIQUIDITY_FOR_BORROWallowBorrow was set, but the amount to borrow isn't available right now. Try again later.
503-12015WITHDRAWALS_NOT_AVAILABLEWithdrawals are unavailable at the moment. Try again later.

GET /v1/wallet/fiat/{currency}/withdrawals ​

List fiat withdrawals. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTstatus is empty or isn't one of the listed values, limit or offset isn't a whole number, includeAllSubAccounts isn't true or false, or the currency isn't recognised.

GET /v1/wallet/fiat/{currency}/withdrawals/{id} ​

Get a fiat withdrawal. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe withdrawal ID isn't a valid UUID, includeAllSubAccounts isn't true or false, or the currency isn't recognised.
404-15300COULD_NOT_FIND_FIAT_WITHDRAWALNo withdrawal in this currency with this ID exists on the account, or on any of your business's visible accounts when includeAllSubAccounts applies.

POST /v2/fiat/payments ​

Pay a bank beneficiary. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation, including a newBeneficiary field or a newBeneficiary.bank that isn't in the country's bank list, or reference was rejected; validationErrors lists each failing field.
400-109INVALID_CURRENCY_SYMBOLcurrency isn't a recognised currency.
400-18104PAYMENT_BENEFICIARY_DETAILS_REQUIREDNeither beneficiaryId nor newBeneficiary was sent.
400-115INVALID_COUNTRY_ALPHA_2No banks are available for newBeneficiary's country.
400-13418BANK_ACCOUNT_LINKING_TEMPORARILY_DISABLEDAdding a beneficiary is paused for a while after a security change on your account; the message says when it's re-enabled. You can still pay an existing beneficiary.
400-15875FIAT_WITHDRAWALS_TO_BANK_BRANCH_RESTRICTEDPayments to the beneficiary's branch code aren't supported. Use another bank account or contact support.
400-13415WITHDRAWALS_TEMPORARILY_SUSPENDEDWithdrawals are paused for a while after a security change on your account, such as a password reset or a new device; the message says when they're re-enabled.
400-32765WITHDRAWAL_RESTRICTION_APPLIEDThe payment would take your portfolio below the minimum value it must keep.
400-15307FIAT_WITHDRAWAL_AMOUNT_BELOW_MINIMUMamount is below the minimum withdrawal for this currency.
400-15318FIAT_WITHDRAWAL_CURRENCY_MISMATCHThe beneficiary's bank account was linked for a different currency from currency.
400-6INSUFFICIENT_BALANCEThe account's available balance doesn't cover amount plus the fee.
400-15309CAN_NOT_WITHDRAW_TO_AN_UNVERIFIED_BANK_ACCOUNTThis currency only pays out to verified bank accounts, and the beneficiary hasn't been verified yet or failed verification.
404-18106PAYMENTS_API_DISABLEDThis endpoint isn't available yet.
404-14203COULD_NOT_GET_LINKED_ACCOUNTNo bank account with beneficiaryId exists.
409-18103PAYMENT_BENEFICIARY_NOT_ACTIVEThe beneficiary with beneficiaryId was never confirmed or has been deleted.
451-15320FIAT_WITHDRAWALS_NOT_ALLOWED_FOR_CURRENCYYour business's region doesn't allow withdrawals in this currency.
500-15317BANK_REMOTE_FETCH_FAILUREThe bank list for newBeneficiary's country couldn't be loaded. Try again later.
503-12015WITHDRAWALS_NOT_AVAILABLEWithdrawals are unavailable at the moment. Try again later.

POST /v2/crypto/payments ​

Pay a crypto beneficiary. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation, including a newBeneficiary field or missing travel-rule details (beneficiaryName, isCorporate, isSelfHosted, and a service provider for a hosted wallet) for an address outside VALR; validationErrors lists each failing field.
400-109INVALID_CURRENCY_SYMBOLcurrency isn't a recognised currency.
400-18104PAYMENT_BENEFICIARY_DETAILS_REQUIREDNeither beneficiaryId nor newBeneficiary was sent.
400-13426ADDRESS_BOOK_ENTRY_LABEL_IN_USEAnother address-book entry on the account already uses newBeneficiary.label.
400-50INVALID_WITHDRAW_ADDRESSThe beneficiary's address isn't valid for this currency and network.
400-13410PAYMENT_REFERENCE_MISSINGThe beneficiary's address needs a payment reference, such as a memo or tag.
400-13405INVALID_WITHDRAW_TRANSACTION_REFERENCEThe beneficiary's payment reference isn't valid for this address.
400-13402CURRENCY_DOES_NOT_SUPPORT_PAYMENT_REFERENCEThe beneficiary has a payment reference, but this currency and network don't use one.
400-13415WITHDRAWALS_TEMPORARILY_SUSPENDEDWithdrawals are paused for a while after a security change on your account, such as a password reset or a new device; the message says when they're re-enabled.
400-13411WITHDRAW_AMOUNT_BELOW_MINIMUMamount is below the minimum withdrawal for this currency and network.
400-13404INVALID_WITHDRAW_AMOUNTamount isn't valid for this currency and network, for example it has too many decimal places.
400-13419NETWORK_FEE_FOR_TRANSACTION_EXCEEDEDWithdrawals to the beneficiary's address aren't allowed because sending to it would cost too much in network fees.
400-6INSUFFICIENT_BALANCEThe account's available balance doesn't cover amount plus the network fee.
400-108WITHDRAW_LIMIT_REACHEDThe payment would exceed your daily withdrawal limit.
400-32765WITHDRAWAL_RESTRICTION_APPLIEDThe payment would take your portfolio below the minimum value it must keep.
400-19243BORROW_FOR_WITHDRAWAL_NOT_AVAILABLEallowBorrow was set, but borrowing for withdrawals is unavailable at the moment.
400-19244BORROW_FOR_WITHDRAWAL_NOT_AVAILABLE_FOR_SELECTED_CURRENCYallowBorrow was set, but this currency can't be borrowed for a withdrawal.
400-19213MARGIN_NOT_ENABLED_FOR_ACCOUNTallowBorrow was set, but margin isn't enabled on the account.
400-11533CURRENCY_BORROW_EXCEEDED_FOR_COLLATERALIZED_LENDINGBorrowing the shortfall would exceed the account's borrow limit for this currency.
400-11534ACCOUNT_BORROW_EXCEEDED_FOR_COLLATERALIZED_LENDINGBorrowing the shortfall would exceed the account's total borrow limit.
404-18106PAYMENTS_API_DISABLEDThis endpoint isn't available yet.
404-18101PAYMENT_BENEFICIARY_NOT_FOUNDNo address-book entry with beneficiaryId exists on the account.
409-18103PAYMENT_BENEFICIARY_NOT_ACTIVEThe address-book entry with beneficiaryId hasn't been activated.
500-19502CURRENCY_UNDER_MAINTENANCEWithdrawals of this currency are paused for maintenance. Try again in a few minutes.
500-46WITHDRAW_UNAVAILABLEWithdrawals of this currency on this network are unavailable at the moment. Try again later.
500-19202INSUFFICIENT_LIQUIDITY_FOR_BORROWallowBorrow was set, but the amount to borrow isn't available right now. Try again later.
503-12015WITHDRAWALS_NOT_AVAILABLEWithdrawals are unavailable at the moment. Try again later.

GET /v1/account/transactionhistory ​

List transactions. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTskip or limit isn't a whole number, limit is more than 200, startTime or endTime isn't an ISO 8601 timestamp, endTime is before startTime, currency isn't a currency VALR supports, transactionTypes contains an unknown type, or beforeId isn't a valid UUID.

GET /v1/account/transactionhistory/subaccounts ​

List transactions for all sub-accounts. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTbeforeId was sent (it isn't supported here), skip or limit isn't a whole number, limit is more than 200, startTime or endTime isn't an ISO 8601 timestamp, endTime is before startTime or more than 7 days after it, currency isn't a currency VALR supports, or transactionTypes contains an unknown type.

GET /v1/account/balances/all ​

Get balances for all accounts. Endpoint reference

No endpoint-specific errors; see the common errors above.

GET /v1/account/subaccounts ​

List sub-accounts. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTincludeTags or includePayoutAccounts isn't true or false.

GET /v1/account/subaccount/{accountPublicId} ​

Get a sub-account. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTThe sub-account ID isn't a whole number.
400-11134SUB_ACCOUNT_NOT_FOUNDNone of your business's sub-accounts has this ID. Your primary account (0) isn't a sub-account.

POST /v1/account/subaccount ​

Create a sub-account. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation (validationErrors lists each failing field), or isProprietarySubAccount isn't true or false.
400-17214INVALID_ACCOUNT_TAG_COMBINATIONaccountTags contains a tag other than CLIENT_FUNDS.
403-11132SUB_ACCOUNT_ALREADY_EXISTSAnother of your sub-accounts already has this name (ignoring case), or the name is Primary or Main.
403-11136SUB_ACCOUNT_LIMIT_EXCEEDEDYour business already has the maximum number of sub-accounts.
409-11423SUB_ACCOUNT_PROFILE_INFO_ALREADY_EXISTSOnly when KYC details are mandatory for your sub-accounts: another of your sub-accounts already has this email address, ID number or cell number.

PUT /v1/account/subaccount ​

Rename a sub-account. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation (validationErrors lists each failing field), or isProprietarySubAccount isn't true or false.
400-11134SUB_ACCOUNT_NOT_FOUNDNone of your business's sub-accounts has this id.
403-11132SUB_ACCOUNT_ALREADY_EXISTSAnother of your sub-accounts already has this name (ignoring case), or the name is Primary or Main.
409-11423SUB_ACCOUNT_PROFILE_INFO_ALREADY_EXISTSOnly when KYC details are mandatory for your sub-accounts: another of your sub-accounts already has this email address, ID number or cell number.

DELETE /v1/account/subaccount ​

Delete a sub-account. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400-11134SUB_ACCOUNT_NOT_FOUNDNone of your business's sub-accounts has this id.
400-11163CANNOT_DISABLE_SUB_ACCOUNT_WITH_BALANCESThe sub-account still holds funds, reserved amounts or debt. Cancel its open orders, transfer its funds out and repay any borrowing, then try again.
400-17217CANNOT_DISABLE_SYSTEM_PROVISIONED_SUB_ACCOUNTVALR set this sub-account up for you, so it can't be deleted.
400-17216CANNOT_DISABLE_SHARED_SUB_ACCOUNTThe sub-account is shared with another VALR user. Stop sharing it, then try again.

POST /v1/account/subaccounts/transfer ​

Transfer between accounts. Endpoint reference

HTTPCodeNameWhen
400-113INVALID_JSONThe body isn't valid JSON.
400-11INVALID_REQUESTThe body is empty or a field fails validation; validationErrors lists each failing field.
400-109INVALID_CURRENCY_SYMBOLcurrencyCode isn't a currency VALR supports.
400-19213MARGIN_NOT_ENABLED_FOR_ACCOUNTallowBorrow is true, but the source account isn't enabled for margin.
400-6INSUFFICIENT_BALANCEallowBorrow is true, but the source account doesn't have enough collateral to borrow the shortfall.
400-19243BORROW_FOR_WITHDRAWAL_NOT_AVAILABLEBorrowing for transfers is temporarily unavailable. Transfer no more than the available balance, or try again later.
400-19244BORROW_FOR_WITHDRAWAL_NOT_AVAILABLE_FOR_SELECTED_CURRENCYThis currency can't be borrowed for a transfer.
400-11533CURRENCY_BORROW_EXCEEDED_FOR_COLLATERALIZED_LENDINGBorrowing the shortfall would take the source account past its borrow limit for this currency.
400-11534ACCOUNT_BORROW_EXCEEDED_FOR_COLLATERALIZED_LENDINGBorrowing the shortfall would take the source account past its total borrow limit.
403-11133SUB_ACCOUNT_INTERNAL_TRANSFER_NOT_ALLOWEDThe transfer was refused, and the message says why: fromId and toId are the same, one of them isn't an account in your business, the source account doesn't have enough available balance and allowBorrow is false, you called it on a sub-account and fromId isn't that sub-account, or your key is limited to sub-accounts and one of the accounts isn't among them.
500-19202INSUFFICIENT_LIQUIDITY_FOR_BORROWNot enough of this currency is available to borrow right now. Try again later.
500-19502CURRENCY_UNDER_MAINTENANCEThe currency is under maintenance. Try again in a few minutes.
503-11652INTERNAL_TRANSFERS_NOT_AVAILABLETransfers between accounts are temporarily unavailable.

GET /v1/public/time ​

Get the server time. Endpoint reference

No endpoint-specific errors; see the common errors above.

GET /v1/public/status ​

Get the exchange status. Endpoint reference

No endpoint-specific errors; see the common errors above.

GET /v1/public/marketsummary ​

List market summaries. Endpoint reference

No endpoint-specific errors; see the common errors above.

GET /v1/public/{currencyPair}/marketsummary ​

Get a pair's market summary. Endpoint reference

HTTPCodeNameWhen
400-21INVALID_CURRENCY_PAIRcurrencyPair isn't a currency pair VALR supports.
404-111MARKET_SUMMARY_NOT_FOUNDVALR has no market summary for the pair yet, which can happen for a pair that isn't trading.

GET /v1/public/{currencyPair}/buckets ​

List price buckets. Endpoint reference

HTTPCodeNameWhen
400-21INVALID_CURRENCY_PAIRcurrencyPair isn't a currency pair VALR supports.
400-11INVALID_REQUESTperiodSeconds isn't one of the supported periods, skip or limit isn't a whole number, limit is more than 400, or includeEmpty isn't true or false.

GET /v1/public/currencies ​

List currencies. Endpoint reference

No endpoint-specific errors; see the common errors above.

GET /v1/public/pairs ​

List currency pairs. Endpoint reference

No endpoint-specific errors; see the common errors above.

GET /v1/public/pairs/{type} ​

List currency pairs by type. Endpoint reference

HTTPCodeNameWhen
400-11INVALID_REQUESTtype isn't SPOT or FUTURE.

Index ​

Every documented code, with the endpoints that return it.

CodeNameHTTPMessageReturned by
-108WITHDRAW_LIMIT_REACHED400Amount exceeds daily limitPOST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
-109INVALID_CURRENCY_SYMBOL400Invalid currency symbolPOST /v2/fiat/payments
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
-11INVALID_REQUEST400Invalid Request, please check your request and try againPUT /v2/wallet/fiat/{currency}/payment/references/{referenceCode}
POST /v2/wallet/fiat/{currency}/payment/references
GET /v2/wallet/fiat/{currency}/payment/references
GET /v2/payments/bulk-withdrawals/batches/{id}
POST /v1/webhooks
DELETE /v1/webhooks/{id}
GET /v1/webhooks/{id}
PUT /v1/webhooks/{id}
GET /v1/webhooks/{id}/deliveries
GET /v1/webhooks/{id}/events/{eventId}
POST /v2/wallet/fiat/{currency}/payment/bulk-references
GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}
GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}/items
GET /v2/wallet/fiat/{currency}/payment/deposits
DELETE /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference
PUT /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference
GET /v2/payments/{id}
GET /v2/payments/collect/events/{id}
GET /v2/payments/collect/runs/{id}
GET /v2/payments/collect/runs/{id}/payments
GET /v2/payments/collect/settlements/{id}
GET /v2/payments/collect/settlements/{id}/payments
GET /v2/payments/account/balances/{type}
POST /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches/{id}/cancel
GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals
POST /v2/payments/bulk-withdrawals/beneficiaries
DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/bulk-withdrawals/beneficiaries/{id}
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
POST /v2/payments/bulk-withdrawals/beneficiaries/bulk
POST /v2/payments/bulk-withdrawals/fee-quote
GET /v2/payments/payout/history/{id}
GET /v1/wallet/crypto/{currency}/deposit/address
GET /v1/wallet/crypto/{currency}/deposit/history
GET /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/crypto/{currency}/withdraw
GET /v1/wallet/crypto/{currency}/withdraw/{id}
GET /v1/wallet/crypto/{currency}/withdraw/history
GET /v1/wallet/crypto/{currency}/withdraw/limits
GET /v1/wallet/crypto/address-book
GET /v1/wallet/crypto/address-book/{currency}
GET /v1/wallet/crypto/deposit/history
GET /v1/wallet/crypto/withdraw/history
GET /v1/wallet/fiat/{currency}/accounts
POST /v1/wallet/fiat/{currency}/accounts
DELETE /v1/wallet/fiat/{currency}/accounts/{id}
GET /v1/wallet/fiat/{currency}/accounts/{id}
GET /v1/wallet/fiat/{currency}/banks
GET /v1/wallet/fiat/{currency}/deposit/reference
GET /v1/wallet/fiat/{currency}/deposit/reference/{buyCurrencySymbol}
GET /v1/wallet/fiat/{currency}/auto-buy
GET /v1/wallet/fiat/{currency}/withdraw/estimate-fee
POST /v1/wallet/fiat/{currency}/withdraw
GET /v1/wallet/fiat/{currency}/withdrawals
GET /v1/wallet/fiat/{currency}/withdrawals/{id}
POST /v2/fiat/payments
POST /v2/crypto/payments
GET /v1/account/transactionhistory
GET /v1/account/transactionhistory/subaccounts
GET /v1/account/subaccounts
GET /v1/account/subaccount/{accountPublicId}
POST /v1/account/subaccount
PUT /v1/account/subaccount
DELETE /v1/account/subaccount
POST /v1/account/subaccounts/transfer
GET /v1/public/{currencyPair}/buckets
GET /v1/public/pairs/{type}
-11134SUB_ACCOUNT_NOT_FOUND400Subaccount not foundGET /v1/account/subaccount/{accountPublicId}
PUT /v1/account/subaccount
DELETE /v1/account/subaccount
-11163CANNOT_DISABLE_SUB_ACCOUNT_WITH_BALANCES400Cannot disable sub account with balancesDELETE /v1/account/subaccount
-112CURRENCY_NOT_SUPPORTED400Currency not supportedGET /v1/wallet/crypto/{currency}/deposit/address
GET /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/crypto/{currency}/withdraw
GET /v1/wallet/fiat/{currency}/banks
-11258API_KEY_REQUEST_TIMESTAMP_TOO_EARLY400Timestamp cannot be more than {ApiKeyMessageClockSkewBufferSeconds} seconds in the pastAll signed endpoints
-11259API_KEY_MESSAGE_TIMESTAMP_EXPIRED400Timestamp cannot be more than {ApiKeyMessageClockSkewBufferSeconds} seconds in the pastAll signed endpoints
-11268API_KEY_API_KEY_HEADER_MISSING400API key header missing: X-VALR-API-KEYAll signed endpoints
-11269API_KEY_SIGNATURE_HEADER_MISSING400API key header missing: X-VALR-SIGNATUREAll signed endpoints
-11270API_KEY_TIMESTAMP_HEADER_MISSING_OR_INVALID400API key header missing or is invalid: X-VALR-TIMESTAMPAll signed endpoints
-113INVALID_JSON400Invalid JSON payloadPUT /v2/wallet/fiat/{currency}/payment/references/{referenceCode}
POST /v2/wallet/fiat/{currency}/payment/references
POST /v1/webhooks
PUT /v1/webhooks/{id}
POST /v2/wallet/fiat/{currency}/payment/bulk-references
PUT /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference
POST /v2/payments/bulk-withdrawals/batches
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
POST /v2/payments/bulk-withdrawals/beneficiaries
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
POST /v2/payments/bulk-withdrawals/beneficiaries/bulk
POST /v2/payments/bulk-withdrawals/fee-quote
POST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/accounts
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
POST /v2/crypto/payments
POST /v1/account/subaccount
PUT /v1/account/subaccount
DELETE /v1/account/subaccount
POST /v1/account/subaccounts/transfer
-115INVALID_COUNTRY_ALPHA_2400Invalid country alpha 2POST /v1/wallet/fiat/{currency}/accounts
POST /v2/fiat/payments
-11533CURRENCY_BORROW_EXCEEDED_FOR_COLLATERALIZED_LENDING400Account borrow limit for requested currency would be exceeded and is therefore not allowed.POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
-11534ACCOUNT_BORROW_EXCEEDED_FOR_COLLATERALIZED_LENDING400Account total borrow limit would be exceeded and is therefore not allowed.POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
-13017BLOCKCHAIN_SEND_TRUSTLINE_NOT_VALID400Unable to verify trustline. Please confirm that your address has an active trustline for this asset.POST /v1/wallet/crypto/{currency}/withdraw
-13018BLOCKCHAIN_INVALID_NETWORK_FOR_CURRENCY400Unable to validate network type for provided currencyPOST /v1/wallet/crypto/{currency}/withdraw
-13019BLOCKCHAIN_SEND_MISSING_KYC_PERMIT400Contact token issuer for whitelisting.POST /v1/wallet/crypto/{currency}/withdraw
-13105RECEIVE_ADDRESS_NOT_SUPPORTED_FOR_CURRENCY_NETWORK_TYPE400Deposit address is not supported for the specified currency and network typeGET /v1/wallet/crypto/{currency}/deposit/address
-13402CURRENCY_DOES_NOT_SUPPORT_PAYMENT_REFERENCE400This currency does not support a payment reference fieldPOST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
-13404INVALID_WITHDRAW_AMOUNT400Invalid withdraw amount, please ensure amount is larger than minimumPOST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
-13405INVALID_WITHDRAW_TRANSACTION_REFERENCE400Invalid transaction referencePOST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
-13410PAYMENT_REFERENCE_MISSING400This withdrawal address requires aPOST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
-13411WITHDRAW_AMOUNT_BELOW_MINIMUM400Please ensure withdrawal amount is larger thanPOST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
-13415WITHDRAWALS_TEMPORARILY_SUSPENDED400Withdrawals have been suspendedPOST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
POST /v2/crypto/payments
-13418BANK_ACCOUNT_LINKING_TEMPORARILY_DISABLED400Bank account linking has been temporarily suspendedPOST /v1/wallet/fiat/{currency}/accounts
POST /v2/fiat/payments
-13419NETWORK_FEE_FOR_TRANSACTION_EXCEEDED400Withdrawals to this address are not allowedPOST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
-13426ADDRESS_BOOK_ENTRY_LABEL_IN_USE400The label provided is already in use.POST /v2/crypto/payments
-13427NON_ADDRESS_BOOK_WITHDRAWALS_DISABLED400Withdrawals to addresses not in your address book are disabled. Please contact support to changePOST /v1/wallet/crypto/{currency}/withdraw
-13428ADDRESS_BOOK_ENTRY_STILL_WARMING_UP400Address book entry too new. Withdrawals not allowed yetPOST /v1/wallet/crypto/{currency}/withdraw
-15115UNIQUE_DEPOSIT_REFERENCE_INVALID_OVERRIDE400Deposit override is invalidPUT /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference
-15121BULK_DEPOSIT_REFERENCE_BATCH_TOO_LARGE400Batch size exceeds maximum allowedPOST /v2/wallet/fiat/{currency}/payment/bulk-references
-15123BULK_DEPOSIT_REFERENCE_INVALID_SENDER400Invalid sender informationPOST /v2/wallet/fiat/{currency}/payment/bulk-references
-15132CURRENCY_NOT_ENABLED_FOR_FIAT_DEPOSIT_AUTO_BUY400Currency not enabled for Auto-BuyGET /v1/wallet/fiat/{currency}/deposit/reference/{buyCurrencySymbol}
-15307FIAT_WITHDRAWAL_AMOUNT_BELOW_MINIMUM400Amount is lower than the minimumPOST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
-15309CAN_NOT_WITHDRAW_TO_AN_UNVERIFIED_BANK_ACCOUNT400This bank account is not verified. Please withdraw to a verified account.POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
-15318FIAT_WITHDRAWAL_CURRENCY_MISMATCH400Withdrawal currency does not match the currency of selected bank accountPOST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
-15321CAN_NOT_WITHDRAW_TO_AN_UNCONFIRMED_BANK_ACCOUNT400This bank account is not confirmed. Please complete our verification process to withdraw.POST /v1/wallet/fiat/{currency}/withdraw
-15322CAN_NOT_WITHDRAW_TO_A_DELETED_BANK_ACCOUNT400This bank account has been deleted. Please add the account and try again.POST /v1/wallet/fiat/{currency}/withdraw
-15721SCOPED_DEPOSIT_ACCOUNT_CURRENCY_MISMATCH400No scoped deposit account exists for the requested currency.POST /v2/wallet/fiat/{currency}/payment/references
GET /v2/wallet/fiat/{currency}/payment/references
POST /v2/wallet/fiat/{currency}/payment/bulk-references
GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}
GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}/items
GET /v2/wallet/fiat/{currency}/payment/deposits
GET /v1/wallet/crypto/{currency}/deposit/address
-15875FIAT_WITHDRAWALS_TO_BANK_BRANCH_RESTRICTED400Withdrawals using the selected branch code are not supported. Please try a valid branch in your region or contact support.POST /v1/wallet/fiat/{currency}/accounts
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
-17214INVALID_ACCOUNT_TAG_COMBINATION400Invalid account tag combinationPOST /v1/account/subaccount
-17216CANNOT_DISABLE_SHARED_SUB_ACCOUNT400Cannot disable shared sub accountDELETE /v1/account/subaccount
-17217CANNOT_DISABLE_SYSTEM_PROVISIONED_SUB_ACCOUNT400Cannot disable a system-provisioned sub accountDELETE /v1/account/subaccount
-18104PAYMENT_BENEFICIARY_DETAILS_REQUIRED400Provide either an existing beneficiary id or full beneficiary details.POST /v2/fiat/payments
POST /v2/crypto/payments
-18122WEBHOOK_SUBSCRIPTION_LIMIT_REACHED400Webhook subscription limit reached:POST /v1/webhooks
-19213MARGIN_NOT_ENABLED_FOR_ACCOUNT400Margin not enabled for accountPOST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
-19243BORROW_FOR_WITHDRAWAL_NOT_AVAILABLE400Borrowing for withdrawal and internal transfers currently not availablePOST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
-19244BORROW_FOR_WITHDRAWAL_NOT_AVAILABLE_FOR_SELECTED_CURRENCY400Borrowing for withdrawal and internal transfers currently not available for selected currencyPOST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
-21INVALID_CURRENCY_PAIR400Unsupported Currency PairGET /v1/wallet/fiat/{currency}/deposit/reference/{buyCurrencySymbol}
GET /v1/public/{currencyPair}/marketsummary
GET /v1/public/{currencyPair}/buckets
-30071SERVICE_PROVIDER_NOT_FOUND400Service provider not found.POST /v1/wallet/crypto/{currency}/withdraw
-32CURRENCY_PAIR_NOT_ACTIVE400The given currency pair is not activeGET /v1/wallet/fiat/{currency}/deposit/reference/{buyCurrencySymbol}
-32765WITHDRAWAL_RESTRICTION_APPLIED400Withdrawal denied. Minimum portfolio value would not be met after this withdrawal.POST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
POST /v2/crypto/payments
-50INVALID_WITHDRAW_ADDRESS400Invalid Withdraw address.POST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
-6INSUFFICIENT_BALANCE400Insufficient BalancePOST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
BAD_REQUESTBAD_REQUEST400Bad request.GET /v2/payments/bulk-withdrawals/batches/{id}
GET /v2/payments
GET /v2/payments/{id}
GET /v2/payments/collect/events
GET /v2/payments/collect/events/{id}
GET /v2/payments/collect/history
GET /v2/payments/collect/runs/{id}
GET /v2/payments/collect/runs/{id}/payments
GET /v2/payments/collect/runs/history
GET /v2/payments/collect/schedules
GET /v2/payments/collect/settlements
GET /v2/payments/collect/settlements/{id}
GET /v2/payments/collect/settlements/{id}/payments
GET /v2/payments/collect/settlements/wallet
GET /v2/payments/collect/upcoming
GET /v2/payments/collections/history
GET /v2/payments/account/balances/{type}
GET /v2/payments/bulk-withdrawals/banks
GET /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches/{id}/cancel
GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals
GET /v2/payments/bulk-withdrawals/beneficiaries
POST /v2/payments/bulk-withdrawals/beneficiaries
DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/bulk-withdrawals/beneficiaries/{id}
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
POST /v2/payments/bulk-withdrawals/beneficiaries/bulk
POST /v2/payments/bulk-withdrawals/fee-quote
GET /v2/payments/bulk-withdrawals/withdrawals
GET /v2/payments/payout/history
GET /v2/payments/payout/history/{id}
-11252API_KEY_INVALID_SIGNATURE401Request has an invalid signatureAll signed endpoints
-11264API_KEY_INVALID401API key or secret is invalidAll signed endpoints
-11272API_KEY_IP_NOT_WHITELISTED401The originating IP Address has not been whitelisted.All signed endpoints
-93UNAUTHORIZED401UnauthorizedAll signed endpoints
-11132SUB_ACCOUNT_ALREADY_EXISTS403A subaccount with that label already existsPOST /v1/account/subaccount
PUT /v1/account/subaccount
-11133SUB_ACCOUNT_INTERNAL_TRANSFER_NOT_ALLOWED403Internal transfer did not succeedPOST /v1/account/subaccounts/transfer
-11136SUB_ACCOUNT_LIMIT_EXCEEDED403New subaccount limit exceededPOST /v1/account/subaccount
-11277API_KEY_ENDPOINT_NOT_ALLOWED403This API key does not have permission to access this endpointAll signed endpoints
-13104RECEIVE_ADDRESS_NOT_SUPPORTED_IN_REGION403Deposit address is not supported in your regionGET /v1/wallet/crypto/{currency}/deposit/address
-16098PAYMENTS_USER_ACCESS_NOT_CONFIGURED403Payments access is not configured for this user.GET /v2/payments/bulk-withdrawals/batches/{id}
GET /v2/payments
GET /v2/payments/{id}
GET /v2/payments/collect/events
GET /v2/payments/collect/events/{id}
GET /v2/payments/collect/history
GET /v2/payments/collect/runs/{id}
GET /v2/payments/collect/runs/{id}/payments
GET /v2/payments/collect/runs/history
GET /v2/payments/collect/schedules
GET /v2/payments/collect/settlements
GET /v2/payments/collect/settlements/{id}
GET /v2/payments/collect/settlements/{id}/payments
GET /v2/payments/collect/settlements/wallet
GET /v2/payments/collect/upcoming
GET /v2/payments/collections/history
GET /v2/payments/account/balances/{type}
GET /v2/payments/bulk-withdrawals/banks
GET /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches/{id}/cancel
GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals
GET /v2/payments/bulk-withdrawals/beneficiaries
POST /v2/payments/bulk-withdrawals/beneficiaries
DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/bulk-withdrawals/beneficiaries/{id}
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
POST /v2/payments/bulk-withdrawals/beneficiaries/bulk
POST /v2/payments/bulk-withdrawals/fee-quote
GET /v2/payments/bulk-withdrawals/withdrawals
GET /v2/payments/payout/history
GET /v2/payments/payout/history/{id}
-111MARKET_SUMMARY_NOT_FOUND404Market summary not foundGET /v1/public/{currencyPair}/marketsummary
-13403SEND_NOT_FOUND404Could not find sendGET /v1/wallet/crypto/{currency}/withdraw/{id}
-13422ADDRESS_BOOK_ENTRY_NOT_FOUND404Could not find address book entry.POST /v1/wallet/crypto/{currency}/withdraw
-14203COULD_NOT_GET_LINKED_ACCOUNT404The requested bank account does not existDELETE /v1/wallet/fiat/{currency}/accounts/{id}
GET /v1/wallet/fiat/{currency}/accounts/{id}
GET /v1/wallet/fiat/{currency}/withdraw/estimate-fee
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
-15114UNIQUE_DEPOSIT_REFERENCE_NOT_FOUND404Deposit reference not foundGET /v2/wallet/fiat/{currency}/payment/references/{referenceCode}
DELETE /v2/wallet/fiat/{currency}/payment/references/{referenceCode}
PUT /v2/wallet/fiat/{currency}/payment/references/{referenceCode}
PUT /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference
-15118FIAT_DEPOSIT_NOT_FOUND404Deposit not foundDELETE /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference
PUT /v2/wallet/fiat/{currency}/payment/deposits/{publicId}/reference
-15122BULK_DEPOSIT_REFERENCE_JOB_NOT_FOUND404Bulk deposit job not foundGET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}
GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}/items
-15300COULD_NOT_FIND_FIAT_WITHDRAWAL404The requested withdrawal does not existGET /v1/wallet/fiat/{currency}/withdrawals/{id}
-18101PAYMENT_BENEFICIARY_NOT_FOUND404Payment beneficiary not found.POST /v2/crypto/payments
-18106PAYMENTS_API_DISABLED404API payments are not enabled.POST /v2/fiat/payments
POST /v2/crypto/payments
-18121WEBHOOK_SUBSCRIPTION_NOT_FOUND404Webhook subscription not foundDELETE /v1/webhooks/{id}
GET /v1/webhooks/{id}
PUT /v1/webhooks/{id}
GET /v1/webhooks/{id}/deliveries
GET /v1/webhooks/{id}/events/{eventId}
-18123WEBHOOK_EVENT_NOT_FOUND404Webhook event not foundGET /v1/webhooks/{id}/events/{eventId}
NOT_FOUNDNOT_FOUND404Resource not found.GET /v2/payments/bulk-withdrawals/batches/{id}
GET /v2/payments/{id}
GET /v2/payments/collect/events/{id}
GET /v2/payments/collect/runs/{id}
GET /v2/payments/collect/settlements/{id}
GET /v2/payments/collect/settlements/{id}/payments
GET /v2/payments/collect/settlements/wallet
GET /v2/payments/account/balances/{type}
POST /v2/payments/bulk-withdrawals/batches/{id}/cancel
GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals
DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/bulk-withdrawals/beneficiaries/{id}
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/payout/history/{id}
-11423SUB_ACCOUNT_PROFILE_INFO_ALREADY_EXISTS409Sub account with Id, E-mail or Cell number already existsPOST /v1/account/subaccount
PUT /v1/account/subaccount
-15124BULK_DEPOSIT_REFERENCE_JOB_IN_PROGRESS409A bulk deposit job is already being processedPOST /v2/wallet/fiat/{currency}/payment/bulk-references
-18103PAYMENT_BENEFICIARY_NOT_ACTIVE409The selected payment beneficiary is not active.POST /v2/fiat/payments
POST /v2/crypto/payments
CONFLICTCONFLICT409Resource conflict.POST /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/beneficiaries
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
-15116UNIQUE_DEPOSIT_REFERENCE_RATE_LIMIT_EXCEEDED429Daily deposit reference generation limit exceededPOST /v2/wallet/fiat/{currency}/payment/references
POST /v2/wallet/fiat/{currency}/payment/bulk-references
-15119UNIQUE_DEPOSIT_REFERENCE_OVERALL_LIMIT_EXCEEDED429Total deposit reference limit reachedPOST /v2/wallet/fiat/{currency}/payment/references
POST /v2/wallet/fiat/{currency}/payment/bulk-references
-15111FIAT_DEPOSITS_NOT_ALLOWED_FOR_CURRENCY451Deposits in the selected currency are not supported in your regionGET /v1/wallet/fiat/{currency}/deposit/reference
GET /v1/wallet/fiat/{currency}/deposit/reference/{buyCurrencySymbol}
-15134CURRENCY_NOT_ALLOWED_FOR_FIAT_DEPOSIT_AUTO_BUY451Auto-buys in the selected currency are not supported in your regionGET /v1/wallet/fiat/{currency}/deposit/reference/{buyCurrencySymbol}
-15320FIAT_WITHDRAWALS_NOT_ALLOWED_FOR_CURRENCY451Withdrawals in the selected currency are not supported in your regionGET /v1/wallet/fiat/{currency}/accounts
POST /v1/wallet/fiat/{currency}/accounts
GET /v1/wallet/fiat/{currency}/accounts/{id}
GET /v1/wallet/fiat/{currency}/banks
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
-11257API_KEY_REQUEST_BLACKLISTED500Duplicate message receivedAll signed endpoints
-13423ADDRESS_BOOK_ENTRY_CURRENCY_WRONG500Address book entry not valid for specified currencyPOST /v1/wallet/crypto/{currency}/withdraw
-15317BANK_REMOTE_FETCH_FAILURE500Unable to fetch remote list of banksPOST /v1/wallet/fiat/{currency}/accounts
GET /v1/wallet/fiat/{currency}/banks
POST /v2/fiat/payments
-19202INSUFFICIENT_LIQUIDITY_FOR_BORROW500The borrow amount is unavailable currently, please try again laterPOST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
-19502CURRENCY_UNDER_MAINTENANCE500Currency currently under maintenance. Please try again in a few minutes.POST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
POST /v1/account/subaccounts/transfer
-29BLOCKCHAIN_SEND_FAILURE500Unknown Blockchain Send FailurePOST /v1/wallet/crypto/{currency}/withdraw
-30COULD_NOT_GET_RECEIVE_ADDRESS500Could not get deposit addressGET /v1/wallet/crypto/{currency}/deposit/address
-46WITHDRAW_UNAVAILABLE500Withdrawal currently unavailable.POST /v1/wallet/crypto/{currency}/withdraw
POST /v2/crypto/payments
INTERNAL_ERRORINTERNAL_ERROR500An internal error occurred.GET /v2/payments/bulk-withdrawals/batches/{id}
GET /v2/payments
GET /v2/payments/{id}
GET /v2/payments/collect/events
GET /v2/payments/collect/events/{id}
GET /v2/payments/collect/history
GET /v2/payments/collect/runs/{id}
GET /v2/payments/collect/runs/{id}/payments
GET /v2/payments/collect/runs/history
GET /v2/payments/collect/schedules
GET /v2/payments/collect/settlements
GET /v2/payments/collect/settlements/{id}
GET /v2/payments/collect/settlements/{id}/payments
GET /v2/payments/collect/settlements/wallet
GET /v2/payments/collect/upcoming
GET /v2/payments/collections/history
GET /v2/payments/account/balances/{type}
GET /v2/payments/bulk-withdrawals/banks
GET /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches/{id}/cancel
GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals
GET /v2/payments/bulk-withdrawals/beneficiaries
POST /v2/payments/bulk-withdrawals/beneficiaries
DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/bulk-withdrawals/beneficiaries/{id}
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
POST /v2/payments/bulk-withdrawals/beneficiaries/bulk
POST /v2/payments/bulk-withdrawals/fee-quote
GET /v2/payments/bulk-withdrawals/withdrawals
GET /v2/payments/payout/history
GET /v2/payments/payout/history/{id}
-16097EXCHANGE_API_ERROR502Upstream service error.GET /v2/payments/bulk-withdrawals/batches/{id}
GET /v2/payments
GET /v2/payments/{id}
GET /v2/payments/collect/events
GET /v2/payments/collect/events/{id}
GET /v2/payments/collect/history
GET /v2/payments/collect/runs/{id}
GET /v2/payments/collect/runs/{id}/payments
GET /v2/payments/collect/runs/history
GET /v2/payments/collect/schedules
GET /v2/payments/collect/settlements
GET /v2/payments/collect/settlements/{id}
GET /v2/payments/collect/settlements/{id}/payments
GET /v2/payments/collect/settlements/wallet
GET /v2/payments/collect/upcoming
GET /v2/payments/collections/history
GET /v2/payments/account/balances/{type}
GET /v2/payments/bulk-withdrawals/banks
GET /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches/{id}/cancel
GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals
GET /v2/payments/bulk-withdrawals/beneficiaries
POST /v2/payments/bulk-withdrawals/beneficiaries
DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/bulk-withdrawals/beneficiaries/{id}
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
POST /v2/payments/bulk-withdrawals/beneficiaries/bulk
POST /v2/payments/bulk-withdrawals/fee-quote
GET /v2/payments/bulk-withdrawals/withdrawals
GET /v2/payments/payout/history
GET /v2/payments/payout/history/{id}
EXCHANGE_API_ERROREXCHANGE_API_ERROR502Upstream service error.GET /v2/payments/bulk-withdrawals/batches/{id}
GET /v2/payments
GET /v2/payments/{id}
GET /v2/payments/collect/events
GET /v2/payments/collect/events/{id}
GET /v2/payments/collect/history
GET /v2/payments/collect/runs/{id}
GET /v2/payments/collect/runs/{id}/payments
GET /v2/payments/collect/runs/history
GET /v2/payments/collect/schedules
GET /v2/payments/collect/settlements
GET /v2/payments/collect/settlements/{id}
GET /v2/payments/collect/settlements/{id}/payments
GET /v2/payments/collect/settlements/wallet
GET /v2/payments/collect/upcoming
GET /v2/payments/collections/history
GET /v2/payments/account/balances/{type}
GET /v2/payments/bulk-withdrawals/banks
GET /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches/{id}/cancel
GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals
GET /v2/payments/bulk-withdrawals/beneficiaries
POST /v2/payments/bulk-withdrawals/beneficiaries
DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/bulk-withdrawals/beneficiaries/{id}
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
POST /v2/payments/bulk-withdrawals/beneficiaries/bulk
POST /v2/payments/bulk-withdrawals/fee-quote
GET /v2/payments/bulk-withdrawals/withdrawals
GET /v2/payments/payout/history
GET /v2/payments/payout/history/{id}
-11652INTERNAL_TRANSFERS_NOT_AVAILABLE503Internal transfers are currently not available.POST /v1/account/subaccounts/transfer
-12015WITHDRAWALS_NOT_AVAILABLE503Withdrawals are currently not available.POST /v1/wallet/crypto/{currency}/withdraw
POST /v1/wallet/fiat/{currency}/withdraw
POST /v2/fiat/payments
POST /v2/crypto/payments
-15117UNIQUE_DEPOSIT_REFERENCES_FEATURE_DISABLED503Unique deposit references are not available at this timeGET /v2/wallet/fiat/{currency}/payment/references/{referenceCode}
DELETE /v2/wallet/fiat/{currency}/payment/references/{referenceCode}
PUT /v2/wallet/fiat/{currency}/payment/references/{referenceCode}
POST /v2/wallet/fiat/{currency}/payment/references
GET /v2/wallet/fiat/{currency}/payment/references
GET /v2/wallet/fiat/{currency}/payment/deposits
-15120BULK_DEPOSIT_REFERENCE_FEATURE_DISABLED503Bulk deposit references are not available at this timePOST /v2/wallet/fiat/{currency}/payment/bulk-references
GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}
GET /v2/wallet/fiat/{currency}/payment/bulk-references/{jobId}/items
-16099PAYMENTS_BACKEND_PROXY_DISABLED503Payments backend is not available.GET /v2/payments/bulk-withdrawals/batches/{id}
GET /v2/payments
GET /v2/payments/{id}
GET /v2/payments/collect/events
GET /v2/payments/collect/events/{id}
GET /v2/payments/collect/history
GET /v2/payments/collect/runs/{id}
GET /v2/payments/collect/runs/{id}/payments
GET /v2/payments/collect/runs/history
GET /v2/payments/collect/schedules
GET /v2/payments/collect/settlements
GET /v2/payments/collect/settlements/{id}
GET /v2/payments/collect/settlements/{id}/payments
GET /v2/payments/collect/settlements/wallet
GET /v2/payments/collect/upcoming
GET /v2/payments/collections/history
GET /v2/payments/account/balances/{type}
GET /v2/payments/bulk-withdrawals/banks
GET /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches
POST /v2/payments/bulk-withdrawals/batches/{id}/cancel
GET /v2/payments/bulk-withdrawals/batches/{id}/fee-quote
PUT /v2/payments/bulk-withdrawals/batches/{id}/label
GET /v2/payments/bulk-withdrawals/batches/{id}/withdrawals
GET /v2/payments/bulk-withdrawals/beneficiaries
POST /v2/payments/bulk-withdrawals/beneficiaries
DELETE /v2/payments/bulk-withdrawals/beneficiaries/{id}
GET /v2/payments/bulk-withdrawals/beneficiaries/{id}
PUT /v2/payments/bulk-withdrawals/beneficiaries/{id}
POST /v2/payments/bulk-withdrawals/beneficiaries/bulk
POST /v2/payments/bulk-withdrawals/fee-quote
GET /v2/payments/bulk-withdrawals/withdrawals
GET /v2/payments/payout/history
GET /v2/payments/payout/history/{id}