Skip to main content

Error catalog

All errors returned by the API follow the Problem JSON format. This page lists the possible codes, with the corresponding HTTP status and additional fields that may appear in the payload.

For the general format and recommended handling, see Error handling.

Cross-cutting errors

codeHTTPContext
validation400Malformed request. Includes invalidParams[] with detail per field
invalid-format400Value with invalid format on a specific field
invalid-credentials401Invalid clientId/clientSecret on POST /v1/auth/login
unauthorized401Missing token or credentials in the request
invalid-token401Malformed JWT token
token-expired401Token expired. Renew with POST /v1/auth/login
forbidden403The caller has no permission on the resource or operation
insufficient-scope403The token does not have the required scopes
resource-not-accessible403The resource exists but belongs to another customer (client or associate outside your scope)
resource-not-found404The resource does not exist or is not accessible
idempotency-key-reuse409Same Idempotency-Key with a different body
idempotent-replay200/201Cached response returned for an already-seen Idempotency-Key (optional; not an error per se)
rate-limit-exceeded429Rate limit exceeded. The wait comes in the Retry-After header
internal-error500Internal error. Only retryable if the operation is idempotent. Include requestId in the report to support
external-provider-unavailable502The banking provider is not responding while provisioning CVU. Retry
external-provider-timeout504Timeout against the banking provider while provisioning CVU. Retry

Current and receivable accounts

codeHTTPContext
receivable-account-already-exists409An account already exists for that combination. Response includes existingResourceId
receivable-account-requires-owner422POST without clientId or associateId
receivable-account-owner-immutable422Attempt to replace associateId with a different one on an active account with a provisioned CVU
owner-type-not-supported422The owner type is not enabled in the customer configuration
current-account-not-receivable-enabled422Attempt to issue a receivable on a MAIN/SUB account

Receivables

codeHTTPContext
unmatching-receivable-currency-code422currencyCode does not match the account's
unmatching-receivable-client-id422clientId does not match the account's
receivable-account-associate-conflict422Attempt to issue a receivable with an associateId different from the account's
missing-parent-receivable422Negative receivable without parentReceivableId
parent-receivable-not-modifiable422Parent in a final state, cannot create a child
parent-receivable-different-account422Parent belongs to another receivable account
parent-receivable-invalid-type422Parent is not of a positive type (INVOICE/DEBT)
child-receivables-exceed-parent-amount422Sum of children > parent amount
receivable-has-related-items422Attempt to cancel a receivable with active children (e.g. credit notes)
updating-receivable-final-status422Modification on a receivable in a final state (SETTLED or DISABLED)
missing-invoice-fields422Missing AFIP fields when invoiceData is set. Includes detail of the missing field
duplicated-legal-number409The legalNumber sent already exists for that customer. It is unique per customer when provided

Movements

codeHTTPContext
unmatching-movement-currency-code422currencyCode does not match the account

Transfers

codeHTTPContext
unmatching-transfer-currency-code422The currencyCode does not match the source account
equal-origin-destination422Origin and destination are the same account
source-account-not-active422The source current account is not active
transfer-not-cancelable422Attempted to cancel a transfer that is no longer in SCHEDULED/PENDING_APPROVAL

Recipients

codeHTTPContext
duplicated-contact409A recipient with the same CBU/CVU or alias already exists

Clients

codeHTTPContext
incomplete-branch422Client with branch missing required fields

Webhooks

codeHTTPContext
invalid-event-type400Listed event type does not exist
webhook-status-conflict422Invalid operation for the webhook's state (e.g. pause on an already paused webhook)

Additional fields per error

Some errors include extra fields in the Problem JSON payload:

codeAdditional fields
receivable-account-already-existsexistingResourceId
validationinvalidParams[] with name and reason
missing-invoice-fieldsmissingFields[]
rate-limit-exceededNo extra fields in the body — the wait comes in the Retry-After header
external-provider-unavailable / -timeoutproviderError.code, providerError.detail
internal-errorrequestId