NEW APP AVAILABLE FOR DOWNLOAD NOW

Get it on Google PlayDownload on the App Store

Error Code Registry

Every RizPay platform error code, generated from the backend source of truth

Generated reference. This page is generated directly from the central backend error code registry (154 codes). To regenerate it after a backend change, run yarn docs:errors from the landing project.

A few Partner API specific codes are returned as literal strings outside this registry: ENVIRONMENT_MISMATCH, PURCHASE_NOT_FOUND, and INVALID_PHONE_NUMBER. They are documented in Error Handling.

For the Partner API response format and the error codes you are most likely to encounter when integrating, start with Error Handling. This registry is the exhaustive platform-wide list, including codes used by the RizPay consumer apps.

Each code is a stable, machine-readable identifier. Match on the code, never on the message text: messages can change, codes do not.

How to read this page

  • Code: the machine-readable identifier returned in error responses.
  • Description: what triggers the error, from the backend registry.
  • User-facing message: the message shown to end users where one is mapped. Codes without a mapped message return a context-specific message.
  • The HTTP status in each section heading is the status the API returns for codes in that section.

Authentication Errors (HTTP 401)

CodeDescriptionUser-facing message
AUTH_REQUIREDNo authentication token providedPlease sign in to continue.
INVALID_CREDENTIALSWrong email/password combinationThe email or password you entered is incorrect. Please try again.
TOKEN_EXPIREDJWT token has expired-
TOKEN_INVALIDToken not found, malformed, or tampered-
TOKEN_REVOKEDToken has been revoked (user logged out elsewhere)-
REFRESH_TOKEN_INVALIDInvalid refresh token provided-
REFRESH_TOKEN_EXPIREDRefresh token has expired-
PASSKEY_INVALIDWebAuthn credential verification failedWe couldn't verify your passkey. Please try again, or use your password to sign in.
PASSKEY_NOT_VERIFIEDPasskey pending email verificationThis passkey hasn't been verified yet. Please verify it from your email, then try again.
PASSKEY_UNKNOWNUnknown passkey credential ID-
AUTH_FAILEDGeneral authentication failure-

Authorization Errors (HTTP 403)

CodeDescriptionUser-facing message
FORBIDDENGeneral authorization failureYou don't have permission to perform this action.
FEATURE_UNAVAILABLEThe feature is turned off via a feature flag (ops kill-switch / not yet ramped)This feature isn't available right now. Please check back soon.
ACCOUNT_ACCESS_DENIEDUser not authorized for account-
TRANSACTION_ACCESS_DENIEDUser not authorized for transactionYou cannot access this transaction.
EVENT_ACCESS_DENIEDUser not authorized for event-
CONVERSATION_ACCESS_DENIEDUser not a participant in conversation-
PLATFORM_RESTRICTEDPlatform restriction enabled (web user tries mobile-only action)-
INSUFFICIENT_SCOPEAPI client lacks required scope-
API_DISABLEDAccount API access turned off-
IP_NOT_ALLOWEDIP not in whitelist-
BUSINESS_ACCOUNT_REQUIREDBusiness account required for this feature-

Validation Errors (HTTP 400)

CodeDescriptionUser-facing message
VALIDATION_ERRORGeneral validation failurePlease check your input and try again.
MISSING_PARAMETERRequired field not providedSome required information is missing. Please provide all required details and try again.
INVALID_PARAMETERField value fails validation-
MESSAGE_BLANKEmpty conversation message contentYour message is empty. Please type something and try again.
CONVERSATION_CLOSEDMessage sent to a closed conversationThis conversation has been closed, so your message wasn't sent. If you need more help, please start a new conversation.
MESSAGE_DUPLICATEConversation message client id reused outside its original conversation-
MESSAGE_TOO_LONGConversation message content over the allowed lengthYour message is too long. Please shorten it to %{limit} characters or fewer and try again.
GUEST_SUPPORT_ACTIVEGuest support: an open guest thread already exists for this contact (#869) - the guest is told to continue via the link emailed to them, not to start another.-
INVALID_PHONE_NUMBERInitiation called with a missing or malformed phone numberThat doesn't look like a valid phone number. Please check it and try again.
MESSAGE_REQUEST_NOT_FOUNDAction attempted on a thread the user does not participate in-
RECEIPT_NOT_SHAREABLEReceipt sharing attempted for a transaction that is not successfulThis payment hasn't completed, so a receipt can't be shared yet. Once it shows as successful in your history, you can share its receipt.
INVALID_EMAILInvalid email format-
INVALID_PHONEInvalid phone number formatThat doesn't look like a valid phone number. Please check it and try again.
INVALID_AMOUNTInvalid amount value-
INVALID_CATEGORYInvalid category parameterPlease select a valid transaction type (purchase or funding).
EMAIL_EXISTSDuplicate email registration-
PHONE_EXISTSDuplicate phone registration-
SAME_EMAILEmail change to same email-
DUPLICATE_REFERENCEDuplicate transaction reference-

Resource Not Found Errors (HTTP 404)

CodeDescriptionUser-facing message
NOT_FOUNDGeneric not found-
USER_NOT_FOUNDUser doesn't existWe couldn't find an account with this email address. Please check your email or create a new account.
ACCOUNT_NOT_FOUNDAccount doesn't existWe couldn't find an account for your profile. Please contact support.
TRANSACTION_NOT_FOUNDTransaction doesn't existThis transaction could not be found.
PRODUCT_NOT_FOUNDProduct doesn't exist or inactiveThis product is no longer available. Please select a different one.
DEVICE_NOT_FOUNDDevice not in database-
SCHEDULE_NOT_FOUNDSchedule doesn't exist-
EVENT_NOT_FOUNDEvent doesn't exist-
COMMISSION_NOT_FOUNDCommission doesn't exist-
CONVERSATION_NOT_FOUNDConversation doesn't existWe couldn't find that conversation. It may have been removed.
BENEFICIARY_NOT_FOUNDBeneficiary doesn't exist (or not owned by the current account)We couldn't find that saved contact. It may have already been removed.
SESSION_NOT_FOUNDSession doesn't exist-
PASSKEY_NOT_FOUNDPasskey doesn't exist-

Session & Verification Errors (HTTP 400/401)

CodeDescriptionUser-facing message
SESSION_EXPIREDSession past TTLYour session has expired. Please sign in again.
MAGIC_LINK_INVALIDMagic link not found or usedThis sign-in link is invalid or has expired. Please request a new one.
MAGIC_LINK_EXPIREDMagic link past expiration-
MAGIC_LINK_USEDMagic link already used-
VERIFICATION_CODE_INVALIDWrong verification code entered-
VERIFICATION_CODE_EXPIREDVerification code past expiration-
TOO_MANY_ATTEMPTSMax verification attempts exceeded-
KYC_TIER_REQUIREDSender has not completed the KYC tier required to move money-
TRANSACTION_CODE_REQUIREDSender must set a transaction code before moving moneyPlease set up your transaction code before sending money. It keeps your transfers secure, and no money has left your account.

Rate Limiting Errors (HTTP 429)

CodeDescriptionUser-facing message
RATE_LIMIT_EXCEEDEDGeneral rate limit hitFor your security, we've paused new attempts. Please wait a moment and try again.
LOGIN_RATE_LIMITEDToo many login attemptsFor your security, we've paused sign-in attempts. Please wait a few minutes and try again.
REGISTRATION_RATE_LIMITEDToo many registrations from IP-
PASSWORD_RESET_RATE_LIMITEDToo many password reset requests-
EMAIL_CHANGE_RATE_LIMITEDToo many email change requests-
VERIFICATION_RATE_LIMITEDToo many verification code requests-

Financial Transaction Errors (HTTP 400)

CodeDescriptionUser-facing message
INSUFFICIENT_BALANCEAccount balance too lowYou don't have enough funds. Please top up your wallet and try again.
OVERAGE_DISABLEDOverage billing is disabled on subscription-
TRANSACTION_FAILEDGeneral transaction failureWe couldn't complete your transaction. Please try again, and contact support if you were charged.
PURCHASE_FAILEDPurchase processing failed-
PRODUCT_UNAVAILABLEProduct or provider down.This product is currently unavailable. Please try again later or choose a different option.
PROVIDER_PRICE_CHANGEDProvider price has changed since product was last synced - user must retryThis product's price has been updated. Please go back and try again.
PROVIDER_ERRORExternal provider failure-
TRANSACTION_LIMIT_EXCEEDEDAmount over limit-
RECIPIENT_NOT_FOUNDTransfer recipient could not be resolved-
TRANSFER_TO_SELFTransfer where sender and recipient are the same accountYou can't send money to yourself. Please choose a different recipient.
INVALID_TRANSACTION_TYPEInvalid transaction type-
VIRTUAL_ACCOUNT_EXISTSDuplicate virtual account requestYou already have a virtual account. Please use your existing account for bank transfers.
DISPUTE_UNAUTHORIZEDUser not authorized to disputeYou cannot dispute this transaction.
DISPUTE_NOT_ALLOWEDTransaction not eligible for disputeThis transaction can't be disputed. If you think this is a mistake, please contact support.
DISPUTE_FAILEDDispute creation errorWe couldn't create your dispute. Please try again later.
INVALID_STATUSWrong transaction status for action-

Scheduled Transaction Errors (HTTP 400)

CodeDescriptionUser-facing message
SCHEDULE_CREATE_FAILEDSchedule validation/creation failed-
SCHEDULE_UPDATE_FAILEDSchedule update failed-
SCHEDULE_CANCEL_FAILEDSchedule cancel failed-
SCHEDULE_PAUSE_FAILEDSchedule not pausable-
SCHEDULE_RESUME_FAILEDSchedule not resumable-
SUGGESTION_ALREADY_PROCESSEDSuggested schedule already actioned-

Device & Security Errors (HTTP 400/401)

CodeDescriptionUser-facing message
DEVICE_NOT_REGISTEREDDevice not registeredWe don't recognise this device. Please sign in again on a registered device.
DEVICE_IDENTIFICATION_REQUIREDMissing device fingerprint in request-
ATTESTATION_FAILEDApp integrity attestation failed-
CHALLENGE_EXPIREDAttestation challenge token expired-
CANNOT_LOGOUT_CURRENTAttempted logout of current device-
CANNOT_REVOKE_CURRENTAttempted revocation of current device-
TRANSACTION_CODE_INVALIDTransaction code validation failedThat transaction code is incorrect. Please try again.
TRANSACTION_CODE_LOCKEDTransaction code locked after failuresFor your security, your transaction code is locked. Please use Forgot Code to reset it.

Registration Errors (HTTP 400)

CodeDescriptionUser-facing message
REGISTRATION_FAILEDGeneral registration failureWe couldn't complete this step of your registration. Please check your details and try again.
EMAIL_NOT_SUPPORTEDDisposable / unsupported email rejected at signupWe couldn't send your message with that email. Please use a permanent inbox like Gmail or Outlook so our team can reply to you.
ACCOUNT_EXISTSContact already belongs to a registered account (incl.-
REGISTRATION_SESSION_EXPIREDRegistration session TTL exceeded-
EMAIL_NOT_VERIFIEDEmail verification required-
DETAILS_NOT_COMPLETEDPersonal details step required-
AUTH_METHOD_REQUIREDAuth method setup required-
KYC_ALREADY_COMPLETEDKYC upgrade already completed-
PASSKEY_SETUP_FAILEDWebAuthn registration failed-
PASSKEY_OPTIONS_FAILEDWebAuthn challenge generation failedWe couldn't set up your passkey right now. Please try again in a moment.
INVALID_REGISTRATION_STEPAttempting to access a registration step out of order-

File Upload Errors (HTTP 400)

CodeDescriptionUser-facing message
NO_FILE_ATTACHEDNo file in request body-
FILE_ATTACH_FAILEDUpload processing fails-

WhatsApp Errors (HTTP 400/401)

CodeDescriptionUser-facing message
WHATSAPP_TOKEN_INVALIDInvalid WhatsApp session token-
WHATSAPP_TOKEN_EXPIREDWhatsApp token past expiration-
WHATSAPP_USER_MISMATCHWrong passkey for WhatsApp session-
WHATSAPP_LOGIN_FAILEDGeneral WhatsApp auth failure-
WHATSAPP_SIGNATURE_MISSINGMissing webhook signature header-
WHATSAPP_SIGNATURE_INVALIDInvalid webhook signature-
NO_WHATSAPP_SESSIONNo WhatsApp session exists-
NO_PHONE_NUMBERUser has no phone number-

AI Feature Errors (HTTP 400/403)

CodeDescriptionUser-facing message
AI_MESSAGE_BLANKEmpty AI message content-
AI_ACCESS_DENIEDUser not AI-enabled-
AI_SCORE_REQUIREDEarn AI score gate: resume / cover letter generation requires a recent AI scoreRun AI score first - it is required before generating documents.
PROFILE_INCOMPLETEEarn profile gate: profile is too thin to run AI scoring or document generationAdd basic profile info (name, a target role or summary, and at least one work experience) to use AI features.
RATE_LIMITEDEarn targeted AI rewrite: upstream LLM rate-limited the requestYou've sent us a few messages already. Please wait a little while before sending another.
LLM_UNAVAILABLEEarn targeted AI rewrite: upstream LLM is degraded or unreachableAI rewrite service is temporarily unavailable. Please try again in a moment.
LLM_CONTEXT_TOO_LONGEarn targeted AI rewrite: input would exceed the model's context windowThat text is too long to rewrite. Try shortening it and try again.
LLM_RESPONSE_INVALIDEarn targeted AI rewrite: LLM responded but the payload failed schema validationAI rewrite returned an unexpected response. Please try again.
UNSAFE_INPUTEarn targeted AI rewrite: input failed pre-LLM safety / length / shape check-

Password/Passcode Errors (HTTP 400)

CodeDescriptionUser-facing message
PASSWORD_UPDATE_FAILEDPassword change fails-
PASSCODE_UPDATE_FAILEDPasscode change fails-
PASSKEY_UPDATE_FAILEDPasskey nickname change fails-
PASSKEY_DELETE_FAILEDPasskey removal fails-
EMAIL_SEND_FAILEDEmail sending fails-

Two-Factor Authentication Errors (HTTP 400/422)

CodeDescriptionUser-facing message
TWO_FACTOR_INVALID_CODEInvalid TOTP/backup codeThe verification code you entered is incorrect. Please try again.
TWO_FACTOR_METHOD_NOT_AVAILABLE2FA method not available (disabled in config)This 2FA method is not currently available.
TWO_FACTOR_ALREADY_ENABLEDMethod already enabledThis 2FA method is already enabled on your account.
TWO_FACTOR_NO_SETUPNo setup in progressNo authenticator setup in progress. Please start the setup process first.
TWO_FACTOR_EMAIL_NOT_VERIFIEDEmail not verified (required for email 2FA)Please verify your email address before enabling email 2FA.
TWO_FACTOR_NO_PASSKEYSNo passkeys registered (required for passkey 2FA)You need to register at least one passkey before enabling passkey 2FA.
TWO_FACTOR_CANNOT_DISABLE_LASTCannot disable last methodYou cannot disable your last 2FA method. Please set up another method first.
TWO_FACTOR_EMAIL_CANNOT_BE_DEFAULTEmail cannot be default methodEmail cannot be set as your default 2FA method. Please choose authenticator or passkey.
TWO_FACTOR_METHOD_NOT_FOUNDMethod not foundThis 2FA method is not enabled on your account.
TWO_FACTOR_REQUIRES_PRIMARY_METHODRequires another method first (e.g., email needs authenticator/passkey)Please set up authenticator or passkey before enabling email 2FA.
TWO_FACTOR_INVALID_SETTINGInvalid login requirement settingPlease select a valid 2FA requirement setting.
TWO_FACTOR_REQUIREDCannot disable 2FA (required for admin users)Two-factor authentication is required for your account and cannot be disabled.

Server Errors (HTTP 500)

CodeDescriptionUser-facing message
INTERNAL_ERRORUnhandled exceptionSomething went wrong on our end. Please try again. If the problem continues, contact support.
SERVICE_UNAVAILABLEExternal service downThis service is no longer available. Please choose a different option.

Partner Consumer Platform

CodeDescriptionUser-facing message
CONSUMER_SUBDOMAIN_NOT_FOUND-We couldn't find this store. Please check the link and try again.
CONSUMER_SUBDOMAIN_INACTIVE-This storefront is not available.
CONSUMER_INVALID_TOKEN-Invalid or expired token. Please log in again.
CONSUMER_TOKEN_EXPIRED-Your session has expired. Please log in again.
CONSUMER_TOKEN_SUBDOMAIN_MISMATCH-Invalid or expired token. Please log in again.
CONSUMER_INVALID_PAYLOAD-We couldn't process this request. Please check your details and try again.

Next Steps