REST API
Programmatically manage tickets, transcripts, and categories. Available on Business and Enterprise plans.
Authentication
All API requests require a Bearer token passed in the Authorization header. Generate a token from your workspace Settings → API Keys.
Base URL: https://tixora.xyz/api
Rate limits: 120 requests per minute per workspace. Responses include X-RateLimit-Remaining and X-RateLimit-Reset headers.
Endpoints
/v1/ticketsList tickets for the authenticated workspace. Supports filtering by status, category, and agent.
| Parameter | Type | Description |
|---|---|---|
| status | string | Filter by status: open | pending | closed |
| categoryId | string | Filter by category UUID |
| limit | number | Results per page (max 100, default 25) |
| cursor | string | Pagination cursor from previous response |
/v1/tickets/:idRetrieve a single ticket by its UUID, including messages and metadata.
/v1/tickets/:id/closeClose an open ticket. Optionally provide a reason and tag.
| Parameter | Type | Description |
|---|---|---|
| reason | string | Closure reason (shown in transcript) |
| tag | string | Tag slug to apply on close (e.g. resolved) |
| deleteChannel | boolean | Whether to delete the Discord channel (default false) |
/v1/tickets/:id/messagesSend a message into an open ticket as the bot.
| Parameter | Type | Description |
|---|---|---|
| content | string | Message content (max 2000 characters) |
/v1/transcripts/:idRetrieve the full transcript of a closed ticket in JSON format.
/v1/categoriesList all categories in the workspace.