Skip to Content
Advanced TopicsError Code Catalog

Error Code Catalog

Every error returned by the Koywe Platform API carries a unique error.code like MC00015 or DC00010. The uppercase prefix identifies the domain (orders, merchants, policy, …); the numeric suffix is the specific error within that domain. This catalog lists all 685 codes currently registered across 51 domains.

Use the prefix table below to jump to a domain, or Ctrl-F for a specific code. Start with Common errors for the ones integrators hit first.

Error response shape

Every error response follows the same envelope:

{ "ok": false, "error": { "code": "BAA00008", "message": "The destination account currency does not match the order destination currency." } }

Always branch on error.code rather than the human-readable error.message. Messages may be reworded without notice; codes are stable.

Prefix → domain

PrefixDomainCodes
AUTHAuthentication & credentials33
BAABank accounts41
BIBank income (inbound deposits)7
BLCBlockchain14
BTBalance transfer4
CACCCrypto accounts6
CAPICrypto API9
CNTCountries5
COCompliance7
COMCommon / internal2
CRECrypto credentials7
CSIGCrypto signing3
CTContacts41
CUCurrencies8
CWCrypto whitelist3
CWHOOKCrypto webhooks3
DCDocuments (validation)11
DLDeals30
EMEmail delivery5
EWWEmbedded wallet20
FCFeature configuration3
FEFees & commissions18
FFMerchant feature flags4
GFFGlobal feature flags3
IMTInter-merchant transfer8
INVInvitations17
KACKoywe account4
LELedger17
MCMerchants42
NENotifications8
OBOrganization balance14
OKOnboarding KYB20
OROrders30
ORGOrganizations5
PERPermissions1
PIVBAPay-in virtual bank accounts16
PLPayment links33
PMPayment methods2
PMPPayment-method providers23
POPre-onboarding26
POLPolicy (MFA & approvals)30
PSPCPSP conciliation12
QEQuotes23
REReports12
SBXSandbox simulator5
SDSuite Domestic (Koywe 3)7
TKTurnkey (embedded wallet provider)6
TXTransactions5
UEUsers1
WAWebAuthn / passkeys27
WEWebhooks4

Common errors you’ll hit first

CodeStatusMessageWhat to do
MC00015403Merchant does not belong to the organizationThe merchant ID does not belong to the organization in your config/credentials. Re-run koywe init or double-check organizationId / merchantId in your profile. Note: GETs succeed silently; only POSTs fail — this is the common sandbox confusion.
DC00010400Invalid document number for the specified document type and countryThe document number does not match the format for the country and document type. Use valid test values in sandbox (see the testing guide for a per-country list).
BAA00008400The destination account currency does not match the order destination currency.The destination account currency does not match the order destination currency. Either pick a destination account whose currency matches, or change the order currency.
BAA00014409Insufficient balance for payoutThe merchant balance does not have enough funds in the origin currency for this payout. Fund the virtual account or reduce the amount.
POL00002403No policy defined for organization - zero privilege enforcedNo policy exists on the organization — zero-privilege deny. Create one with npx koywe policy create and add a matching rule before retrying.
POL00003403Operation denied by policy ruleAn active rule denied this operation. Inspect npx koywe policy show / policy rules list and either add a matching ALLOW rule or relax the existing DENY.
POL00006428MFA verification requiredMFA verification is required. Run the policy approval / MFA flow (passkey signing or --mfa-token), then retry.
POL00007428Approval required for this operationA human approval is required before this order executes. The order is held in ON_HOLD; pass --wait in flow order or poll and approve via the dashboard.
QE00003410Quote timeOut, You need to create a new QuoteThe quote expired (they are short-lived). Create a new quote and pass the fresh quoteId to the order.
QE00004409Quote already used in another orderThe quote was already consumed by another order. Quotes are single-use; create a new one.
BT00002400Insufficient balance in origin accountThe origin virtual account has insufficient balance for the balance transfer. Fund it or use a smaller amount.
OR00015400Order has expired and cannot be processedThe order expired before being completed. Create a new order with a later expirationDate (or omit it to use the default).
PL00011410The payment link has expiredThe payment link has expired. Create a new PAYMENT_LINK order.
PMP00007400Payment method amount is greater than the maximum amountThe amount exceeds the payment method provider maximum. Check the min/max bounds for the provider in your region.
PIVBA00014409Alias modification limit exceeded. You must wait 24 hours before modifying it againYou tried to change the virtual-account alias within 24 h of the last change. Wait or use a different account.

Full catalog

AUTH — Authentication & credentials

CodeStatusMessage
AUTH00001401Unauthorized
AUTH00002409Email already exists
AUTH00003500Failed to create credentials
AUTH00004400Invalid email format
AUTH00005400Invalid password
AUTH00006409UID already exists
AUTH00007503Authentication service unavailable
AUTH00008400One or more specified roles are invalid or not applicable for credentials creation.
AUTH00009409API name is already in use for this merchant
AUTH00010403Cannot rotate secret for credentials you do not own
AUTH00011403Only API users can rotate their secret
AUTH00012404API user not found in authentication system
AUTH00013500Failed to generate password reset link
AUTH00014500Failed to generate email verification link
AUTH00015400CLI auth callback is required
AUTH00016400CLI auth callback must be a valid URL
AUTH00017400CLI auth callback must use http protocol
AUTH00018400CLI auth callback must target 127.0.0.1
AUTH00019400CLI auth callback must include a valid port
AUTH00020400CLI auth state is required
AUTH00021500CLI auth frontend URL is not configured
AUTH00022400Target user is not an API user
AUTH00023403Target API user does not belong to the organization
AUTH00024404Organization is not initialized for passkeys
AUTH00025400Invalid delegated MFA stamped request
AUTH00026500Failed to register delegated MFA credential with the signing provider
AUTH00027404API user MFA credential not found
AUTH00028400Invalid delegated MFA public key format. Send a PEM-encoded P-256 PUBLIC KEY.
AUTH00029400Invalid delegated API key signature format. Send X-Stamp-Api-Key with a base64url JSON payload containing a compressed or uncompressed P-256 publicKey, SIGNATURE_SCHEME_TK_API_P256, and a hex signature.
AUTH00030400API user already has an active delegated MFA credential. Revoke the existing key before enrolling a new one.
AUTH00031400Invalid delegated MFA revocation request
AUTH00032500Failed to revoke delegated MFA credential with the signing provider
AUTH00033400Invalid wallet signing access approval request

BAA — Bank accounts

CodeStatusMessage
BAA00001404Account not found
BAA00002404Destination account not found for the merchant with the provided ID.
BAA00003404Origin account not found for the merchant with the provided ID.
BAA00004400The destination account cannot be a virtual account.
BAA00005400The destination account must belong to the contact specified in the order.
BAA00006400The destination account must be a virtual account for orders of type PAYIN.
BAA00007400The destination account must be a virtual account for orders of type PAYMENT_LINK.
BAA00008400The destination account currency does not match the order destination currency.
BAA00009404Merchant virtual origin account with the selected currency not found.
BAA00010404Origin account ID not found for payout.
BAA00011404Missing ledger debit transaction for credit-back
BAA00012409Account already exists
BAA00013400One and only one of contactId, or merchantId must be provided.
BAA00014409Insufficient balance for payout
BAA00015400Invalid CLABE format for Mexico. Must be 18 numeric digits.
BAA00016400Invalid CLABE check digit.
BAA00017400Invalid Argentina account format. Must be 22-digit CBU/CVU or alias (6-20 characters).
BAA00018400Invalid CBU/CVU check digits.
BAA00019404Bank not found in country bank list.
BAA00020400Account type not supported by bank.
BAA00021400Account number length invalid for bank and account type.
BAA00022400Invalid CCI format for Peru. Must be 20 numeric digits.
BAA00023400Bank entity is required for Chile accounts.
BAA00024400Bank entity is required for Colombia accounts.
BAA00025400Account type is required for Colombia accounts.
BAA00026400Account type is required for Peru accounts.
BAA00027400Routing number is required for US accounts.
BAA00028400Unable to determine payout type from bank account kind.
BAA00029400PAYOUT destination account cannot be a crypto wallet. Use ONRAMP order type for fiat-to-crypto conversions.
BAA00030400Country symbol is required for fiat bank accounts
BAA00031400Currency symbol is required
BAA00032400Invalid country symbol. Must be one of the supported countries
BAA00033404Country not found in database
BAA00034400Invalid currency symbol
BAA00035400Account number is required for fiat bank accounts
BAA00036400For merchant self-order payouts, the destination account must belong to the merchant.
BAA00037400entity (bank id) is required for Hong Kong accounts.
BAA00038400Bank swift code is required for Hong Kong accounts.
BAA00039400Invalid bank account type provided. Valid options: SAVINGS, CHECKING, VIRTUAL
BAA00040400Bank entity is required for bank accounts.
BAA00041400Embedded-wallet-only destination account must be a crypto wallet.

BI — Bank income (inbound deposits)

CodeStatusMessage
BI00001400Missing externalSystemNotifierId
BI00002500Failed to create embedded wallet onramp order
BI00003500Failed to persist embedded wallet onramp assignment
BI00004500Failed to process bank income
BI00005500Failed to register bank income ledger credit
BI00006500Failed to persist bank income ledger assignment
BI00007500Bank income is stuck with a legacy processing marker

BLC — Blockchain

CodeStatusMessage
BLC00001500Blockchain RPC URL is not configured
BLC00002500Unsupported blockchain network
BLC00003500Failed to prepare blockchain transaction payload
BLC00004500Failed to submit blockchain transaction
BLC00005500Blockchain transaction request is missing from order metadata
BLC00006500Blockchain transaction status is not available yet
BLC00007500Blockchain payout transaction not found for order
BLC00008500Ledger debit transaction not found for blockchain payout order
BLC00009500Ledger debit transaction is not completed for blockchain payout order
BLC00010500Blockchain transaction confirmation timed out
BLC00011500Blockchain transaction reverted on-chain
BLC00012500Blockchain send transaction status id is missing from order metadata
BLC00013500Blockchain signer configuration is incomplete for blockchain monitoring
BLC00014500Ledger reversal reference is missing for embedded wallet transaction rollback

BT — Balance transfer

CodeStatusMessage
BT00001400Currency origin cannot be the same as currency destination
BT00002400Insufficient balance in origin account
BT00003503An Error occurred while transforming the balance
BT00004400Currency combination not allowed

CACC — Crypto accounts

CodeStatusMessage
CACC00001400Invalid crypto address format
CACC00002400Unsupported network
CACC00003409Crypto account already exists
CACC00004404Crypto account not found
CACC00005400Address validation failed
CACC00006400Currency not supported on network

CAPI — Crypto API

CodeStatusMessage
CAPI00001401Crypto API authentication failed
CAPI00002500Crypto API quote creation failed
CAPI00003404Crypto API quote not found
CAPI00004400Crypto API quote expired
CAPI00005500Crypto API deal creation failed
CAPI00006404Crypto API deal not found
CAPI00007500Crypto API order creation failed
CAPI00008500Crypto API request failed
CAPI00009500Crypto API invalid response

CNT — Countries

CodeStatusMessage
CNT00001404Country not found
CNT00002404Country three-letter ISO code not found
CNT00003404County not found
CNT00004422County does not belong to the provided state
CNT00005422County does not belong to the provided country

CO — Compliance

CodeStatusMessage
CO00001404Order not found for compliance registration
CO00002404Order not found for compliance event
CO00003404Order not found for compliance sync
CO00004500Retry compliance registration for order
CO00005500Retry compliance event for order
CO00006500Retry compliance sync for order
CO00007400Unknown compliance job name

COM — Common / internal

CodeStatusMessage
COM00001500Internal server error
COM00002500Unexpected error

CRE — Crypto credentials

CodeStatusMessage
CRE00001404Credentials not found
CRE00002401Invalid Signature
CRE00003500unknown error
CRE00004401Failed to authenticate with Crypto API
CRE00005500Crypto API credentials not configured
CRE00006400Partner organization does not have crypto credentials configured. Please contact support to setup partner credentials.
CRE00007503Failed to retrieve partner credentials. Please try again later.

CSIG — Crypto signing

CodeStatusMessage
CSIG00001500Private key not configured for signing requests
CSIG00002500Request signing failed
CSIG00003500KOYWE_CRYPTO_API_URL not configured for domestic requests

CT — Contacts

CodeStatusMessage
CT00001400Invalid preferredCurrency: currency not available or wrong ID
CT00002404Contact not found
CT00003409Contact operation blocked in the current contact lifecycle state.
CT00004409Contact documents cannot be modified in the current contact lifecycle state.
CT00005409Contact with same tax info already exists
CT00006409Contact with same document info already exists
CT00007409Contact with same email or phone already exists
CT00008400Contact email or phone are required
CT00009400Contact taxIdNumber is required when taxIdType is informed
CT00010400Contact documentNumber is required when documentType is informed
CT00011400Invalid contact information. Please reach out to support.
CT00012400Invalid phone number
CT00013400The client attempting to use the service has a different email than the one entered.
CT00014400The phone number entered does not belong to the contact.
CT00015400There was an issue with the current contact. Please reach out to support.
CT00020400Duplicate document found in documents array
CT00021400Only one document can be marked as default
CT00022400One document must be marked as default when multiple documents are provided
CT00023409Document already exists for another contact in this merchant
CT00024400Cannot delete all documents, contact must have at least one document
CT00025404One or more documents not found for this contact
CT00026400Document does not belong to the specified contact
CT00027400Contact information is incomplete for payment link email
CT00028409Contact with same external ID already exists for this merchant
CT00029400firstName (BENEFICIARY_NAME) is required for Hong Kong contacts
CT00030400addressLine1 (BENEFICIARY_ADDRESS) is required for Hong Kong contacts
CT00031400email (BENEFICIARY_EMAIL) is required for Hong Kong contacts
CT00032400phone (BENEFICIARY_PHONE_NUMBER) is required for Hong Kong contacts
CT00033400documentType and documentNumber (BENEFICIARY_NATIONAL_IDENTIFICATION_NUMBER) are required for Hong Kong contacts
CT00034400dateOfBirth (BENEFICIARY_DATE_OF_BIRTH) is required for Hong Kong contacts
CT00035400documentExpirationDate (BENEFICIARY_NATIONAL_IDENTIFICATION_EXPIRATION_DATE) is required for Hong Kong contacts
CT00036400Contact is required for PAYIN orders
CT00037400Contact information is incomplete. Missing required field: firstName
CT00038400Contact information is incomplete. Missing required field: lastName
CT00039400Contact information is incomplete. Missing required field: email
CT00040400Contact information is incomplete. Missing required field: addressLine1
CT00041400Contact information is incomplete. Missing required field: addressCity
CT00042400Contact information is incomplete. Missing required field: addressState
CT00043400Contact information is incomplete. Missing required field: addressPostalCode
CT00044400Contact information is incomplete. Missing required field: country
CT00045400Invalid county: county not found.

CU — Currencies

CodeStatusMessage
CU00001404Currency not found
CU00002404Origin currency symbol not found or invalid.
CU00003404Destination currency symbol not found or invalid.
CU00004400Network is required for crypto currency
CU00005400Unsupported cryptocurrency
CU00006400Invalid network for crypto operations
CU00007400Currency is not supported on the specified network
CU00008400No country code mapping found for currency

CW — Crypto whitelist

CodeStatusMessage
CW00002500Unknown crypto whitelist job name
CW00003500All whitelist attempts failed
CW00004500Failed to enqueue crypto address whitelist job

CWHOOK — Crypto webhooks

CodeStatusMessage
CWHOOK00001401Invalid webhook signature
CWHOOK00002404Order not found for crypto order ID
CWHOOK00003400Invalid event type

DC — Documents (validation)

CodeStatusMessage
DC00001500Could not create document, please contact support
DC00002404Document not found
DC00003500Could not retrieve the requested document
DC00004500Could not retrieve the requested documents
DC00005500Could not retrieve the requested received documents
DC00006500Could not retrieve the requested received document
DC00007500Could not update the requested received document
DC00008400Document type is required when a document number is provided
DC00009400Country is required when a document number is provided
DC00010400Invalid document number for the specified document type and country
DC00011400Document type not supported for the specified country

DL — Deals

CodeStatusMessage
DL00001500Failed to retrieve scheduled deals from external service
DL00002400Failed to stop scheduled deal
DL00003400Deal has no pending amount available for transfer
DL00004400Deal has expired and cannot be transferred
DL00005400Failed to create quote for transfer
DL00006500Failed to create new deal for transferDeal
DL00007400Failed creating a new deal
DL00008400Invalid destination address
DL00009409Insufficient Balance to create a deal
DL00010404Scheduled deal not found
DL00011404Quote not found or expired
DL00012409Quote already used
DL00013403Merchant crypto feature not enabled
DL00014409USD credit limit exceeded
DL00015403Destination account does not belong to merchant
DL00016500Crypto API deal creation failed
DL00017400Merchant crypto account credentials not configured
DL00020409Credit limit exceeded. Active deals plus new deal exceeds maximum allowed credit
DL00021400Credit limit not configured for merchant with credit line enabled
DL00022404Merchant crypto account not found
DL00023500Failed to create merchant crypto account
DL00024400Merchant information incomplete for crypto account creation
DL00025400Destination account is not a bank
DL00026400Destination account is not a crypto
DL00027400Destination account currency does not match deal destination currency
DL00028400For OFFRAMP deals, destination account must be a virtual bank account
DL00029500Ledger credit response is missing the transaction id
DL00030404Crypto provider order not found
DL00031500USD payment method is not configured for executable onramp quotes
DL00032500Invalid deal amounts after suite sync

EM — Email delivery

CodeStatusMessage
EM00001500Failed to send email via external service
EM00002503Email service is temporarily unavailable
EM00003401Email service authentication failed
EM00004400Invalid email payload format
EM00005429Email service rate limit exceeded

EWW — Embedded wallet

CodeStatusMessage
EWW00001500Failed to create embedded wallet with the signing provider
EWW00002500Failed to create embedded wallet account with the signing provider
EWW00003500Unable to resolve embedded wallet after creation
EWW00004500Unable to resolve embedded wallet account after creation
EWW00005400Invalid stamped embedded wallet request
EWW00006404Merchant does not belong to the organization
EWW00007404USD virtual bank account not found for merchant
EWW00008404Organization has no embedded wallet signing organization yet
EWW00009400Unsupported embedded wallet stablecoin asset
EWW00010403Wallet signing access is pending root approval
EWW00011409Cannot provision a wallet while the merchant has active USD orders
EWW00012401x-webhook-signature header is missing
EWW00013403Webhook secret is not configured
EWW00014401Invalid webhook signature
EWW00015500Embedded wallet settlement is missing required ledger credit transaction
EWW00016500Native payout settlement is missing required fiat funding transactions
EWW00017500Native payout settlement is missing FIAT_OUT transaction for durable enqueue
EWW00018500Embedded wallet settlement requires manual reconciliation before retrying external side effects
EWW00019409Embedded wallet broadcast attempt transition rejected
EWW00020503Payout enqueue probe failed transiently; retry required

FC — Feature configuration

CodeStatusMessage
FC00001404Feature definition not found
FC00002409Feature configuration already exists
FC00004400Invalid feature code

FE — Fees & commissions

CodeStatusMessage
FE00001400Failed while calculating cashout fee
FE00002404Fee definition not found
FE00003409Fee configurations already exist
FE00004404Fee configuration not found
FE00005409Fee configuration already exists with the same merchant, fee definition, currency, order type and apply order
FE00006400Invalid foreign key reference (merchant, fee definition, or currency not found)
FE00007400Database error while creating fee configuration
FE00008400calculationType PERCENTAGE requires basePercentageRate > 0 and no baseFixedAmount
FE00009400calculationType FIXED_AMOUNT requires baseFixedAmount > 0 and no basePercentageRate
FE00010400minChargeAmount must be less than maxChargeAmount
FE00011400Fee values must be non-negative
FE00012400basePercentageRate must be between 0 and 1
FE00013400orderType ONRAMP/PAYIN/PAYOUT/PAYMENT_LINK requires fiat currency
FE00014400orderType OFFRAMP requires crypto currency
FE00015400Duplicate entry in payload (same currencyId, orderType, applyOrder)
FE00016400Only BASE_FEE is allowed for new fee configurations
FE00017400applyOrder must be 0 for BASE_FEE configurations
FE00018400Merchant does not have COMMISSIONS_V2 feature flag enabled

FF — Merchant feature flags

CodeStatusMessage
FF00001404Feature flag not found
FF00002409Feature flag already exists for this merchant
FF00003400Invalid feature flag code
FF00004400Feature flag is already deleted

GFF — Global feature flags

CodeStatusMessage
GFF00001404Global feature flag not found
GFF00002409Global feature flag already exists
GFF00003400Invalid global feature flag code

IMT — Inter-merchant transfer

CodeStatusMessage
IMT00001404Destination merchant not found
IMT00002403Destination merchant does not belong to the same organization
IMT00003400Source and destination merchant cannot be the same
IMT00004404Destination merchant is disabled
IMT00005409Insufficient balance in source merchant account
IMT00006503An error occurred while executing the transfer in the Ledger
IMT00007400destinationMerchantId is required for INTER_MERCHANT_TRANSFER orders
IMT00008400Origin and destination currency must be the same for INTER_MERCHANT_TRANSFER (MVP)

INV — Invitations

CodeStatusMessage
INV00001404Invitation not found
INV00002410Invitation has expired
INV00003409Invitation has already been accepted
INV00004400Invitation is not pending
INV00005409A pending invitation already exists for this email address and merchant.
INV00006400Invalid token format
INV00007400Roles must be provided for an invitation.
INV00008400One or more specified roles are invalid or not applicable for merchant invitations.
INV00009500Failed to create the invitation. Please contact support.
INV00010409A pending invitation already exists for this email address and organization.
INV00011400Role not found
INV00012400Role is a merchant role and cannot be assigned in organization invitations
INV00013404User not found
INV00014403This invitation was sent to a different email address. Please use the account associated with the invited email or contact the administrator to resend the invitation.
INV00015400No valid roles were found in the invitation after filtering. At least one role must be assignable.
INV00016422This invitation includes sensitive roles that require policy approval, but the organization has not bootstrapped passkeys or has no active policy. Please bootstrap the organization first.
INV00017500Unknown invitation type in approved operation payload

KAC — Koywe account

CodeStatusMessage
KAC00001404Account not found
KAC00002400Account with email already exists
KAC00003400Failed to create account
KAC00004400Country or document number are not provided

LE — Ledger

CodeStatusMessage
LE00001400Failed to check balance with Ledger
LE00002400Failed to get assets with Ledger
LE00003400Failed to register credit transaction with Ledger
LE00004400Failed to register debit transaction with Ledger
LE00005400Failed to transform transaction with Ledger
LE00006400Failed to transfer transaction with Ledger
LE00007400Failed to transfer with Ledger
LE00008400Failed to reverse transaction with Ledger
LE00009400Failed to settle accounts receivable with Ledger
LE00010503Unable to retrieve account balances at this time. Please try again later.
LE00011409Ledger rejected credit transaction due to duplicate externalId
LE00012409Ledger rejected debit transaction due to duplicate externalId
LE00013409Ledger rejected transform transaction due to duplicate externalId
LE00014409Ledger rejected transfer transaction due to duplicate externalId
LE00015409Ledger rejected reverse transaction due to duplicate externalId
LE00016409Ledger rejected accounts receivable issue due to duplicate externalId
LE00017409Ledger rejected accounts receivable settlement due to duplicate externalId

MC — Merchants

CodeStatusMessage
MC00001404Merchant not found
MC00002400Merchant has orders and cannot be deleted
MC00003400The document type and number are already in use.
MC00004400The slug is already in use.
MC00005400The merchant pricing fee needs to be greater than 0 when selectedModel is FIXED_FEE.
MC00006400The merchant pricing percentage needs to be greater than 0 when selectedModel is FIXED_PERCENTAGE.
MC00007400The merchant pricing flatFeePeriod needs to be valid value
MC00008400The merchant pricing minFee needs to be greater than 0 when selectedModel is VOLUME_FEE.
MC00009400The merchant pricing maxFee needs to be greater than 0 when selectedModel is VOLUME_FEE.
MC00010400The merchant pricing minFee needs to be less than maxFee when selectedModel is VOLUME_FEE.
MC00011400The merchant pricing percentageMin needs to be greater than 0 when selectedModel is VOLUME_PERCENTAGE.
MC00012400The merchant pricing percentageMax needs to be greater than 0 when selectedModel is VOLUME_PERCENTAGE.
MC00013400The merchant pricing percentageMin needs to be less than percentageMax when selectedModel is VOLUME_PERCENTAGE.
MC00014400Invalid phone number
MC00015403Merchant does not belong to the organization
MC00016500KYB submission failed to external service
MC00017404Merchant not found in PSP
MC00018409KYB already submitted for merchant
MC00019422Invalid KYB data format
MC00020500PSP connection error
MC00021400Merchant city not found
MC00022409Merchant already has accepted terms of service
MC00023400Failed to complete KYB operation
MC00024400Duplicate email
MC00025403KYB not approved for payout operations. Please complete the KYB process.
MC00026403KYB terms of service not accepted. Please accept the terms to enable payout operations.
MC00027403KYB information not submitted. Please submit KYB information to enable payout operations.
MC00028403KYB verification in progress. Payout operations will be enabled once verification is complete.
MC00029403KYB information rejected. Please resubmit corrected KYB information to enable payout operations.
MC00030403KYB process not initialized. Please start the KYB process to enable payout operations.
MC00031409Crypto account setup conflict: unique constraint triggered but record not found.
MC00032403Pre-KYB transaction limit exceeded. Complete KYB verification to remove this restriction.
MC00033503Unable to validate pre-KYB transaction limit. Exchange rate unavailable.
MC00034500Unable to validate pre-KYB transaction limit. Order amount is missing.
MC00035409KYB status is already set to the requested value. No changes applied.
MC00036400Invalid onboardingCompletedAt date format.
MC00037403Lifecycle override is not allowed in production
MC00038422Invalid lifecycle state transition
MC00042422Merchant cannot be reset from its current state
MC00043403Merchant cannot process transactions in current lifecycle state. KYB verification is required.
MC00044422Merchant must be in DRAFT lifecycle state for complete-setup
MC00045409Merchant already has a setup register — complete-setup has already been run

NE — Notifications

CodeStatusMessage
NE00001404Notification not found
NE00002403Cannot access this notification
NE00003400Invalid pagination parameters
NE00004400At least one recipient required when email notifications are enabled
NE00005401SSE ticket missing or invalid
NE00006401SSE ticket expired or already used
NE00007403SSE ticket does not match this merchant
NE00010503Notification service temporarily unavailable

OB — Organization balance

CodeStatusMessage
OB00001404Organization not found
OB00002403User has no access to any merchants with virtual account view permissions in this organization
OB00003400Invalid or unsupported base currency. Currently only USD is supported
OB00004400Cannot provide both date and period parameters
OB00005400Invalid period value. Must be one of: 3d, 7d, 14d, 30d, 90d, 180d, 1y, all
OB00006400Invalid interval value. Must be one of: daily, weekly, monthly
OB00007400Invalid merchantIds format. Must be a comma-separated list of merchant IDs
OB00008400Date parameter must be a valid ISO 8601 date string
OB00009404No virtual accounts found for the specified merchants
OB00010500Unable to retrieve balance data at this time
OB00011500Unable to fetch currency conversion rates
OB00012400Historical data not available for the requested period
OB00013400Invalid period and interval combination. Daily interval only allowed for periods up to 14 days. Weekly interval only allowed for periods up to 180 days. Monthly interval required for periods longer than 180 days or for the all period.
OB00014400Too many accessible merchants for balance query. Please contact support to increase the limit

OK — Onboarding KYB

CodeStatusMessage
OK00001404Merchant not found
OK00002404KYB process not found for merchant
OK00003409KYB process already exists and is in a non-terminal state
OK00004400Missing required merchant data to start KYB process
OK00005502Failed to create KYB process with provider
OK00006400Invalid webhook payload
OK00007404KYB process not found for external ID
OK00008500Failed to update KYB process status
OK00009500Failed to activate merchant features after KYB approval
OK00010400Merchant does not belong to an organization
OK00011400Could not resolve focal point contact — ensure pre-onboarding data exists for this merchant, or pass contactOverride.email in the request body
OK00014404No active KYB process found for merchant
OK00015400KYB process is not in MANUAL_REVIEW status
OK00016401Webhook signature headers are missing (X-Signature-256, X-Timestamp)
OK00017503Webhook secret is not configured
OK00018401Invalid webhook signature
OK00019503KYB generation service is temporarily unavailable. Please try again later.
OK00020500Merchant country data could not be resolved. Ensure the merchant has a valid countryId before triggering KYB.
OK00021403KYB can only be triggered for merchants in ENABLED_LIMITED, KYB_REQUIRED, or KYB_RENEWAL_REQUIRED status
OK00022401Webhook timestamp is expired or invalid

OR — Orders

CodeStatusMessage
OR00001400The expiration date provided must be a future date
OR00002409Order with externalId already exists.
OR00003400Origin and destination currency MUST be the same for this transaction generation logic to apply.
OR00004404Order not found
OR00005400Unsupported order type
OR00006400Error during PAYOUT execution
OR00007400Error during PAYIN execution
OR00008400Payouts are not implemented yet
OR00009400Invalid due date format
OR00010400Payment links cannot be generated for cash payments (payment condition: 0)
OR00011404Order does not belong to merchant
OR00012404Order does not belong to the specified organization
OR00013400Order must be of type PAYMENT_LINK to send payment link email
OR00014400Order must be in PENDING status to send payment link email
OR00015400Order has expired and cannot be processed
OR00016400Order must be of type EMAIL to send email
OR00017400The expiration date exceeds the maximum allowed lifetime for orders
OR00018404Merchant not found
OR00019404Destination bank account not found
OR00020400Payment rejected by provider: the amount may be invalid or exceed the limit for this payment method
OR00021400Payment rejected by provider: daily transaction limit reached for this payment method
OR00022400Order does not have an associated crypto order
OR00023400Failed to set transaction hash on order
OR00024400Order is not ready for transaction signing
OR00025400Order is already signed or being processed
OR00026400Invalid signing request for this order
OR00027404Embedded wallet account not found for this order
OR00028400Cannot reprocess a terminal bank income onramp order
OR00029409Order in unexpected state for policy resume
OR00030500Persisted order id is required before enqueuing ledger jobs

ORG — Organizations

CodeStatusMessage
ORG00001404Organization not found
ORG00002400Email is required
ORG00003400Target user ID is required
ORG00004400Role ID is required
ORG00005400Invalid role ID

PER — Permissions

CodeStatusMessage
PER00001403User does not have permission to perform this action

PIVBA — Pay-in virtual bank accounts

CodeStatusMessage
PIVBA00001404Virtual bank account not found
PIVBA00002409Virtual bank account already exists
PIVBA00003400Invalid country-currency combination
PIVBA00004404Merchant not found
PIVBA00005400Virtual bank account is inactive
PIVBA00006500PSP communication error
PIVBA00007400Country not supported
PIVBA00008429Too many requests to PSP
PIVBA00009500PSP internal server error
PIVBA00010503PSP service unavailable
PIVBA00011500PSP unexpected error
PIVBA00012400Currency not supported for country
PIVBA00013400Alias not supported for this country
PIVBA00014409Alias modification limit exceeded. You must wait 24 hours before modifying it again
PIVBA00015400Invalid alias format
PIVBA00016422Recipient KYC not approved for virtual account creation
CodeStatusMessage
PL00001404Payment Link not found
PL00002409The status change cannot be performed because the entity is already in the same status.
PL00003400It is not possible to modify the status because it is in a final state
PL00004400It is not possible to modify the status
PL00005400The payment link need to be in PENDING status to be able to be paid
PL00006409The payment link is is processing
PL00007400It is not possible to modify the status
PL00008409Only one paymentLink can be created for an order in pending status.
PL00009409The order already has a pending paymentLink.
PL00010400The contact does not have a bank account
PL00011410The payment link has expired
PL00012400The payment link method is not PSE
PL00013400The bank is not valid to pay with PSE
PL00014404The payment link method does not exist
PL00015410The payment link method has expired
PL00016400The successUrl is not a valid URL or is not https in production
PL00017400PayerInfo is required for PAYMENT_LINK orders
PL00018400Order missing origin currency information
PL00019400Order missing destination currency information
PL00020400Payment method is not available for the selected currency
PL00021500FIAT_IN transaction not found for payment initiation
PL00022409Payment for this order has already been initiated or processed
PL00023400Contact is required for payment processing
PL00024400Contact is missing required information (name or email)
PL00025400Bank account name is required for payment processing
PL00026400Phone is required for payment processing
PL00027400Phone country code is required for payment processing
PL00028400Phone is required for payment processing
PL00029400Email is required for payment processing
PL00030400First name is required for payment processing
PL00031400Last name is required for payment processing
PL00032400Document number is required for payment processing
PL00033400Document type is required for payment processing

PM — Payment methods

CodeStatusMessage
PM00001404Payment method not found
PM00002409Payment method already deleted

PMP — Payment-method providers

CodeStatusMessage
PMP00001404Payment method not found in transaction
PMP00002404Confirmed payment method not found in transaction
PMP00003503Service temporarily unavailable
PMP00004404Payment method not found
PMP00005400Payment method requires a dueDate
PMP00006400Payment method amount is less than the minimum amount
PMP00007400Payment method amount is greater than the maximum amount
PMP00008503Service temporarily unavailable
PMP00009408Request timeout
PMP00010400Invalid payout request
PMP00011401Authentication failed
PMP00012404Payment option not available for country/currency combination
PMP00013409Duplicate transaction
PMP00014500Unexpected error occurred
PMP00015400Invalid payment request
PMP00016400Invalid amount range
PMP00017400Payment provider not available for country/currency combination
PMP00018409already processed KYB submission. Please check your KYB status before retrying.
PMP00019400Invalid business industry
PMP00020400Card payment method only supports CLP to CLP transactions
PMP00021404Provider credentials not configured for this merchant
PMP00022409Provider credentials already exist for this merchant and provider
PMP00023404Provider credentials not found for this merchant and provider

PO — Pre-onboarding

CodeStatusMessage
PO00001404Registration form not found
PO00002400Invalid registration form ID format
PO00003404Draft not found
PO00004409Draft already exists for user
PO00005422Draft already submitted
PO00006400Draft validation error
PO00007404Registration not found
PO00008409Merchant already exists with the same tax identification
PO00009404User not found
PO00010400Missing required parameter: userId
PO00011500Compliance check could not be enqueued
PO00012400Country code not found in Compliance Tracker catalog
PO00013500Unknown job name in queue consumer
PO00014500Unexpected Compliance Tracker resultado
PO00015404Onboarding register not found
PO00016500Payload not found for onboarding register
PO00017404Country not found for onboarding register
PO00018404Currency not found for country
PO00019500Fee definitions not found in the system
PO00020500Setup register conflict but record not found
PO00021400company.economicActivity must be a valid activity code (exact match). Use GET /economic-activities for valid codes (e.g. COMMERCE_RETAIL, OTHER).
PO00022400When economic activity is OTHER, the company.economicActivityDescription field is required.
PO00023400Economic activity description only allowed when activity is (OTHER)
PO00024403Access denied: draft belongs to another user
PO00025403Access denied: registration belongs to another user
PO00029400Registration is not in COMPLIANCE_IN_REVIEW status

POL — Policy (MFA & approvals)

CodeStatusMessage
POL00001404Policy not found
POL00002403No policy defined for organization - zero privilege enforced
POL00003403Operation denied by policy rule
POL00004403Per-transaction amount limit exceeded
POL00005403Daily cumulative limit exceeded
POL00006428MFA verification required
POL00007428Approval required for this operation
POL00008428MFA verification and approval required
POL00009400Invalid policy configuration
POL00010400Invalid rule configuration
POL00011400Approval threshold exceeds approver count
POL00012400Default deny rule cannot be modified
POL00013400Rule order conflict
POL00014409Organization already has an active policy
POL00015404Pending approval not found
POL00016403Not authorized to approve this operation
POL00017410Approval request expired
POL00018409Approval already resolved
POL00019403Requester cannot approve their own operation
POL00020403MFA verification failed
POL00021403MFA verification expired
POL00022404Policy rule not found
POL00023404Operation target not found for approved operation
POL00024409Operation target is not in expected ON_HOLD state
POL00025403Pending approval operation type mismatch
POL00026400Missing required operationData for PASSKEY_ENROLL approval (stampedRequest with url, body, and stamp)
POL00027400Invalid operationType query parameter
POL00028400Invalid scope query parameter
POL00029409No available policy rule order slots
POL00030500Requester MFA confirmation could not be persisted

PSPC — PSP conciliation

CodeStatusMessage
PSPC00001400Transaction status must be COMPLETED
PSPC00002404Order not found for transaction
PSPC00003400Order status must be COMPLETED
PSPC00004404AR_ISSUE transaction not found for order
PSPC00005404AR_SETTLE transaction not found for order
PSPC00006400AR_SETTLE transaction must be PENDING
PSPC00007409Conciliation already processed for order
PSPC00008400Order is missing OriginCurrency relation
PSPC00009400AR_SETTLE transaction is missing originAmount
PSPC00010400AR_ISSUE transaction is missing originAmount
PSPC00011400Merchant amount mismatch with AR_ISSUE transaction
PSPC00012400Merchant amount mismatch with AR_SETTLE transaction

QE — Quotes

CodeStatusMessage
QE00001400Invalid quote. You need to create a new Quote
QE00002404Quote not found
QE00003410Quote timeOut, You need to create a new Quote
QE00004409Quote already used in another order
QE00005400Failed to generate quote
QE00006400orderType is required for quote requests
QE00007400orderType does not match currency pair. PAYIN, PAYOUT, BALANCE_TRANSFER, and PAYMENT_LINK require fiat-to-fiat currencies
QE00008400orderType ONRAMP requires fiat origin and crypto destination currencies
QE00009400orderType OFFRAMP requires crypto origin and fiat destination currencies
QE00010400network field is required for ONRAMP and OFFRAMP quotes
QE00011409Price quote unavailable. Please try again in a few moments
QE00012400Quote calculation resulted in negative amount. The transaction fees exceed the transaction amount. Please increase the amount or contact support if you think this is an error.
QE00013400Asian currency quotes are not available
QE00014400Currency is not currently available
QE00015400Merchant business type is required
QE00016400Contact is required for PSP network quotes
QE00017404Contact not found for this merchant
QE00018400Contact country does not match the Asian currency country
QE00019400Merchant has no country
QE00020400Invalid exchange rate
QE00021400Failed to get valid amount from crypto API
QE00022400Failed to get crypto quote
QE00023400Destination country is required for this currency. Provide the destinationCountry parameter.

RE — Reports

CodeStatusMessage
RE00001404Account not found or not accessible
RE00002400Invalid date range. from date must be before to date
RE00003400Invalid granularity. Must be daily or monthly
RE00004400Invalid format. Must be json, csv, or pdf
RE00005400Date range exceeds maximum allowed (365 days)
RE00006404Ledger entry not found
RE00007403Account does not belong to merchant
RE00008400from date is required
RE00009400to date is required
RE00010500Unable to retrieve ledger data
RE00011400Account must be a virtual account
RE00012400Invalid cursor format

SBX — Sandbox simulator

CodeStatusMessage
SBX00001404Sandbox simulator is not available in production
SBX00002400Depositor documentType and documentNumber are required for ARS and MXN simulations
SBX00003400Sandbox currency not supported
SBX00004400Sandbox country not supported
SBX00005400Sandbox bank income amount must be greater than zero

SD — Suite Domestic (Koywe 3)

CodeStatusMessage
SD00001400Suite Domestic bad request
SD00002401Suite Domestic unauthorized - invalid api-key
SD00003429Suite Domestic rate limit exceeded
SD00004503Suite Domestic service temporarily unavailable
SD00005503Unable to connect to Suite Domestic service
SD00006504Suite Domestic request timed out
SD00007500Suite Domestic unexpected error

TK — Turnkey (embedded wallet provider)

CodeStatusMessage
TK00001503Embedded wallet provider is not initialized
TK00002502Embedded wallet provider verification failed
TK00003500Embedded wallet provider did not return an OTP identifier
TK00004500Embedded wallet provider returned an incomplete OTP authentication response
TK00005502Embedded wallet provider request failed
TK00006409User email must be unique in the embedded wallet provider

TX — Transactions

CodeStatusMessage
TX00001404Transaction not found
TX00002400Amount must be a positive number
TX00003400The status of the transaction cannot be changed once it is in a final state.
TX00004400The transaction status cannot go from the current state to the requested state.
TX00005500Failed to process PAYIN, FIAT_IN transaction missing for order

UE — Users

CodeStatusMessage
UE00001404User not found

WA — WebAuthn / passkeys

CodeStatusMessage
WA00001400Organization is already initialized for passkeys — use invite flow
WA00002500Failed to initialize the passkey signing organization
WA00003503Passkey signing service is not initialized — check configuration
WA00004409User already has an active passkey for this organization — use the recovery flow to replace it
WA00005400Invalid attestation data
WA00006404Organization not found
WA00007404No passkey registered — complete registration first
WA00008404Organization has no passkey signing organization — bootstrap required
WA00009400Invalid or expired MFA challenge
WA00010403Passkey verification failed
WA00011500Failed to issue MFA token
WA00012404Target user not found
WA00013409Target user already has a passkey for this organization
WA00014400Organization must be bootstrapped before inviting users
WA00015404Pending approval not found
WA00016403Only root user can approve passkey enrollment
WA00017500Failed to forward stamped request to the signing provider
WA00018403Only root user can initiate passkey recovery
WA00019404Target user has no credential to recover for this organization
WA00020400OTP verification failed — invalid or expired code
WA00021500Failed to send recovery OTP via the signing provider
WA00022404Target user credential not found — cannot complete recovery
WA00023500Signing provider response did not return a user ID
WA00024409A passkey signing user with this email already exists in this organization. If the user lost access, initiate passkey recovery.
WA00025500Failed to create passkey enrollment approval
WA00026409This device credential is already registered
WA00027404No MFA factor registered for this organization

WE — Webhooks

CodeStatusMessage
WE000001404Order not found for transaction status update during webhook processing
WE000002404Transaction not found during webhook processing
WE000003409A webhook with this URL already exists for this organization
WE000004404Webhook endpoint not found
Last updated on