Cards API Error Codes

How to read an error

Every failed request answers with a JSON envelope carrying an errorCode and a human-readable message:

{
  "errorCode": 63001,
  "errorMsgs": ["No card exists with the given identifier."]
}

Branch on errorCode, not on the HTTP status. The status is auxiliary: the same code can arrive with different statuses depending on which operation produced it, while the code itself is stable. Each operation's possible statuses are declared in the OpenAPI specification.

The negative codes and the 13xxx / 19xxx families documented under Error Codes belong to the Payments API and are unaffected by this catalogue.

The Retry column marks the codes where repeating the same request unchanged can succeed. Everything else needs the request, the card, or the account to change first — repeating such a request will fail the same way.


HTTP statuses

StatusWhat it means
400The request, the card, or the account does not allow the operation. Read errorCode for the reason
401Credentials are missing or invalid
403The credentials are not permitted to perform this operation
404The addressed card or resource does not exist
409Not returned by any operation 1
422The operation could not be processed
500An unexpected fault on our side
502A service the Cards API depends on refused the operation
503The service is temporarily unavailable — the same request can be retried

Error codes

Cross-cutting

CodeNameDescriptionRetry
62001InvalidRequestThe request is not valid. Check the reported fields and try again.No
62002IdempotencyKeyMissingThis operation requires an idempotency key.No
62003IdempotencyKeyConflictThis idempotency key was already used for a different request.No
62004ClientIntegrationSettingsMissingThis account is not configured for this operation. Contact support.No
62005ParentAccountLinkMissingThe specified cardholder is not linked to your account.No
62006UserNotApprovedThe cardholder has not completed onboarding.No
62007UserStateIncorrectThe cardholder is not in a state that allows this operation.No
62008MobilePhoneMissingThe cardholder has no mobile phone number on file.No
62009MobilePhoneNotVerifiedThe cardholder's mobile phone number is not verified.No
62010OperationRestrictedThis operation is not permitted for this account.No
62011ServiceTemporarilyUnavailableThe service is temporarily unavailable. Please retry in a few moments.Yes
62012OperationDeclinedThe operation was declined.No
62013OperationFailedThe operation could not be completed. Contact support if it keeps happening.No

Card lifecycle

CodeNameDescriptionRetry
63001CardNotFoundNo card exists with the given identifier.No
63002CardNotOwnedByCallerThe card exists but was not issued by this account.No
63003CardStateIncorrectThe card is not in a state that allows this operation.No
63004CardRequestStateIncorrectA previous request for this card is still being processed.Yes
63005CardBlockedByIssuerThe card is blocked by the issuer.No
63006CardCountLimitReachedThis account has reached its limit on the number of cards.No
63007CardHolderNameInvalidThe cardholder name cannot be embossed. Use Latin letters only.No
63008 2CardPinTooWeakThe PIN is too easy to guess. Choose a different one.No
63009CardProgramNotFoundNo card program exists with the given identifier.No
63010CardProgramNotResolvedNo card program is available for the requested card parameters.No
63011PromoCardNotFoundNo promo card exists with the given number.No
63012PromoCardAlreadyActivatedThe promo card is already activated.No
63013PromoCardActivationRestrictedThe promo card cannot be activated for this account.No
63014PromoCardProgramMismatchThe promo card does not match the requested card parameters.No
63015DeliveryOptionNotFoundThe requested delivery option is not available.No
63016DeliveryCountryNotFoundThe requested delivery country is not supported.No
63017CardIssuerRejectedThe card issuer rejected the operation.No
63018 2CardDesignNotAvailableThe requested card design is not available for this card program.No

Which errors each area can return

Use this to narrow down what to handle where. A code that is not listed for an area is not produced there today.

AreaOperationsCodes
AccountGET /v1/corporate-cards/account62001, 62011, 62012, 62013
Card issuancePOST /v1/corporate-cards62001–62013, 63006, 63007, 63009, 63010, 63017
Reading cardsGET /v1/corporate-cards, GET /v1/corporate-cards/{cardId}63001, 63002
Card managementPATCH /v1/corporate-cards/{cardId}, DELETE /v1/corporate-cards/{cardId}, PATCH /v1/corporate-cards/{cardId}/frozen62001, 62011, 62012, 62013, 63001–63005, 63017
PINPATCH /v1/corporate-cards/{cardId}/pin62001, 62004, 62011, 62012, 62013, 63001–63005, 63008, 63017
Physical card reissuePOST /v1/corporate-cards/{cardId}/physical62001, 62011, 62012, 62013, 63001–63005, 63010, 63015, 63016, 63017
Promo cardsPOST /v1/corporate-cards/promo/bind62001, 62005–62013, 63011–63014
TokenizationGET /v1/corporate-cards/users/USERID/cards/{cardIdentity}/meawallet-tokenization-info62001, 62005, 62011, 62012, 62013, 63001, 63002
3DS confirmationPOST /v1/corporate-cards/3Ds/{threeDsSessionId}/confirm62001, 62011, 62012, 62013, 63001, 63003–63005, 63017
Clearing reportsGET /v1/corporate-cards/clearing62001, 62011, 62012, 62013
Webhook testingPOST /v1/corporate-cards/webhooks/card-test, .../transaction-test, .../authorization-test62004, 62013

Notes

  1. Earlier documentation described 409 as the answer to a duplicate request. A duplicate idempotency key now answers 400 with 62003.
  2. 63008 and 63018 are published so the numbers stay stable, but no operation answers with them yet. A PIN the issuer considers too easy and an unavailable card design both answer 62001 today.