Documentación para desarrolladoresPrimeros pasos
Autenticación
Claves de API, permisos y listas de IP permitidas.
Envía una clave de API como token Bearer en cada solicitud a /v1.
curl https://runner.cargoduo.com/v1/balance \
-H "Authorization: Bearer $CARGODUO_API_KEY"Claves de API
| Clave | Detalle |
|---|---|
| Formato | cd_live_ + 40 caracteres |
| Quién la crea | El propietario de la organización, en la consola de desarrolladores |
| Visibilidad | Se muestra una sola vez, al crearla. Solo se guarda un hash |
| Por organización | Hasta 20 claves activas |
| Opcional | Fecha de caducidad y lista de IP permitidas (IP o rangos CIDR) |
| Rotación | Nuevo secreto con la misma configuración. El anterior deja de funcionar al instante |
Guarda las claves en tu servidor. Nunca incluyas una en un navegador ni en una app móvil.
Permisos
| Permiso | Endpoints |
|---|---|
pack:write | POST /v1/pack, POST /v1/estimate, DELETE /v1/jobs/{id}, POST /v1/projects/{id}/pack |
jobs:read | GET /v1/jobs, GET /v1/jobs/{id}, GET /v1/jobs/{id}/result |
account:read | GET /v1/limits, GET /v1/balance, GET /v1/usage |
resources:read | GET /v1/projects, GET /v1/projects/{id}, GET /v1/vehicles, GET /v1/vehicles/{id}, GET /v1/templates, GET /v1/templates/{id} |
resources:write | POST /v1/projects, PATCH /v1/projects/{id}, DELETE /v1/projects/{id}, POST /v1/projects/{id}/pack, POST /v1/vehicles, PATCH /v1/vehicles/{id}, DELETE /v1/vehicles/{id}, POST /v1/templates, PATCH /v1/templates/{id}, DELETE /v1/templates/{id} |
Las claves nuevas tienen todos los permisos (scopes). POST /v1/projects/{id}/pack necesita tanto pack:write como resources:write.
Errores
| Estado | Código | Significado |
|---|---|---|
| 401 | unauthorized | Clave de API ausente, mal formada o desconocida. |
| 401 | key_revoked | La clave se ha revocado. |
| 401 | key_expired | La clave ha superado su fecha de caducidad. |
| 403 | ip_not_allowed | La IP de origen no está en la lista de IP permitidas de la clave. |
| 403 | subscription_inactive | La organización no tiene ninguna suscripción activa que incluya la API. |
| 403 | account_inactive | La organización está suspendida o no tiene ningún propietario con la cuenta activa. |
| 403 | scope_missing | A la clave le falta un permiso que requiere este endpoint. |
| 429 | rate_limited | Demasiadas solicitudes en el minuto, la hora o el día en curso (por clave o por organización), o más de 60 autenticaciones fallidas por minuto desde tu dirección IP. |