Limits
Create, update, and query transaction limits for your customers.
Base URL
| Environment | URL |
|---|---|
| Production | https://api-pix.crypto2pay.app/v2/limits |
Create or Update Limit
POST /v2/limits
Creates a new transaction limit for a customer. If a limit already exists for the given document_number and type, it will be updated.
Headers
| Name | Description |
|---|---|
| Authorization | Your API key |
| Content-Type | application/json |
Body Parameters
| Name | Type | Required | Description |
|---|---|---|---|
document_number | string | required | Customer CPF (11 digits) |
type | string | required | Limit direction: cashin or cashout |
mechanism | string | required | Limit mechanism: amount or quantity |
amount | number | required* | Maximum allowed amount. Required if mechanism is amount |
quantity | integer | required* | Maximum allowed number of transactions. Required if mechanism is quantity |
details | string | optional | Description of the limit (max 4096 characters) |
Example Request — Value Limit
curl --request POST \
--url https://api-pix.crypto2pay.app/v2/limits \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"document_number": "12345678900",
"type": "cashout",
"mechanism": "amount",
"amount": 20000,
"details": "Monthly cashout cap for standard account"
}'
Example Request — Quantity Limit
curl --request POST \
--url https://api-pix.crypto2pay.app/v2/limits \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"document_number": "12345678900",
"type": "cashin",
"mechanism": "quantity",
"quantity": 50,
"details": "Daily cashin transaction cap"
}'
Response 200
{
"document_number": "12345678900",
"type": "cashout",
"mechanism": "amount",
"amount": 20000,
"details": "Monthly cashout cap for standard account",
"created_at": "2026-08-11T10:00:00.000Z",
"updated_at": "2026-08-11T10:00:00.000Z"
}
Error Responses
| Status | Description |
|---|---|
400 | Invalid value — body.amount must be a positive number |
400 | Invalid type — type must be cashin or cashout |
Query Limit
GET /v2/limits
Returns the active transaction limit for a specific customer and limit type.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
document_number | string | required | Customer CPF (11 digits) |
type | string | required | Limit direction: cashin or cashout |
Example Request
curl --request GET \
--url 'https://api-pix.crypto2pay.app/v2/limits?document_number=12345678900&type=cashout' \
--header 'Authorization: YOUR_API_KEY'
Response 200
{
"document_number": "12345678900",
"type": "cashout",
"mechanism": "amount",
"amount": 20000,
"details": "Monthly cashout cap for standard account",
"created_at": "2026-08-11T10:00:00.000Z",
"updated_at": "2026-08-11T10:00:00.000Z"
}
Error Responses
| Status | Description |
|---|---|
400 | Invalid document — document_number must be a valid 11-digit CPF |
404 | Limit not found for the given document_number and type |
note
Quantity limits reset daily at midnight UTC-3 (Brasília timezone). To update an existing limit, use the same POST endpoint with the matching document_number and type.