Tickets API
Core endpoints for creating, querying, prioritizing, assigning, and managing the lifecycle of support tickets. All agent ticket endpoints require authenticated agent credentials with tenant isolation.
Base URL: https://api.vyntech.com.au/v1/support — Endpoints marked Auth require a Bearer JWT passed in the Authorization header.
Creates a new support ticket. Automatically calculates SLA response deadlines, attaches initial customer message, records domain activity, and associates platform tags atomically.
Create TicketAuth
Create a new ticket on behalf of a customer with initial message content and routing tags.
Payload Example
{
"customer_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"subject": "System login failure on dashboard",
"content": "Customer reports 500 Internal Server Error when clicking SSO login.",
"content_type": "text",
"priority": "high",
"department_id": "e6741753-ff88-46d4-a81d-e6b761745484",
"tags": ["b11db18f-a9cb-4bb7-b844-32b0c1694f4a"]
}Status Codes
- Name
201- Type
- HTTP
- Description
- Ticket successfully created
- Name
400- Type
- HTTP
- Description
- Validation error or invalid UUID
- Name
401- Type
- HTTP
- Description
- Unauthorized - missing or invalid agent JWT
- Name
403- Type
- HTTP
- Description
- Forbidden - user is not a registered agent
Request Parameters
- Name
customer_id- Type
- UUID
- Required
- Description
- UUID of the registered customer initiating or associated with the ticket.
- Name
subject- Type
- string
- Required
- Description
- Summary topic line of the issue (1–255 characters).
- Name
content- Type
- string
- Required
- Description
- Detailed issue description or initial inquiry body.
- Name
content_type- Type
- string
- Description
- Format of the body content:
text(default) orhtml.
- Name
priority- Type
- string
- Description
- Priority level:
urgent,high,medium(default), orlow.
- Name
department_id- Type
- UUID
- Description
- Optional department UUID to route the ticket to.
- Name
tags- Type
- UUID[]
- Description
- Array of tag UUIDs to categorize and filter the ticket.
Returns a paginated list of tickets for the tenant with multi-criteria filtering by status, priority, channel, department, assigned agent, and text search.
List TicketsAuth
Fetch paginated tickets with filtering and search capabilities.
Status Codes
- Name
200- Type
- HTTP
- Description
- Paginated tickets list returned
- Name
401- Type
- HTTP
- Description
- Unauthorized agent token
Query Parameters
- Name
status- Type
- string
- Description
- Comma-separated statuses:
open,in_progress,pending,waiting_customer,resolved,closed.
- Name
priority- Type
- string
- Description
- Comma-separated priorities:
urgent,high,medium,low.
- Name
channel- Type
- string
- Description
- Filter by origin:
portal,email,api.
- Name
department_id- Type
- string
- Description
- Comma-separated department UUIDs.
- Name
assignee_id- Type
- string
- Description
- Filter tickets assigned to specific agent UUIDs.
- Name
search- Type
- string
- Description
- Full-text search querying subject and ticket sequential numbers.
- Name
page- Type
- integer
- Description
- Pagination page number (default: 1).
- Name
per_page- Type
- integer
- Description
- Page size between 1 and 100 (default: 20).
Returns aggregate ticket counts grouped by lifecycle status for real-time dashboard metrics and SLA monitoring.
Get Ticket StatisticsAuth
Get live ticket distribution across status buckets.
Status Codes
- Name
200- Type
- HTTP
- Description
- Statistics returned
Retrieves the full ticket aggregate including assigned agents, active SLA targets, customer metadata, and current status. Supports lookups by UUID or sequential human-readable ticket number.
Get Ticket by ID or NumberAuth
Fetch complete ticket record by UUID or sequential integer number (/v1/support/tickets/number/{number}).
Status Codes
- Name
200- Type
- HTTP
- Description
- Ticket record returned
- Name
404- Type
- HTTP
- Description
- Ticket not found or cross-tenant access denied
Update status transitions, assign agents with specific operational roles, manage workload caps, and close or reopen tickets.
Update StatusAuth
Transition ticket to another valid state in the lifecycle state machine.
Payload Example
{
"status": "in_progress"
}Status Codes
- Name
204- Type
- HTTP
- Description
- Status updated successfully
- Name
400- Type
- HTTP
- Description
- Invalid status transition
Assign AgentAuth
Assign an agent with a primary, collaborator, or watcher role. Enforces maximum active workload capacity caps.
Payload Example
{
"agent_id": "c138db50-2917-48f8-a152-78d120a1db49",
"role": "primary"
}Status Codes
- Name
204- Type
- HTTP
- Description
- Agent assigned successfully
- Name
400- Type
- HTTP
- Description
- Workload cap exceeded for agent or agent inactive
Close / Reopen TicketAuth
Mark a ticket as closed, or call /v1/support/tickets/{id}/reopen to reopen previously resolved or closed tickets.
Status Codes
- Name
204- Type
- HTTP
- Description
- Ticket state transition succeeded