Skip to main content
Migo Docs

Error Catalog

Every business error code Migo's Gateway and CMS APIs can return. Codes are strings in the 7000–8099 range and are returned in the errors[] array of the CustomResponse envelope:

{
"success": false,
"message": "Optional human-readable summary",
"errors": [{ "code": "7200", "message": "Card not found in the system." }]
}

The HTTP status is derived from the code by the gateway response interceptor, in this precedence order: 500 (internal) β†’ 404 (not found) β†’ 400 (bad request) β†’ 401 (unauthorized) β†’ 403 (forbidden) β†’ 409 (conflict). A code not classified in any set defaults to 500.

Source of truth

This catalog is generated from MigoCodeErrors and MigoErrorMessages in @migo-payments/ali-common-tl (src/errors/error.enum.ts and src/errors/error.ts). Messages are the exact strings returned by the API.

General & Parameters (7000–7099)​

CodeNameHTTPMessage
7000CHECK_PARAMETERS400Check the parameters provided.
7001GREATER_THAN_ZERO400The amount must be greater than zero.
7002INVALID_FORMAT_AMOUNT400Invalid amount format.
7003CONSULT_WITH_SUPPORT500Please contact support for assistance.
7004SERVICES_NOT_FOUND404Required services not found.
7005PROCESSOR_NOT_FOUND404Payment processor not found.
7006EXTERNAL_ID_ALREADY_EXISTS409External ID already exists.
7007ERROR_GETTING_ACTIONS500Error retrieving actions.
7008ERROR_DATE_RTU500The RTU (Real-Time Update) date is invalid. The update date must be within the last 6 months from the current date.
7009ERROR_CAN_INVOICE_PARAM500Error with invoice parameters.
7010NOT_FOUND404Not found, verify endpoint
7011ERROR_CREATE_TERMINAL_PROCESSOR500Error creating terminal processor, please verify data and try again.
7012ERROR_UPDATE_TERMINAL_PROCESSOR500Error updating terminal processor, please verify data and try again.
7013TERMINAL_PROCESSOR_NOT_FOUND404Terminal processor not found
7014TERMINAL_PROCESSOR_EMPTY404Terminal does not have a terminal processor
7015TERMINAL_PROCESSOR_ALREADY_EXISTS409Terminal processor already exists
7016TERMINAL_PROCESSOR_INACTIVE409Terminal processor is inactive, if you want to activate it please contact support.

Users, Auth & OTP (7100–7199)​

CodeNameHTTPMessage
7100USER_NOT_FOUND404User not found in the system.
7101USER_ALREDY_EXIST409User already exists in the system, check your username.
7102USER_DOCUMENT_NOT_FOUND404User document not found.
7103ERROR_CREATE_USER_DOCUMENT500Error creating user document.
7104ERROR_READ_USER_FILE500Error reading user file.
7105ERROR_CREATE_LEAD500Error creating lead.
7106ERROR_FIND_USER_BY_DOCUMENT500Error finding user by document.
7107VERIFY_DOCUMENT_TYPE400Please verify the document type.
7108ACCOUNT_NOT_FOUND404Account not found in the system.
7109ERROR_CREATING_NEW_ACCOUNT500Error creating new account.
7110ERROR_CREATING_INVITATION_CODE500An error occurred while creating the invitation code, check the branch status
7111ERROR_PASSWORD_NOT_MATCH400Passwords do not match, please check and try again.
7112ERROR_MIN_LENGTH_PASSWORD400Please check that the string length has the indicated number of characters.
7113ERROR_LOWERCASE_PASSWORD400Please check that the string contains at least one lowercase letter.
7114ERROR_UPPERCASE_PASSWORD400Please check that the string contains at least one uppercase letter.
7115ERROR_AT_LEAST_NUMBER_PASSWORD400Please check that the string contains at least one number.
7116ERROR_AT_LEAST_SYMBOL_PASSWORD400Please check that the string contains at least one special character.
7117INVALID_PASSWORD400Invalid password, please check and try again.
7118ERROR_CREATING_USER500Error creating user, please contact support.
7119ERROR_PREVIOUS_PASSWORD409You cannot reuse a previous password, please try with a new one.
7120NOT_FOUND_INVITATION_CODE404Invitation code not found, please check your code and try again.
7121LEAD_ALREADY_REGISTERED409Lead already registered, please get a new invitation code.
7122TERMS_AND_CONDITIONS_NOT_ACCEPTED400Please accept the terms and conditions to continue.
7123DOCUMENT_ALREADY_EXIST409Document already exist, please verify it.
7124ERROR_FINDING_USER500Error finding user, please check your userId and try again.
7125ERROR_CREATING_USER_APPLICATION500Error creating user application, please contact support.
7126ERROR_CREATING_AUTH_USER500Error creating auth user, please contact support.
7127ERROR_USER_IS_ACCOUNT400User is an account, access denied.
7128USERNAME_NOT_FOUND404User not found, please check your username and try again.
7129APPLICATION_USER_NOT_FOUND404Application user not found, please check your user and try again.
7130LEAD_NOT_FOUND404Lead not found, please check your lead information and try again.
7131INVALID_OTP_PURPOSE400Invalid OTP purpose, please check the purpose and try again.
7132INVALID_OTP401Invalid OTP, please check the OTP and try again.
7133OTP_NOT_FOUND404OTP not found, please check the OTP and try again.
7134OTP_ALREADY_USED409OTP has already been used, please request a new OTP.
7135OTP_EXPIRED400OTP has expired, please request a new OTP.
7136OTP_REQUEST_FAILED400Failed to request OTP, please try again later.
7137ERROR_VALIDATING_USER500Error validating user, please contact support.
7138ERROR_ACCESS_LOGIN500An error occurred while logging in, please try later.
7139USER_SUSPENDED403You have exceeded the number of login attempts, your user has been temporarily suspended
7140ERROR_FINDING_SUSPENSION500Error finding suspension, check the users ms
7141ERROR_CREATING_SUSPENSION500Error creating suspension, check the users ms
7142ERROR_LOGOUT500Error logging out, check your token
7143UNAUTHORIZED_ACCESS_USER401Unauthorized access user, please check your credentials.
7144FORBIDDEN_ACCESS_USER403Your user does not have permission to access this resource
7145INVALID_USER_ACCESS_TOKEN500Invalid user access token, check your token
7146INVALID_USER_REFRESH_TOKEN500Invalid user refresh token, check your refresh token
7147INVALID_USER_SIGNATURE401Invalid user signature, check your token
7148EXPIRED_USER_TOKEN400Expired user token, please use refresh token or login again.
7149EXPIRED_USER_REFRESH_TOKEN400Expired user refresh token, please login again.
7150ERROR_CREATING_AUTH_USER_ROLE500Error creating auth user role, please contact support.
7151ERROR_CREATING_AUTH_USER_PERMISSION500Error creating auth user permission, please contact support.
7152ERROR_UPDATING_AUTH_USER_PERMISSION500Error updating auth user permission, please contact support.
7153ERROR_UPDATING_AUTH_USER_ROLE500Error updating auth user role, please contact support.
7154ERROR_FINDING_AUTH_USER_ROLE500Error finding auth user role, please contact support.
7155ERROR_FINDING_AUTH_USER_PERMISSION500Error finding auth user permission, please contact support.
7156AUTH_USER_ROLE_NOT_FOUND404Auth user role not found, check names
7157AUTH_USER_PERMISSION_NOT_FOUND404Auth user permission not found, check names
7158ROLE_ALREADY_EXIST409Role already exists, check roles
7159USER_PERMISSION_ALREADY_EXIST409User permission already exist, please verify data and try again.
7160ERROR_REGISTERING_FCM_TOKEN500Error registering FCM token, please verify data and try again.
7161ERROR_REMOVING_FCM_TOKEN500Error removing FCM token, please verify data and try again.
7162INVALID_REGISTRATION_TOKEN400Invalid registration token, please verify data and try again.
7163FCM_TOKEN_NOT_FOUND404FCM Token not found, please renew the device token
7164ERROR_UPDATING_USER_PASSWORD500Error updating user password, please verify data and try again.
7165PASSWORD_NOT_PROVIDED500Password not provided, please provide a password.
7166PASSWORDS_DO_NOT_MATCH500Passwords do not match, please check and try again.
7167ERROR_UPLOADING_PROFILE_IMAGE400Error uploading profile image, please try again later.
7168ERROR_GETTING_USER_PROFILE400Error getting user profile, please check your userId and try again.
7169ERROR_UPDATING_USER_PROFILE500Error updating user profile, please try again later.
7170ERROR_FETCHING_PROFILE_DATA500Error fetching profile data, please try again later.
7171INVALID_USER_STATUS409User status is invalid, if you want to activate it please contact support.
7172EXPIRED_USER_PASSWORD409User password is expired, please reset your password and try again.
7173SDK_NOT_VALID500Invalid sdk.

Cards (7200–7299)​

CodeNameHTTPMessage
7200CARD_NOT_FOUND404Card not found in the system.
7201INVALID_CARD_ACCESS400Unauthorized card access. Please verify the information entered.
7202ALREADY_ACTIVED409Card is already activated.
7203ALREADY_BLOCKED409Card is already blocked.
7204ALREADY_UNLOCKED409Card is already unlocked.
7205INCORRECT_PIN400Incorrect PIN entered.
7206CARD_EXPIRED400The card has expired.
7207CARD_NOT_CREATED500Error creating the card.
7208CARD_ALREADY_ASSIGNED409Card is already assigned to a user.
7209CARD_ALREADY_LINKED409Card is already linked to an account.
7210CARD_NOT_UPDATED500Error updating card information.
7211ERROR_CREATING_CARD500Error while creating card.
7212CARDS_NOT_FOUND404The user does not have any cards.
7213INVALID_STATUS_CARD400The card status is invalid. Kindly verify that your card is active
7214ERROR_GETTING_CARD500Error getting card, please check your cardId and try again.
7215ERROR_GETTING_USER_CARDS500Error getting user cards, please check your userId and try again.
7216ERROR_CREATING_CARD_USER_PERMISSION500Error creating card user permission, verify ids and names and try again.
7217ERROR_UPDATING_CARD_USER_PERMISSION500Error updating card user permission, verify ids and names and try again.
7218ERROR_FINDING_CARD_USER_PERMISSION500Error finding card user permission, verify ids and names and try again.
7219CARD_USER_PERMISSION_NOT_FOUND404Card user permission not found, verify ids and names and try again.
7220THIRD_PARTY_CARD_NOT_FOUND404Third party card not found, please verify suffix, username or id and try again.
7221ERROR_CREATING_THIRD_PARTY_CARD500Error creating third party card, please verify data and try again.
7222THIRD_PARTY_CARD_ALREADY_ASSIGNED409Third party card already exist, please verify suffix, username and try again.
7223CARD_ASSOCIATED_BELONGS_TO_THE_USER_WHO_MADE_THE_REQUEST409You cannot associate cards that already belong to the user
7224ERROR_CREATING_VIEW_TOKEN500Error creating view token, please verify data and try again.
7225VIEW_TOKEN_NOT_FOUND404View token not found, please verify data and try again.
7226ERROR_UNLINKED_THIRD_PARTY_CARD500Error unlinked third party card, please verify data and try again.
7227ERROR_UPDATING_THIRD_PARTY_CARD500Error updating third party card, please verify data and try again.

Transfers & Payments (7300–7399)​

CodeNameHTTPMessage
7300ERROR_CREATING_TRANSFER500Error while creating the transfer.
7301ERROR_UPDATING_TRANSFER500Error while updating the transfer.
7302ERROR_GETTING_HISTORY500Error retrieving transaction history.
7303INSUFFICIENT_FUNDS400Insufficient funds to complete the transaction.
7304INVALID_TRANSFER_STATUS400Invalid transfer status.
7305ERROR_CREATING_TRANSFER_TYPE500Error creating transfer type.
7306CARD_TRANSFER_NOT_FOUND404Card transfer not found.
7307ERROR_CREATING_TERMINAL_PAYMENT500Error creating terminal payment.
7308ERROR_TERMINAL_PAYMENT_STATUS500Error retrieving terminal payment status.
7309ERROR_UPDATING_TERMINAL_PAYMENT500Error updating terminal payment.
7310CARD_TRANSFER_DATE_NOT_VALID403The request is no longer valid because it must be completed within the same calendar day.
7311TOPUP_REASON_TOO_LONG400The reason for the recharge is very long.

Terminals, Businesses & Branches (7400–7499)​

CodeNameHTTPMessage
7400TERMINAL_NOT_FOUND404Terminal not found.
7401TERMINAL_INACTIVE400Terminal is inactive.
7402TERMINAL_PAYMENT_NOT_FOUND404Terminal payment not found.
7403ERROR_CREATING_TERMINAL500Error creating terminal.
7404ERROR_UPDATING_TERMINAL500Error updating terminal.
7405ERROR_CREATING_COMMERCE_CONFIG500Error creating commerce configuration.
7406ERROR_CREATING_COMMERCE500Error creating commerce.
7407COMMERCE_OR_USER_NOT_FOUND404Commerce or user not found.
7408BUSINESS_NOT_FOUND404Business not found.
7409ERROR_CREATING_BRANCH500Error creating branch, please contact support.
7410BRANCH_NOT_FOUND404Branch not found
7411ERROR_CREATING_BRANCH_ACCOUNT500An error occurred while creating the branch account, check the branch status and the existence of the account
7412BRANCH_ACCOUNT_NOT_FOUND404The branch account not found, please verify status branch
7413TERMINAL_ALREADY_LINKED409Terminal already linked, please get a new terminal.
7414BUSINESS_ALREADY_EXISTS409Business already exists, verify data and try again.
7415BRANCH_ALREADY_EXISTS409Branch already exists, verify data and try again.
7416BRANCH_AUTH_USER_NOT_FOUND404AuthUserId provided dont exists in branch auth user, please verify information.
7417BRANCH_AUTH_USER_OWNER_NOT_FOUND404Branch provided do not have a owner, please verify information.
7418ERROR_FINDING_BRANCH_AUTH_USER500Error getting branch auth user, please contact support.
7419TERMINAID_OR_DEVICEID_ARE_MISSING400Terminal ID or Device ID are missing, please verify data and try again.

Settlements & Regime (7500–7599)​

CodeNameHTTPMessage
7500ERROR_CREATING_SETTLEMENT500Error creating settlement.
7501SETTLEMENT_NOT_FOUND404Settlement not found.
7502ERROR_UPDATING_SETTLEMENT500Error updating settlement.
7503REGIME_NOT_VALID500Invalid tax regime.
7504REGIME_NOT_FOUND404Tax regime not found.
7505ERROR_CREATING_REGIME500Error creating tax regime.
7506ERROR_CREATING_ACCOUNT_CHANGE500Error creating account change.
7507DUPLICATE_SETTLEMENT500A settlement for current terminal payment already exists
7508CONFIG_NOT_FOUND404Config not found
7509CALLBACK_NOT_FOUND404Callback not found, please verify data and try again.
7510ERROR_GETTING_UNSETTLED_TERMINAL_PAYMENTS500Error getting unsettled terminal payments, please verify data and try again.

Clients, Roles, Permissions & Files (7600–7699)​

CodeNameHTTPMessage
7600ERROR_CREATING_CLIENT500Error creating client, please contact support.
7601ERROR_AUTHENTICATION_FAILED500Authentication failed, please check your credentials.
7602UNAUTHORIZED_ACCESS401Unauthorized access, please check your credentials.
7603EXPIRED_TOKEN400Token expired, please use refresh token or login again.
7604INVALID_SIGNATURE401Invalid signature, please check your token.
7605INVALID_REFRESH_TOKEN400Invalid refresh token, login again.
7606INVALID_ACCESS_TOKEN400Invalid access token, please check your token.
7607CLIENT_NOT_FOUND404Client not found, please check your merchant.
7608ERRROR_CREATING_PERMISSION500No message registered β€” falls back to 7003 (contact support).
7609ERROR_CREATING_ROLE500Error creating role, please contact support.
7610ERROR_CREATING_ROLE_PERMISSION500Error creating role permission, please contact support.
7611ROLES_NOT_FOUND404One or more roles not found, please verify names.
7612PERMISSIONS_NOT_FOUND404One or more permissions not found, please verify names.
7613ROLE_PERMISSIONS_NOT_FOUND404Role permissions not found, please contact support.
7614CLIENT_ROLE_NOT_FOUND404Client role not found, please contact support.
7615CLIENT_ROLE_FORBIDDEN403You do not have permission to access this resource.
7616KEYS_EXPIRED400The keys have expired, please rotate them.
7617ERROR_UPDATING_ROLE500Error updating role, please contact support.
7618INVALID_SIGNATURE_KEYS400The signature keys are invalid, please rotate keys and login again.
7619ERROR_UPLOADING_FILE500Error uploading file, please try again later.
7620INVALID_FILE_TYPE500Invalid file type, please upload a valid file.
7621NO_SOCIALS_PROVIDED400No social media links provided, please provide at least one social media link.
7622INVALID_SOCIAL_URL400Invalid social media URL provided, please check the URL format.
7623ERROR_UPLOADING_SOCIALS400Error uploading social media links, please try again later.
7624ERROR_SAVING_SOCIALS500Error saving social media links, please try again later.
7625ERROR_FETCHING_COMMERCE_DOCS500Error fetching commerce documents, please try again later.
7626MONTH_INVALID400The month is invalid. It must be a value between 01 and 12.
7627YEAR_INVALID400The year is invalid. It must be a valid year.
7628FILE_SIZE_LIMIT_EXCEEDED400The file size exceeds the maximum allowed limit of 16 MB.
7629INVALID_EXCEL_FILE_TYPE400Invalid file type. Only Excel files (.xlsx, .xls) are allowed.
7630FILE_IS_EMPTY400The file cannot be empty

Project Config & App Integrity (7700–7799)​

CodeNameHTTPMessage
7700PROJECT_CONFIG_NOT_FOUND404Project config not found
7701FORMS_NOT_FOUND500Project forms not found
7702FORM_DETAIL_NOT_FOUND404Form details not found
7703ERROR_UPDATING_PROJECT_CONFIG500Error updating project config, please contact support.
7704ERROR_CREATING_PROJECT_CONFIG500Error creating project config, please contact support.
7705MERCHANT_ALREADY_LINKED409Merchant already linked, please get a new merchant or verify it.
7706APP_INTEGRITY_VALIDATION_FAILED403Unrecognized app version.
7707DEVICE_INTEGRITY_VALIDATION_FAILED403Unrecognized device integrity status.
7708LICENSING_INTEGRITY_VALIDATION_FAILED403Unrecognized licensing status.
7709INTEGRITY_TOKEN_EXPIRED_OR_INVALID401Integrity token has expired or is invalid.
7710INTEGRITY_INVALID_HASH400Integrity hash is invalid.
7711INTEGRITY_INVALID_APPLICATION_ID400Integrity application ID is invalid.
7712APP_CONFIG_INTEGRITY_NOT_FOUND404App config integrity not found.

App / CMS Backoffice (8000–8099)​

CodeNameHTTPMessage
8000APP_ERROR_CREDENTIALS401Invalid credentials, please try again.
8001APP_NEED_CHANGE_PASSWORD401Please change your password first.
8002APP_INVALID_ACCESS_TOKEN401Invalid access token, please try again.
8003APP_INVALID_REFRESH_TOKEN401Invalid refresh token, please try again.
8004APP_INVALID_OTP401Invalid OTP, please try again.
8005APP_EMAIL_ALREADY_EXISTS409Email already exists, please try with another email.
8006APP_USER_NOT_FOUND404User not found, verify id
8007APP_PARTNER_NOT_FOUND404Partner not found, verify id
8008APP_PERMISSIONS_NOT_FOUND404Permissions assigned not found, assign permissions for this user.
8009APP_ERROR_USERS_FETCH500Invalid query parameters or partner ID not found
8010APP_STATUS_INVALID400Invalid user status
8011APP_USER_SUSPENDED403User suspended
8012APP_USER_NOT_CREATED400User not created, please try again.
8013APP_ERROR_CREATING_PERMISSIONS500Permission not created, please try again.
8014APP_ERROR_GETTING_PERMISSIONS500Error retrieving permissions, please try again.
8015APP_ERROR_ASSIGN_PERMISSIONS500Error when trying assign permissions for user.
8016APP_PERMISSIONS_ALREADY_ASSIGNED409One or more permissions already assigned by this user for partnerId
8017APP_ERROR_FINDING_ASSIGNED_PERMISSIONS500Error when finding assigned permissions for this user
8018APP_USER_INACTIVE403User is inactive
8019APP_USER_BLOCKED403User blocked
8020APP_INVALID_OTP_PURPOSE500Invalid OTP purpose.
8021APP_OTP_REQUIRED400OTP is required.
8022APP_TOKEN_INVALID401Token is invalid.
8023APP_CARDHOLDER_NOT_FOUND404Cardholder not found, check information
8024APP_TEMPORARY_PASSWORD_EXPIRED409The users temporary password has expired; please request a new one from support.
8025APP_PROCESS_NOT_CREATED409Process not created
8026APP_PROCESS_NOT_FOUND404Process not found
8027APP_PROCESS_NOT_UPDATED409Process not updated
8028APP_ERROR_PROCESS500Error processing request
8029APP_CLIENT_BALANCE_NOT_FOUND404Client balance not found
8030APP_CLIENT_BALANCE_ALREADY_EXISTS409Client balance already exists
8031APP_CLIENT_BALANCE_NOT_UPDATED500Client balance not updated
8032APP_ERROR_CLIENT_BALANCE500Error client balance
8033APP_INSUFFICIENT_FUNDS_IN_CLIENT_ACCOUNT409Insufficient funds in client account
8034APP_PROCESS_NOT_PENDING500Process not pending
8035APP_PROCESS_NOT_APPROVED500Process not approved
8036APP_PROCESS_NOT_REJECTED500Process not rejected

Notes​

  • The stable identifier is the error name (the MigoNameErrors key, e.g. CARD_NOT_FOUND). Each name maps to a fixed numeric code. Branch your client logic on code, but treat the name as the canonical registry key.
  • Codes are strings, not integers β€” compare them as strings ("7200", not 7200).
  • New codes are added over time. Treat unknown codes as generic errors and retry only when the HTTP status is retriable (e.g. 503/504).
  • A handful of codes have no message registered in MigoErrorMessages; the API falls back to 7003 (CONSULT_WITH_SUPPORT, "Please contact support for assistance.") for those.

The Middleware (Payment Links, tokenization, payments) returns errors in a different envelope (ErrorResponseDto) and exposes the business error in a field called ownCode (nested under error.ownCode) rather than errors[].code. The codes are short numeric strings (e.g. "2002") and do not overlap with the 7000–8099 range above.

Transaction lifecycle (2000–2099)​

These come back from the Middleware transaction surface β€” POST /mw-transactions (create) and POST /mw-default/transactions-hook (Payment Link hook). Public traffic reaches these through the mw.migopayments.com proxy, which rewrites the path.

HTTPownCodeCauseWhat to do
4002002Generic creation errorRetry; if it persists, contact support with the request payload and any uid returned.
4092003amount is outside clientConfig.createTransactionRangeAmount, or a value in processorAmount exceeds amountAdjust amount to fall in the configured range; ensure each processorAmount value is <= amount.
4002004End customer (userId) is blocked for this clientBlocked users cannot transact β€” unblock through your CMS workflow before retrying.
4002005End customer is suspended for this clientWait for the suspension to expire or remove it through CMS.
4002006End customer is excluded for this clientExcluded users cannot transact for this client at all.
4012007Invalid credentials β€” bearer token (for /mw-transactions) or privateKey/publicKey (for /mw-default/transactions-hook) does not match a registered applicationVerify you are using Sandbox credentials against Sandbox URLs. Confirm the token is sent without the Bearer prefix (see Authentication β†’ Merchant token).

Validation / configuration (5000–5099)​

These are returned when the request body is malformed or references something that does not exist in Migo configuration.

HTTPownCodeCauseWhat to do
4095000Required fields missing or invalid body shapeVerify amount, userId, channel, client (and privateKey/publicKey for /mw-default/transactions-hook) are present with the correct types.
4095004client slug not found in Migo configurationConfirm the slug spelling. If the client should exist, ask Migo to create or activate it.

Reading the error code defensively​

type MiddlewareError = {
message?: string;
error?: {
code?: number; // HTTP status associated with the error
ownCode?: string; // Migo business error code (string)
message?: string;
};
};

const code = err?.error?.ownCode; // Middleware (nested, string)
const fallback = err?.errors?.[0]?.code; // Gateway / CMS (string)

switch (String(code ?? fallback)) {
case '2007': return 'Invalid Migo credentials';
case '2003': return 'Amount out of allowed range';
case '5004': return 'Unknown client slug';
case '7200': return 'Card not found';
// ...
}