Zum Inhalt springen

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.

Authentifizierung: API-Schlüssel: Authorization: Bearer nhk.<keyid>.<secret>, oder API-Schlüssel in X-NH-API-Key

Name Ort Typ Pflicht Beschreibung
Idempotency-Key Header string nein Unique key per logical operation (UUID recommended). A retry with the same key returns the first result.

application/json

Name Typ Pflicht Beschreibung
subject string nein Ticket title. Required (alias: summary).
summary string nein veraltet Alias of subject.
description string nein Body text (alias: body).
priority string nein Priority name. The tenant’s priority scheme may define more values.
category string nein Category hint used by routing.
issuetype string nein Issue-type override, for example IT-INC or IT-SR.
country string nein ISO 3166-1 alpha-2 country, if your tenant routes by country.
sender_email string (email) nein Requester. Defaults to the key’s contact.
sender_name string nein
sender_phone string nein
company string nein
external_id string nein Your system’s id, kept for correlation.
tags array<string> nein
attachments array<object> nein Attachments by reference (URL). Binary upload is not part of v1.
attachments[].name string ja
attachments[].url string (uri) nein
attachments[].size integer nein
attachments[].mime string nein
{
"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"
]
}
Status Beschreibung
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.

Beispiel 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
}
Finestra del terminale
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.

Authentifizierung: API-Schlüssel: Authorization: Bearer nhk.<keyid>.<secret>, oder API-Schlüssel in X-NH-API-Key

Name Ort Typ Pflicht Beschreibung
key Pfad string ja Ticket key.
Status Beschreibung
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.

Beispiel 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"
}
}
Finestra del terminale
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

Authentifizierung: API-Schlüssel: Authorization: Bearer nhk.<keyid>.<secret>, oder API-Schlüssel in X-NH-API-Key

Name Ort Typ Pflicht Beschreibung
key Pfad string ja Ticket key.
Idempotency-Key Header string nein Unique key per logical operation (UUID recommended). A retry with the same key returns the first result.

application/json

Name Typ Pflicht Beschreibung
comment string nein Comment text. Required (alias: text).
text string nein veraltet Alias of comment.
sender_email string (email) nein
sender_name string nein
{
"comment": "Rollback of release 4.18.2 completed; error rate back to baseline.",
"sender_email": "[email protected]"
}
Status Beschreibung
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.

Beispiel 200

{
"ok": true,
"ticket_key": "ACME-1042",
"ingestion_id": "ing_91be04d2"
}
Finestra del terminale
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]"}'

Seite generiert aus der OpenAPI-Spezifikation der Integrations-API, Version 1.1.0.