> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pik.global/llms.txt
> Use this file to discover all available pages before exploring further.

# Error Codes

Complete reference of PIK API error codes, what they mean, and how to handle them in your integration.

***

When a PIK API request fails, the response body includes an error object with a code, a message, and in some cases additional detail fields to help you diagnose the issue. Use the error code rather than the HTTP status code or message text to handle errors programmatically — codes are stable across API versions, messages may change.

### Error response format

Every error response from the PIK API follows this structure:

The response includes an error object containing: code (a machine-readable string identifying the error type), message (a human-readable description of what went wrong), and optionally detail (additional context such as which field failed validation or what the current account status is).

### HTTP status codes

400 Bad Request — The request was malformed or missing required fields. Check the detail field for which parameter is invalid.

401 Unauthorized — Authentication failed. Your API key is missing, invalid, expired, or has been revoked.

403 Forbidden — Your request was authenticated but not permitted. This usually means the connected account does not have the required capability activated, or the account has not been verified.

404 Not Found — The resource you requested does not exist. Check that the ID in the URL is correct and belongs to your platform account.

409 Conflict — The request conflicts with the current state of the resource. For example, attempting to activate a capability that is already active.

422 Unprocessable Entity — The request was well-formed but could not be processed due to a business logic rule. See the specific error codes below.

429 Too Many Requests — You have exceeded the API rate limit. Back off and retry after the time indicated in the Retry-After header.

500 Internal Server Error — An unexpected error occurred on PIK's side. Retry with exponential backoff. If the issue persists, contact PIK support.

### Specific error codes

INVALID\_API\_KEY — The API key provided is not recognised. Verify the key is correct and has not been deleted.

API\_KEY\_REVOKED — The API key has been revoked. Generate a new key from the PIK Dashboard.

ACCOUNT\_NOT\_VERIFIED — The connected account's verification status is not approved. Complete KYC/KYB verification before activating capabilities or transacting.

ACCOUNT\_NOT\_FOUND — No connected account with the provided ID exists under your platform.

CAPABILITY\_NOT\_ACTIVATED — The requested action requires a capability that has not been activated on this account. Activate the capability first.

CAPABILITY\_ALREADY\_ACTIVE — You attempted to activate a capability that is already active on the account.

INSUFFICIENT\_BALANCE — The wallet does not have enough available balance to complete the transaction. Check the balance and top up if needed.

BELOW\_MINIMUM\_AMOUNT — The requested amount is below the minimum allowed for this transaction type or currency pair.

ABOVE\_MAXIMUM\_AMOUNT — The requested amount exceeds the maximum allowed for this transaction type.

UNSUPPORTED\_CURRENCY — The currency specified is not supported by PIK or is not available for the requested operation.

UNSUPPORTED\_CURRENCY\_PAIR — The sell/buy currency combination is not a supported FX pair.

QUOTE\_EXPIRED — The quote\_id provided has passed its validity window. Request a new quote and resubmit.

QUOTE\_ALREADY\_USED — The quote\_id has already been used for a conversion. Each quote can only be used once.

PAYMENT\_ALREADY\_SETTLED — You attempted an action on a payment that has already been settled.

PAYMENT\_EXPIRED — You attempted an action on a payment that has expired.

DUPLICATE\_REFERENCE — A payment or transfer with the same reference already exists. Use a unique reference for each transaction.

RATE\_LIMIT\_EXCEEDED — You have made too many requests in a short period. Implement exponential backoff and retry after the Retry-After interval.

WEBHOOK\_URL\_UNREACHABLE — PIK could not reach the webhook URL you provided during registration. Ensure the URL is publicly accessible over HTTPS.
