La API acepta dos métodos de autenticación. Elige el que mejor se ajuste a tu integración.
| Método | Encabezado | Recomendado para |
|---|---|---|
| API Key | x-api-key: <api_key> | Integraciones servidor-a-servidor de larga vida |
| Bearer Token (JWT) | Authorization: Bearer <token> | Integraciones donde el token se renueva por sesión |
Los dos métodos no son intercambiables en toda la API. Una API key identifica a la integración; un token identifica además al usuario y a su empresa. Los endpoints que necesitan saber quién hizo la acción —para resolver la empresa, para dejar traza, o para escribir un historial— sólo aceptan el token.
| Serie | Authorization: Bearer | x-api-key |
|---|---|---|
/v1/cases y todos sus subrecursos | ✅ | ❌ |
GET /v1/documents (listado) | ✅ | ❌ |
El resto de /v1/documents | ✅ | ✅ |
Si mandas x-api-key a un endpoint que sólo acepta token, la respuesta es 401.
Los ejemplos de cada página usan el método que ese endpoint sí acepta. Cuando tengas duda,
Authorization: Bearerfunciona en toda la API.
Solicita tus credenciales a tu contacto en Nexcar o a soporte@nexcar.mx. Recibirás una api_key para producción y otra para el ambiente de sandbox.
Nunca expongas tu
api_keyen clientes web ni la subas a un repositorio público.
curl -X POST https://api.nexcar.mx/v1/documents \
-H "x-api-key: tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"case_id": "11111111-2222-3333-4444-555555555555",
"url": "https://tu-storage.example.com/factura-vehiculo.pdf",
"mime_type": "application/pdf",
"type": "factura"
}'
curl -X POST https://api.nexcar.mx/v1/cases \
-H "Authorization: Bearer tu_token_jwt" \
-H "Content-Type: application/json" \
-d '{
"internal_id": "EXP-2026-0001",
"vehicle_origin": "Nacional",
"status": "processing"
}'
| HTTP | Código | Causa |
|---|---|---|
401 | AUTHORIZATION_HEADER_MISSING | No mandaste credencial, o mandaste x-api-key a un endpoint que sólo acepta token |
401 | JWT_INVALID | El token está mal formado o mal firmado; también es el código de una API key inválida |
401 | JWT_EXPIRED | El token venció. Renuévalo y reintenta |
403 | FORBIDDEN | Las credenciales son válidas pero no tienen permiso sobre el recurso |