Skip to main content
The Cleo Pay API is a RESTful API that follows OAS 3.0 conventions. All requests and responses use JSON.

Base URL

All API requests use the following base URL:
https://api.cleo-pay.com
Prepend this base URL to every endpoint path shown in this reference.

Request format

All requests that include a body must send JSON and set the Content-Type header:
Content-Type: application/json
Path parameters are included directly in the URL. Query parameters are appended as a URL-encoded string.

Response format

All responses return JSON. Successful responses include the requested resource or an array of resources. Error responses include an error or message field describing what went wrong.
{
  "message": "Validation failed",
  "errors": [
    { "field": "amount", "message": "amount must be a positive number" }
  ]
}

HTTP status codes

CodeMeaning
200Request succeeded.
201Resource created successfully.
400Bad request. The request body or parameters are invalid.
401Unauthorized. The token is missing or expired.
403Forbidden. The token does not have permission to perform this action.
404Not found. The requested resource does not exist.
422Unprocessable entity. The request is well-formed but failed validation.
500Internal server error. Something went wrong on Cleo Pay’s side.

Rate limiting

The API enforces rate limits per authenticated token. If you exceed the limit, you receive a 429 Too Many Requests response. Back off and retry after the interval indicated in the Retry-After response header.

Pagination

List endpoints return paginated results. Use the limit and offset query parameters to page through results:
ParameterTypeDefaultDescription
limitnumber20Number of items to return.
offsetnumber0Number of items to skip before returning results.
GET /api/businesses/{businessId}/payables?limit=50&offset=100