Recaudo Docs

Getting started

Errors

The API uses conventional HTTP status codes to indicate the success or failure of a request.

Code Description
200 Successful request
201 Resource created successfully
202 Accepted, but waiting for a person at the business to approve it (agent limits).
400 Invalid request: check the parameters
401 Unauthorized: invalid or missing API key
403 Forbidden: you do not have permission for this resource
404 Resource not found
422 Validation error
429 Rate limit exceeded
500 Internal server error

Error format

Response
{
  "error": {
    "type": "validation_error",
    "code": "invalid_parameter",
    "message": "El campo email es requerido",
    "param": "email",
    "doc_url": "https://docs.recaudo.app/errors/invalid_parameter"
  }
}

Safe retries (Idempotency-Key)

Send the Idempotency-Key header with a unique value on every POST, PUT or DELETE. If you repeat the request with the same key and body, you get the original response with Idempotent-Replayed: true and the operation is not repeated. The same key with a different body returns 422 (idempotency_key_reused); while the first one is still running, 409. Keys last 24 hours.

Agent limits

If you call with a connected app token (Claude, ChatGPT or your own agent via OAuth), money operations go through the limits the business sets in Settings → Agents and payments. Above the limit the response is 202 with an agent_payment_action object in pending status; poll GET /v1/agent-payment-actions/{id} until it says approved (result holds what was created), rejected or expired. If the action is not allowed, 403 with type agent_limit_error. API keys have no limits unless the business sets one.

Was this page helpful? Thanks for letting us know.
Esc