Ticket
Create tickets, read their status and add comments (REST API v1).
Creare un ticket
Sezione intitolata “Creare un ticket”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.
Autenticazione: Chiave API: Authorization: Bearer nhk.<keyid>.<secret>, oppure chiave API in X-NH-API-Key
Parametri
Sezione intitolata “Parametri”| Nome | Dove | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|---|
Idempotency-Key |
intestazione | string | no | Unique key per logical operation (UUID recommended). A retry with the same key returns the first result. |
Corpo della richiesta
Sezione intitolata “Corpo della richiesta”application/json
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
subject |
string | no | Ticket title. Required (alias: summary). |
summary |
string | no | deprecato 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_name": "ACME On-call", "external_id": "INC-88231", "tags": [ "checkout", "eu-west" ]}Risposte
Sezione intitolata “Risposte”| Stato | Descrizione |
|---|---|
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. |
Esempio 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}Esempio con curl
Sezione intitolata “Esempio con curl”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"]}'Leggere un ticket
Sezione intitolata “Leggere un ticket”GET /api/v1/tickets/{key}
Returns the current status of a ticket in the API key’s tenant. Tickets of other tenants return 404.
Autenticazione: Chiave API: Authorization: Bearer nhk.<keyid>.<secret>, oppure chiave API in X-NH-API-Key
Parametri
Sezione intitolata “Parametri”| Nome | Dove | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|---|
key |
percorso | string | sì | Ticket key. |
Risposte
Sezione intitolata “Risposte”| Stato | Descrizione |
|---|---|
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. |
Esempio 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" }}Esempio con curl
Sezione intitolata “Esempio con curl”curl -X GET "https://exocortex-api.ai-exo-cortex.com/api/v1/tickets/ACME-1042" \ -H "Authorization: Bearer $EXO_API_KEY"Aggiungere un commento
Sezione intitolata “Aggiungere un commento”POST /api/v1/tickets/{key}/comment
Autenticazione: Chiave API: Authorization: Bearer nhk.<keyid>.<secret>, oppure chiave API in X-NH-API-Key
Parametri
Sezione intitolata “Parametri”| Nome | Dove | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|---|
key |
percorso | string | sì | Ticket key. |
Idempotency-Key |
intestazione | string | no | Unique key per logical operation (UUID recommended). A retry with the same key returns the first result. |
Corpo della richiesta
Sezione intitolata “Corpo della richiesta”application/json
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
comment |
string | no | Comment text. Required (alias: text). |
text |
string | no | deprecato 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.",}Risposte
Sezione intitolata “Risposte”| Stato | Descrizione |
|---|---|
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. |
Esempio 200
{ "ok": true, "ticket_key": "ACME-1042", "ingestion_id": "ing_91be04d2"}Esempio con curl
Sezione intitolata “Esempio con curl”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]"}'Pagina generata dalla specifica OpenAPI dell’API di integrazione, versione 1.1.0.