Przejdź do głównej zawartości

Zgłoszenia

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.

Uwierzytelnianie: Klucz API: Authorization: Bearer nhk.<keyid>.<secret>, lub klucz API w X-NH-API-Key

Nazwa Miejsce Typ Wymagany Opis
Idempotency-Key nagłówek string nie Unique key per logical operation (UUID recommended). A retry with the same key returns the first result.

application/json

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

Przykład 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
}
Okno terminala
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.

Uwierzytelnianie: Klucz API: Authorization: Bearer nhk.<keyid>.<secret>, lub klucz API w X-NH-API-Key

Nazwa Miejsce Typ Wymagany Opis
key ścieżka string tak Ticket key.
Status Opis
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.

Przykład 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"
}
}
Okno terminala
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

Uwierzytelnianie: Klucz API: Authorization: Bearer nhk.<keyid>.<secret>, lub klucz API w X-NH-API-Key

Nazwa Miejsce Typ Wymagany Opis
key ścieżka string tak Ticket key.
Idempotency-Key nagłówek string nie Unique key per logical operation (UUID recommended). A retry with the same key returns the first result.

application/json

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

Przykład 200

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

Strona wygenerowana ze specyfikacji OpenAPI API integracji, wersja 1.1.0.