Ir al contenido

Tickets

Create tickets, read their status and add comments (REST API v1).

POST /api/v1/tickets

Creates a ticket in the tenant bound to the API key. Send an Idempotency-Key header so retries don’t create duplicates: a repeated key returns the original result with action: deduplicated.

Autenticación: Clave API: Authorization: Bearer nhk.<keyid>.<secret>, o clave API en X-NH-API-Key

Nombre Dónde Tipo Obligatorio Descripción
Idempotency-Key cabecera string no Unique key per logical operation (UUID recommended). A retry with the same key returns the first result.

application/json

Nombre Tipo Obligatorio Descripción
subject string no Ticket title. Required (alias: summary).
summary string no obsoleto Alias of subject.
description string no Body text (alias: body).
priority string no Priority name. The tenant’s priority scheme may define more values.
category string no Category hint used by routing.
issuetype string no Issue-type override, for example IT-INC or IT-SR.
country string no ISO 3166-1 alpha-2 country, if your tenant routes by country.
sender_email string (email) no Requester. Defaults to the key’s contact.
sender_name string no
sender_phone string no
company string no
external_id string no Your system’s id, kept for correlation.
tags array<string> no
attachments array<object> no Attachments by reference (URL). Binary upload is not part of v1.
attachments[].name string sí
attachments[].url string (uri) no
attachments[].size integer no
attachments[].mime string no
{
"subject": "Payment gateway returns HTTP 502",
"description": "Checkout fails for all EU customers since 09:12 UTC.",
"priority": "High",
"category": "Application",
"sender_email": "[email protected]",
"sender_name": "ACME On-call",
"external_id": "INC-88231",
"tags": [
"checkout",
"eu-west"
]
}
Estado Descripción
200 Ticket created (or deduplicated by Idempotency-Key).
400 Invalid request.
401 API key missing, invalid or revoked.
403 Key disabled or missing the required scope.
429 Rate limit exceeded for this API key.
500 Unexpected server error. Retry with the same Idempotency-Key.

Ejemplo 200

{
"ok": true,
"ticket_key": "ACME-1042",
"ingestion_id": "ing_7f3c2a91",
"action": "created",
"status_url": "/api/v1/tickets/ACME-1042",
"skipped": null,
"backend_status": null,
"backend_error": null,
"error": null,
"post_routing": null
}
Ventana de terminal
curl -X POST "https://exocortex-api.ai-exo-cortex.com/api/v1/tickets" \
-H "Authorization: Bearer $EXO_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
--data '{"subject":"Payment gateway returns HTTP 502","description":"Checkout fails for all EU customers since 09:12 UTC.","priority":"High","category":"Application","sender_email":"[email protected]","sender_name":"ACME On-call","external_id":"INC-88231","tags":["checkout","eu-west"]}'

GET /api/v1/tickets/{key}

Returns the current status of a ticket in the API key’s tenant. Tickets of other tenants return 404.

Autenticación: Clave API: Authorization: Bearer nhk.<keyid>.<secret>, o clave API en X-NH-API-Key

Nombre Dónde Tipo Obligatorio Descripción
key ruta string sí Ticket key.
Estado Descripción
200 Ticket found.
401 API key missing, invalid or revoked.
403 Key disabled or missing the required scope.
404 Ticket not found in the API key’s tenant.
429 Rate limit exceeded for this API key.
500 Unexpected server error. Retry with the same Idempotency-Key.

Ejemplo 200

{
"ok": true,
"ticket": {
"key": "ACME-1042",
"summary": "Payment gateway returns HTTP 502",
"status": "In Progress",
"priority": "High",
"assignee": "Jane Doe",
"created": "2026-11-01T09:14:05.000Z",
"updated": "2026-11-01T09:31:47.000Z"
}
}
Ventana de terminal
curl -X GET "https://exocortex-api.ai-exo-cortex.com/api/v1/tickets/ACME-1042" \
-H "Authorization: Bearer $EXO_API_KEY"

POST /api/v1/tickets/{key}/comment

Autenticación: Clave API: Authorization: Bearer nhk.<keyid>.<secret>, o clave API en X-NH-API-Key

Nombre Dónde Tipo Obligatorio Descripción
key ruta string sí Ticket key.
Idempotency-Key cabecera string no Unique key per logical operation (UUID recommended). A retry with the same key returns the first result.

application/json

Nombre Tipo Obligatorio Descripción
comment string no Comment text. Required (alias: text).
text string no obsoleto Alias of comment.
sender_email string (email) no
sender_name string no
{
"comment": "Rollback of release 4.18.2 completed; error rate back to baseline.",
"sender_email": "[email protected]"
}
Estado Descripción
200 Comment accepted.
400 Invalid request.
401 API key missing, invalid or revoked.
403 Key disabled or missing the required scope.
404 Ticket not found in the API key’s tenant.
429 Rate limit exceeded for this API key.
500 Unexpected server error. Retry with the same Idempotency-Key.

Ejemplo 200

{
"ok": true,
"ticket_key": "ACME-1042",
"ingestion_id": "ing_91be04d2"
}
Ventana de terminal
curl -X POST "https://exocortex-api.ai-exo-cortex.com/api/v1/tickets/ACME-1042/comment" \
-H "Authorization: Bearer $EXO_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
--data '{"comment":"Rollback of release 4.18.2 completed; error rate back to baseline.","sender_email":"[email protected]"}'

Página generada a partir de la especificación OpenAPI de la API de integración, versión 1.1.0.