Skip to main content

Error catalog

Every error the TensorRail API returns nests under a top-level error key and carries a stable ERR_NNNN code. code is the field to branch on: it is the only one present everywhere.

There are two envelopes, and which you get depends on the endpoint:

EndpointsBody
/payments, /refunds, /customers, /disputes{ "error": { "type", "message", "code" } }, plus context fields such as field_name where they apply
/v1/* (reporting, account, API keys){ "error": { "code", "slug", "message", "retriable", "user_action", "doc_url", "request_id" } }

So slug, retriable, user_action and doc_url are available on the /v1/* surface and should not be relied on when handling a failed payment or refund. Branch on code and you are correct on both. This page documents the code values you meet on the common integration paths, grouped by family. For the family semantics, the wire shape, and a handling recipe, see Error intelligence.

Treat it as a reference rather than a closed set: it grows as the platform does. Because every error body carries its own code, a code you have not met before is still handleable from the response alone: read the band for the family semantics, and look the code up here for whether re-attempting can succeed.

A small number of catalogued codes are not returned by any current code path; they stay on the page, under Reserved codes, rather than being deleted, so a code quoted in an older integration or a support ticket is still explained.

Branch on code, never on message

Codes are stable contract; message strings are for humans and logs and can change. When a code is retriable, always retry with the same Idempotency-Key.

Settlement codes are catalogue entries, not a merchant surface

ERR_3006, ERR_3040 to ERR_3043 and ERR_3045 to ERR_3048 belong to settlement, which is not self-served on the merchant API: /v1/settlements* and /v1/payouts return 404. Anything past reading your balance is arranged with your account manager. These codes are listed for completeness of the catalogue; you will not meet them on the endpoints this documentation covers. See Balances.

FamilyBandCodes documented here
Authentication and authorizationERR_1xxx20
Request validationERR_2xxx14
Business stateERR_3xxx41
Payment and declineERR_4xxx63
Server and rate limitsERR_5xxx14
Account policy and complianceERR_6xxx7
Total159

Authentication and authorization (ERR_1xxx)​

Credential and session problems. Fix your configuration; never retry these blindly.

CodeHTTPRetriableWhat it meansWhat to do
ERR_1001401noAn API key is required.Include your API key in the Authorization: Bearer <key> header.
ERR_1002401noThe API key is invalid.Check that the key was copied correctly. If you suspect the key is compromised, use Emergency revoke in your dashboard: it stops the key immediately.
ERR_1003401noThe API key has expired.Use the replacement key issued when this key was rotated, or create a new key in your dashboard.
ERR_1004403noThe API key lacks the required scope for this operation.Use a key with the necessary scopes, or update the existing key's scopes.
ERR_1005403noThe merchant account is not active.Contact support to reactivate the account.
ERR_1006403noThe request origin IP is not on the allowed list.Add that address to your IP allowlist from a machine that is already allowlisted. If no allowlisted machine is reachable, contact support: the allowlist is enforced fail-closed and cannot be edited from a blocked address.
ERR_1007401noYour session has expired.Sign in again.
ERR_1008401noThe session is invalid.Sign in again.
ERR_1009401noThis operation requires a confirmation token.Initiate the confirmation flow before retrying.
ERR_1010401noThe confirmation token is invalid.Request a fresh confirmation token.
ERR_1011401noUnauthorized.Verify your credentials and try again.
ERR_1012403noForbidden.This operation is not permitted with the current credentials.
ERR_1013401noSign-in credentials are invalid.Verify email and password and try again.
ERR_1014401yesThe verification code is invalid.Generate a fresh code from your authenticator app.
ERR_1015401noCredentials are invalid.Verify the credentials and retry.
ERR_1018401noUnauthorized for this operation.Verify credentials and required scope.
ERR_1019401yesThis action requires two-factor verification.Provide a fresh 6-digit code from your authenticator app and retry.
ERR_1020401yesThe two-factor verification window has expired.Re-verify with a fresh authenticator code and retry.
ERR_1021401yesThe two-factor verification proof is invalid.Re-verify with a fresh authenticator code and retry.
ERR_1022401noThis action requires two-factor authentication, which is not set up on your account.Set up two-factor authentication in Settings, then retry this action.

Request validation (ERR_2xxx)​

Your call was malformed. Fix the request; the field context in the error body tells you where.

CodeHTTPRetriableWhat it meansWhat to do
ERR_2001400noA required field is missing from the request.Add the missing field per the API reference.
ERR_2002400noA field has an invalid format.Reformat the value per the API reference.
ERR_2003400noA field value is out of the allowed range.Adjust the value to fall within the documented range.
ERR_2004400noThe currency is not supported.Use a supported currency.
ERR_2007415noThe request body is not valid JSON.Verify the body is valid JSON.
ERR_2008413noThe request body exceeds the maximum size.Reduce the payload size.
ERR_2009400noThe API version is not supported.Use a supported API version per the API reference.
ERR_2010400noThe parameter combination is not supported.Adjust the parameters per the API reference.
ERR_2011400noA threshold value is invalid.Verify the threshold falls in the documented range.
ERR_2012405noThe HTTP method is not allowed on this endpoint.Use the correct method per the API reference.
ERR_2013422noThe password does not meet policy requirements.Use a password meeting the documented requirements.
ERR_2014400noThe query parameter combination is not supported.Adjust the parameters per the API reference.
ERR_2029422noThe request cannot be processed as submitted.Review the request against the API reference.
ERR_2030501noThis operation is not yet implemented.This endpoint or operation is not available. Check the API reference for supported operations.

Business state (ERR_3xxx)​

The request was valid but the resource's current state does not allow it. Retrieve the resource and branch on its actual state rather than looping.

CodeHTTPRetriableWhat it meansWhat to do
ERR_3001422noThe available balance is insufficient for this operation.Top up the merchant balance or reduce the requested amount.
ERR_3002409noThe Idempotency-Key was reused with a different request body.Use a fresh Idempotency-Key or retry with the original body.
ERR_3003404noThe payment was not found.Verify the payment ID.
ERR_3004422noThe resource cannot transition from its current state to the requested state.Check the resource's current state.
ERR_3005422noThe refund amount exceeds the captured amount.Reduce the refund amount to at most the captured amount.
ERR_3007409noThe API key has already been rotated.Use the replacement key issued by that rotation. Your dashboard lists every key with its status.
ERR_3008409yesThe API key rotation cooldown is still active.Wait for the cooldown to elapse before rotating again, or use emergency revoke.
ERR_3009409noThe resource has already been provisioned.Use the existing resource or remove it before re-provisioning.
ERR_3010422noProvisioning must complete before this operation.Initiate provisioning from the dashboard.
ERR_3011404noThe merchant was not found.Verify the merchant identifier.
ERR_3012404noThe resource was not found.Verify the resource identifier.
ERR_3014422noRetry is not supported for this payment method.This payment cannot be retried in its current state.
ERR_3015422noThe confirmation token has expired.Request a fresh confirmation token.
ERR_3016404noThe customer was not found.Verify the customer identifier.
ERR_3017404noThe refund was not found.Verify the refund identifier.
ERR_3018409noThe resource already exists in our records.Use the existing resource or modify the request to avoid the conflict.
ERR_3019409noThe customer has an active mandate.Cancel the existing mandate before creating a new one.
ERR_3020422noMandate validation failed.Review the mandate parameters.
ERR_3022409noThe API key has already been revoked.This is a no-op; the key was already inactive.
ERR_3023422noEmergency key revocation requires a confirmation token in the request body.Include the typed confirmation value in the request body.
ERR_3024422noThe payment ID is invalid for this operation.Verify the payment ID and operation context.
ERR_3025422noThe maximum refund attempt count has been reached.No further refunds can be issued on this payment.
ERR_3027409yes, after 5sA ledger transaction is still being posted.Retry after a short delay; contact support if the condition persists.
ERR_3028404noThe referenced ledger transaction was not found.Verify the parent payment or ledger identifiers.
ERR_3029409noThis ledger operation was already completed.Treat the request as a duplicate; no further action is required.
ERR_3033404noThe payment to refund was not found.Verify the payment ID belongs to this account.
ERR_3034422noThis payment cannot be refunded in its current state.Only successfully captured payments can be refunded.
ERR_3035422noThe refund amount exceeds the remaining refundable balance on this payment.Reduce the refund amount to the remaining balance.
ERR_3039422noThe payment processor rejected this refund request.Review the payment state and try again, or contact support with the refund identifier.
ERR_3040404noThe settlement cycle was not found.Verify the cycle identifier or contact support.
ERR_3041404noThe settlement request was not found.Verify the request identifier.
ERR_3042409noThis operation is not valid for the settlement request in its current state.Refresh the request status and try again, or contact support.
ERR_3043410noThe agent quote has expired.Request a fresh quote from support.
ERR_3045404noThe saved wallet address was not found.Select a valid saved wallet or add a new one.
ERR_3046422noThe wallet chain does not match the request.Use a wallet that matches the selected chain.
ERR_3047403noSelf-service settlement requests are not enabled for this account yet.Contact support to initiate settlement during onboarding.
ERR_3048424noA remittance agent is not assigned to this corridor configuration.Contact support to complete corridor configuration.
ERR_3051422noThe API key's mode (test or live) does not match this operation.Use the correct test or live API key for this environment.
ERR_3066422noThis payment's method has no refund API.Ask your account manager for the refund: it is returned to the payer as a payout, and you bear the payout fee.
ERR_3069422noNo refund fee is configured in this payment's currency, so the refund cannot be priced.Contact your account manager to have the refund fee set for this currency. Nothing was refunded and nothing was charged.
ERR_3070409noThis rail cannot be enabled until every listed prerequisite is met.Resolve each prerequisite in the blockers list, then try again. Nothing was changed.

Payment and decline (ERR_4xxx)​

The payment was attempted and did not succeed. Whether to retry depends on retriable.

CodeHTTPRetriableWhat it meansWhat to do
ERR_4001402noThe card has expired.Ask the customer for a current card.
ERR_4002402noThe card was reported lost.Decline retry on this card. Request a different payment method.
ERR_4003402noThe card was reported stolen.Decline retry on this card. Flag for fraud review on repeat customers.
ERR_4004402noThe card is restricted for this type of transaction.Customer should contact card issuer or try a different card.
ERR_4005400noThe card number is invalid.Have the customer re-enter the card number.
ERR_4006400yesThe security code (CVC) is invalid.Have the customer re-enter the CVC.
ERR_4007400noThe card expiry date is invalid.Have the customer re-enter the expiry.
ERR_4008402noThe card issuer declined the transaction without a specific reason.Customer should contact their card issuer or use a different payment method.
ERR_4009402noThe card issuer requested the card be retained.Do not retry. Treat as a security event; advise customer to contact issuer.
ERR_4010402noThe card is blocked.Customer should contact their card issuer.
ERR_4011402yesThe PIN is incorrect.Have the customer re-enter the PIN.
ERR_4012402yes, after 3600sThe card has exceeded its allowed transaction frequency.Retry in an hour or use a different card.
ERR_4013402noThe card account is closed.Request a different payment method.
ERR_4014402noThe card account is invalid.Customer should verify card details with their issuer.
ERR_4015402noThis card network is not supported.Customer should use a different card brand or payment method.
ERR_4016402noThe card issuer requires manual authorization.Customer should contact their card issuer to authorize, then retry.
ERR_4017402noThe CVC check failed.Have the customer verify the CVC; decline retry if it still fails.
ERR_4018402noThe address verification check failed.Have the customer verify the billing address with their issuer.
ERR_4019402yesThe ZIP/postal code did not match.Have the customer verify the ZIP/postal code.
ERR_4020402yesThe card has insufficient funds.Customer should retry with a card that has sufficient balance.
ERR_4021402yes, after 86400sThe card has reached its allowed transaction count for the period.Retry tomorrow or use a different card.
ERR_4022402noThe transaction amount exceeds the card's per-transaction limit.Split into smaller transactions or use a different card.
ERR_4024402yes, after 86400sThe card has reached its allowed limit in this currency.Retry later or use a different currency.
ERR_4025402yes, after 86400sThe card has reached its daily spending limit.Retry after 24 hours or use a different card.
ERR_4026402yes, after 2592000sThe card has reached its monthly spending limit.Retry next month or use a different card.
ERR_4027402yes, after 3600sThe transaction was declined due to high-frequency activity.Wait an hour and retry, or use a different payment method.
ERR_4028402noThe cumulative transaction volume limit has been reached.Contact support to raise limits.
ERR_4030503yes, after 30sThe card issuer is temporarily unavailable.Retry in 30 seconds.
ERR_4031504yes, after 15sThe card issuer did not respond in time.Retry in 15 seconds.
ERR_4032503yes, after 60sNo route is available to the card network.Retry in 1 minute.
ERR_4040402noThis transaction was blocked due to a high-confidence fraud signal.Do not retry. Investigate the customer or order.
ERR_4041402yesThis transaction was flagged for review.Step up to 3DS authentication or contact the customer to verify before retrying.
ERR_4042402noThe card matched a fraud blocklist.Do not retry. Treat as a confirmed fraud signal.
ERR_4043402yes, after 3600sHigh-frequency activity from this customer matched a fraud rule.Wait an hour or step up authentication.
ERR_4044402yesThe transaction location does not match the card's country of issue.If legitimate, ask the customer to authenticate via 3DS, then retry.
ERR_4045402yesThe device used has a high fraud risk score.Step up to 3DS or contact the customer to verify identity.
ERR_4046402yesThe IP address has a high fraud risk score.Step up to 3DS or contact the customer to verify.
ERR_4047402noThe transaction was blocked by your merchant fraud filter.Review your fraud-filter configuration if this was a false positive.
ERR_4048402yesCardholder authentication failed during fraud verification.Retry with a fresh authentication challenge.
ERR_4060402yesStrong customer authentication is required for this transaction.Initiate a 3DS challenge and retry.
ERR_4061402yesThe cardholder failed 3DS authentication.Ask the customer to try again or use a different card.
ERR_4063402yesThe cardholder did not complete 3DS authentication in time.Retry the 3DS challenge.
ERR_4064503yes, after 30sA technical issue occurred during 3DS authentication.Retry in 30 seconds.
ERR_4065503yes, after 30sThe card issuer's authentication service is unavailable.Retry in 30 seconds.
ERR_4066402noThe card issuer declined to authenticate the cardholder.Customer should contact their issuer.
ERR_4067402yesThis transaction requires Strong Customer Authentication (SCA) under PSD2.Initiate an SCA challenge (typically 3DS2).
ERR_4068402yesFrictionless 3DS is not available; a challenge is required.Initiate a challenge-flow 3DS authentication.
ERR_4080503yes, after 60sA temporary error occurred.Retry after a brief delay.
ERR_4081502yes, after 30sAn error occurred while processing the payment.Retry in 30 seconds.
ERR_4082504yes, after 15sThe payment processor did not respond in time.Retry in 15 seconds.
ERR_4083503yes, after 60sThe payment processor could not be reached.Retry in 1 minute.
ERR_4084503yes, after 120sThe payment service is temporarily unavailable.Retry in 2 minutes.
ERR_4085400noThe currency is not supported by this payment route.Use a different currency or payment method.
ERR_4086400noThe cardholder country is not supported for this transaction.Customer should use a different payment method.
ERR_4087400noThis payment method is not supported by the selected processor.Try a different payment method or contact support.
ERR_4088503noThe payment route is misconfigured.Contact support. This is a merchant-side configuration issue.
ERR_4089503noThe payment route is currently disabled.Contact support to enable the route, or use a different route.
ERR_4090503yes, after 60sNo suitable payment route is available.Retry in 1 minute; if persistent, contact support.
ERR_4091503yes, after 60sThe acquirer network could not be reached.Retry in 1 minute.
ERR_4093400noThe payment processor rejected the request format.Contact support. This typically indicates an integration issue.
ERR_4094402noThe payment was declined.Customer should contact their card issuer or use a different payment method.
ERR_4098503yes, after 300sThe payment rail is temporarily unavailable.Retry in 5 minutes, or route through a different payment method while the rail is down.
ERR_4099402noThe payment was declined for an unspecified reason.Contact support if this persists; the failure will be reviewed and reclassified.

Server and rate limits (ERR_5xxx)​

Our side, or you are going too fast. These are the ones worth retrying with backoff.

CodeHTTPRetriableWhat it meansWhat to do
ERR_5003504yes, after 15sAn upstream service timed out.Retry in 15 seconds.
ERR_5004500yes, after 30sA database operation failed.Retry in 30 seconds; contact support if persistent.
ERR_5005503yes, after 60sAn upstream service is unavailable.Retry in 1 minute.
ERR_5006503noThe payment service is not configured for this operation.Contact support. This is a configuration issue.
ERR_5007503yes, after 5sThe idempotency check timed out.Retry in 5 seconds.
ERR_5008500yes, after 30sFailed to persist the payment intent.Retry in 30 seconds.
ERR_5009500yes, after 30sAudit logging failed.Retry; contact support if persistent.
ERR_5010503yes, after 30sA sync operation failed.Retry in 30 seconds.
ERR_5097500yes, after 30sA data integrity check failed.Retry; contact support if persistent.
ERR_5098500noA configuration error occurred.Contact support. This is a configuration issue.
ERR_5099500yes, after 30sAn internal error occurred.Retry; contact support if persistent.
ERR_5101429yesRequest rate exceeded.Retry after the period indicated by the Retry-After header.
ERR_5103429yesThis sensitive operation has been rate-limited.Wait before retrying; sensitive operations have lower rate limits than general traffic.
ERR_5999500noAn unknown error occurred.Contact support; this error has been logged for review.

Account policy and compliance (ERR_6xxx)​

Account-level rules. These need a person, usually your account manager.

CodeHTTPRetriableWhat it meansWhat to do
ERR_6005413noThe uploaded file exceeds the size limit.Reduce the file size and re-upload.
ERR_6006415noThe file type is not permitted.Re-upload using a supported file type.
ERR_6101404noThe compliance certificate was not found.Verify the certificate identifier.
ERR_6102400noThe compliance certificate type is invalid.Use a supported certificate type.
ERR_6103422noThe compliance certificate cannot transition from its current state to the requested state.Check the certificate's current state.
ERR_6104422noThe compliance certificate is expired or has invalid dates.Renew or correct the certificate dates.
ERR_6106400noCompliance certificate validation failed.Review the certificate fields.

Reserved codes (not currently returned)​

Cataloged but returned by no current code path (reserved for a future control, or retired). If you handle a code below in your integration, it is defensive, not load-bearing: nothing live sends it today.

CodeStatusWhat it would mean
ERR_2005ReservedThe amount is below the minimum allowed.
ERR_2006ReservedThe amount exceeds the maximum allowed.
ERR_3006ReservedThe settlement amount is below the minimum threshold.
ERR_3021ReservedThe payment has not succeeded.
ERR_3026ReservedThe payment route is disabled.
ERR_3050RetiredNo longer assigned. Refunds were once closed with this code after repeated delivery attempts; a refund whose outcome is not yet confirmed now stays in progress with its amount reserved.
ERR_4023ReservedThe transaction amount is below the minimum.
ERR_4029ReservedThe transaction exceeds the merchant floor limit.
ERR_4062ReservedThis card does not support 3DS authentication.
ERR_4092ReservedThe acquirer declined the transaction.
ERR_4095ReservedThe customer paid less than the requested amount.
ERR_4096ReservedThe customer paid more than the requested amount.
ERR_4097ReservedThe payment was not confirmed within the expected window.
ERR_5102ReservedMerchant quota exceeded.
ERR_6001ReservedKYB verification is required before this operation.
ERR_6002ReservedKYB verification is pending.
ERR_6003ReservedThe entity is on the blocklist.
ERR_6004ReservedA velocity limit was exceeded.
ERR_6105ReservedA duplicate compliance record exists.