POST /apiv2/billing/limits
Cree, modifique, desactive y active sus propios límites dentro del límite de crédito establecido por Netts. Los límites fijados por Netts no se pueden modificar con estos endpoints. Parte de la facturación pospago.
Endpoints
| Endpoint | Hace |
|---|---|
POST /apiv2/billing/limits | crea su propio límite |
PUT /apiv2/billing/limits/{id}?scope=account | modifica su valor |
POST /apiv2/billing/limits/{id}/disable?scope=account | lo desactiva — deja de aplicarse, no se elimina nada |
POST /apiv2/billing/limits/{id}/enable?scope=account | lo activa de nuevo |
{id} es el id del límite de límites. scope=account es obligatorio para realizar cambios.
Encabezados de solicitud
| Header | Required | Description |
|---|---|---|
X-API-KEY | sí | Clave de API con el permiso limits.write |
X-Real-IP | sí | Una dirección de la lista blanca de la clave |
Idempotency-Key | sí | una cadena única, de 8 a 128 caracteres, una por cada cambio |
Content-Type | sí | application/json |
Idempotency-Key permite reintentar de forma segura. Repita una solicitud con la misma clave y el mismo cuerpo —tras un tiempo de espera agotado, por ejemplo— y obtendrá la respuesta original; el cambio no se aplicará dos veces. La misma clave con un cuerpo diferente se rechazará con 409 idempotency_conflict.
expectedRevision le protege de sobrescribir un cambio que no haya visto. Envíe la última revision que haya leído (0 al crear un límite). Si el límite cambió mientras tanto, la solicitud se rechazará con 409 revision_conflict — lea los límites de nuevo y reintente.
Crear un límite
| Field | Type | Required | Description |
|---|---|---|---|
productCode | string o null | no | energy_1h, energy_5m, bandwidth, activation, aml_check; null u omitido para su límite global |
period | string | sí | outstanding, day, week u order |
value | string | sí | el importe, en la moneda del límite de Netts, sin superarlo |
expectedRevision | integer | sí | 0 |
Puede tener un límite propio para cada producto y periodo. La moneda se toma del límite de Netts — no existe un campo de moneda.
curl -s -X POST 'https://netts.io/apiv2/billing/limits' \
-H 'X-API-KEY: your-api-key' \
-H 'X-Real-IP: 203.0.113.10' \
-H 'Idempotency-Key: 6f1c2b8e-limit-5m-day' \
-H 'Content-Type: application/json' \
-d '{"productCode": "energy_5m", "period": "day", "value": "200", "expectedRevision": 0}'{
"success": true,
"data": {
"id": 5,
"scope": "account",
"origin": "client",
"productCode": "energy_5m",
"period": "day",
"enabled": true,
"limit": { "unit": "USD", "value": "200.000000" },
"equivalent": { "unit": "TRX", "value": "604.514867" },
"revision": 1,
"fx": { "usdPerTrx": "0.33084276", "at": "2026-10-19T20:24:23.449930+00:00" },
"fxStatus": "ok"
},
"timestamp": "2026-10-19T20:30:02+00:00"
}El límite se aplica al siguiente pedido de inmediato.
Modificar un límite
curl -s -X PUT 'https://netts.io/apiv2/billing/limits/5?scope=account' \
-H 'X-API-KEY: your-api-key' \
-H 'X-Real-IP: 203.0.113.10' \
-H 'Idempotency-Key: 6f1c2b8e-limit-5m-300' \
-H 'Content-Type: application/json' \
-d '{"value": "300", "expectedRevision": 1}'| Field | Type | Required | Description |
|---|---|---|---|
value | string | sí | el nuevo importe, sin superar el límite de Netts |
expectedRevision | integer | sí | la revision actual del límite |
La respuesta tiene el mismo formato que el anterior, con la revision incrementada en uno.
Desactivar o activar un límite
curl -s -X POST 'https://netts.io/apiv2/billing/limits/5/disable?scope=account' \
-H 'X-API-KEY: your-api-key' \
-H 'X-Real-IP: 203.0.113.10' \
-H 'Idempotency-Key: 6f1c2b8e-limit-5m-off' \
-H 'Content-Type: application/json' \
-d '{"expectedRevision": 2}'El cuerpo solo contiene expectedRevision. /enable funciona de la misma manera. Un límite desactivado permanece en la lista con "enabled": false y puede activarse más tarde; su deuda y sus cobros no se verán afectados.
Lo que no puede hacer
- Modificar o desactivar un límite con
"origin": "netts"o un límite de clave —403 netts_limit_readonly, incluso para reducirlo. - Establecer un valor superior al límite de Netts —
422 above_account_limit. - Crear un segundo límite para el mismo producto y periodo —
409 limit_exists; modifique el existente en su lugar. - Crear un límite antes de que Netts haya fijado el límite de crédito de su cuenta —
409 no_account_limit. - Activar un límite cuya moneda difiera del límite actual de Netts —
422 unit_mismatch; establezca un nuevo valor primero.
Respuestas de error
| HTTP | code | Significado |
|---|---|---|
| 400 | invalid_request, invalid_amount | falta un campo o tiene un formato incorrecto |
| 400 | idempotency_key_required, invalid_idempotency_key | falta la Idempotency-Key, o no tiene entre 8 y 128 caracteres |
| 401 | -1, -2 | la clave falta o es inválida, o la IP no está en la lista blanca — respondido por la pasarela de la API, consulte el formato de respuesta |
| 403 | forbidden | la clave no tiene el permiso limits.write |
| 403 | postpaid_disabled | la facturación pospago está pausada: los límites no se pueden modificar |
| 403 | netts_limit_readonly | el límite fue establecido por Netts |
| 404 | not_found | no existe tal límite en su cuenta |
| 409 | revision_conflict, limit_exists, idempotency_conflict, no_account_limit | ver arriba |
| 422 | above_account_limit, product_not_postpaid, unit_mismatch | valor por encima del límite de Netts, producto desconocido, la moneda del límite de Netts ha cambiado |
Todos los códigos se enumeran en la facturación pospago.