Claves de API
Una clave de API autoriza a un sistema externo, por ejemplo tu ERP, a usar la REST API v1 de exoCortex: abrir tickets, leer su estado y añadir comentarios. Cada clave pertenece a un tenant y solo ve los tickets de ese tenant.
Crear una clave
Sección titulada «Crear una clave»- En exoCortex Core abre Integrations → API keys. Necesitas un rol administrativo, por ejemplo
it_adminointegration_admin. - Pon a la clave un nombre que indique quién la usa, por ejemplo «Conector ERP».
- Elige los scopes, es decir, lo que puede hacer la clave (consulta más abajo).
- Copia la clave completa y guárdala en el gestor de secretos del sistema que la va a usar. exoCortex la muestra una sola vez y solo conserva una huella: si la pierdes, creas una clave nueva.
La clave tiene la forma nhk.<keyid>.<secret>. El keyid identifica la clave en la lista; el secret solo lo tienes tú.
| Scope | Qué permite |
|---|---|
tickets:create |
Abrir tickets |
tickets:read |
Leer el estado de un ticket |
tickets:comment |
Añadir comentarios a un ticket |
tickets:* |
Todas las operaciones sobre los tickets |
* |
Todo lo que permite la API v1 |
Asigna a cada clave solo los scopes que necesita. Una clave sin scopes tiene acceso completo a la API v1: está permitido, pero no se recomienda.
Usar la clave
Sección titulada «Usar la clave»Envía la clave en el encabezado Authorization de cada solicitud:
POST /api/v1/tickets HTTP/1.1Host: exocortex-api.ai-exo-cortex.comAuthorization: Bearer nhk.9f2c4e1a7b3d.…Content-Type: application/jsonIdempotency-Key: 6b1f0c4e-2a7d-4b39-9e51-8c3d2f7a1b60
{ "subject": "Payment gateway returns HTTP 502", "priority": "High" }También puedes usar el encabezado X-NH-API-Key. El tenant no se indica: exoCortex lo obtiene de la clave.
Usa siempre Idempotency-Key cuando abras un ticket: si repites la solicitud con la misma clave de idempotencia, recibes el ticket ya creado en lugar de un duplicado.
Límites de frecuencia
Sección titulada «Límites de frecuencia»Cada clave tiene un límite de solicitudes: el valor predeterminado es de 600 solicitudes cada 60 segundos. Cada respuesta indica en qué punto estás:
| Encabezado | Significado |
|---|---|
RateLimit-Limit |
Solicitudes permitidas en la ventana |
RateLimit-Remaining |
Solicitudes todavía disponibles |
RateLimit-Reset |
Segundos hasta la nueva ventana |
Retry-After |
Solo con la respuesta 429: segundos que hay que esperar antes de reintentar |
Errores
Sección titulada «Errores»Los errores de la API v1 devuelven un JSON con ok: false, un mensaje legible en error y un código estable en code. Basa la lógica de tu cliente en el code, no en el mensaje.
code |
Estado HTTP | Qué hacer |
|---|---|---|
missing_api_key |
401 | Añade el encabezado Authorization |
invalid_api_key |
401 | Revisa la clave: puede ser incorrecta o estar revocada |
insufficient_scope |
403 | Añade a la clave el scope indicado en required_scope |
api_key_disabled |
403 | La clave está desactivada: usa una clave activa |
validation_error |
400 | Corrige el campo indicado en field |
not_found |
404 | El ticket no existe o no pertenece al tenant de la clave |
rate_limited |
429 | Espera los segundos indicados en Retry-After |
ingest_failed |
500 | Reintenta con la misma Idempotency-Key |
exoCortex puede añadir códigos nuevos: si recibes uno que no conoces, decide según el estado HTTP.
Revocar una clave
Sección titulada «Revocar una clave»Desde Integrations → API keys revocas una clave cuando un sistema ya no la usa o si crees que ha quedado expuesta. La revocación es inmediata. La lista también muestra el último uso de cada clave: te ayuda a encontrar las claves inactivas.
Claves nh_… obsoletas
Sección titulada «Claves nh_… obsoletas»Las claves con el formato antiguo nh_… funcionan hasta el 30 de junio de 2027. Las respuestas a estas claves contienen los encabezados Deprecation y Sunset. Para migrar, crea una clave nhk. con los scopes necesarios, actualiza el sistema que la usa y luego revoca la clave antigua.