Ticket intake

The ways tickets enter TicketIQ, from the console and API to external systems, with safe retries.

After reading this page you will be able to:
  • File tickets from the console and the API
  • Connect an external system to the intake endpoint with an API key
  • Retry safely with idempotency keys and external ids

Channels

ChannelHowAuth
ConsoleIT service desk › Tickets, New ticketSession
Console APIPOST /api/ticketsSession or token with tickets.write
External systemsPOST /api/intakeInstance API key, rate-limited
Teams, web chat, emailVia Liya and triggersChannel-specific
Jira, ServiceNow, mailboxes, CSVConnector sources, POST /api/sources/{id}/syncSource credentials

File a ticket from an external system

POST /api/intake is meant for monitoring tools, Power Automate, Slack workflows and similar. It returns the routed ticket plus deflection answers, the suggested fixes Liya Resolve found.

curl -X POST https://<host>/api/intake \
  -H "X-API-Key: $TICKETIQ_API_KEY" -H "Idempotency-Key: alert-7731" \
  -H "Content-Type: application/json" \
  -d '{"title":"Disk 95% on db-02","description":"/var at 95%","external_id":"PD-7731"}'
FieldNotes
titleRequired. An empty title is a 422.
descriptionCleaned of signatures and quoted replies before classification.
external_idYour system's id. Sending the same id again updates that ticket and returns created: false.
Tip

Retries are safe two ways: repeat the Idempotency-Key header and you get the first ticket back, or reuse the external_id.

Connector sources

Sources pull records in bulk. Manage them at /api/sources: POST /api/sources/{id}/test checks the connection, /sync pulls new records, /reclassify re-runs classification over what was pulled.

Tenancy

A ticket filed from the console lands in the caller's selected tenant. A ticket from a source lands in the tenant that owns the source. See Tenancy.

Next steps