Docs/Support/API/Tickets

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) or html.
  • Name
    priority
    Type
    string
    Description
    Priority level: urgent, high, medium (default), or low.
  • 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.
Request
POST/v1/support/tickets
Response 201

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).
Request
GET/v1/support/tickets
Response 200

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
Request
GET/v1/support/tickets/stats
Response 200

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
Request
GET/v1/support/tickets/{id}
Response 200

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
Request
PATCH/v1/support/tickets/{id}/status

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
Request
POST/v1/support/tickets/{id}/assign

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
Request
POST/v1/support/tickets/{id}/close

We use cookies and similar technologies to measure traffic and improve the site. You can choose which categories to allow. Manage Preferences.