Skip to main content

5. API errors

All errors are returned in JSON format with a message field (and errors for validation details when applicable).

Error response format

{
"message": "Error description text"
}

For validation errors (e.g. on paymentData fields):

{
"message": "Invalid paymentData",
"errors": [
{ "field": "holder", "message": "Field is required" }
]
}

HTTP codes

CodeMeaning
200OK — request completed (including idempotent “already exists” response).
201Created — resource created.
401Unauthorized — authentication error (key, signature, timestamp).
403Forbidden — access denied.
404Not Found — object not found (payout/payin by external_id).
422Unprocessable Entity — validation or business rule error.
500Internal Server Error — server error.

Common messages (message)

MessageCauseAction
API key requiredX-API-Key header not sent.Add header with a valid key.
Invalid API keyKey not found or inactive.Check key and status in the dashboard.
Timestamp required / Invalid timestamp format / Timestamp window exceededMissing or invalid X-Timestamp, or request “expired”.Send current time (UTC) within the ±60 sec window.
Invalid signatureSignature does not match.Verify formula: HMAC-SHA256(secret, timestamp + body).
external_id is requiredexternal_id not sent in request body.Required for creating payout/payin.
amount must be a positive numberamount missing, not a number, or ≤ 0.Send a positive number.
currency is requiredCurrency not specified (for payout or payin).Send ISO currency code (3 chars).
card_number is requiredCard number not specified (for payout).Send recipient card number.
callback_url must be a valid URLcallback_url is not a valid URL.Use a valid URL or omit the field.
Invalid paymentDataValidation failed against shop schema.Check errors field and shop field schema.
Shop with code 'X' not found or inactive for this merchantUnknown or inactive explicit shop_code.Use an active shop code that belongs to the merchant.
Default shop is not configured for this merchantRead request without shop_code, but no default active shop exists.Configure a default active shop or pass shop_code.
Shop currency mismatch. Expected X.Request currency does not match shop currency.Use the shop’s currency.
Insufficient balance...Not enough balance for payout.Top up balance or reduce amount.
Payout not found / PayIn not foundNo operation with this external_id (and shop_code).Check identifier and shop_code if needed.
Only one payout per request is allowed...Array of payouts sent in body.Send one payout per request.
Only one payin per request is allowed...Array of payins sent in body.Send one payin per request.

Limit exceeded and other business errors return code 422 with text in message; contact support for format details if needed.