Ticket management

Tickets organize each video call around a workflow.

Tickets in the Apizee API represent the entry point for initiating and managing a remote assistance session espacially when it requires state management. The API allows you to create, retrieve, update, and delete individual tickets, as well as list multiple tickets.

Tickets' state can take several values:

Status
Short Description

new

Ticket has been created but not yet processed.

open

Ticket is available and ready to be assigned or handled.

invited

Guest has been invited to join the session but not yet connected.

inprogress

Session or ticket handling is currently ongoing.

done

Work on the ticket is completed; resolution reached.

closed

Ticket is formally closed and archived; no further action possible.

rejected

Ticket was refused or not accepted for processing.

declined

Invitation or request was refused by the guest.

expired

Ticket validity period ended without resolution.

cancelled

Ticket was withdrawn before completion by the agent or system.

Create a Ticket

Use this operation to open a new assistance request. Typical steps:

  1. Provide the required parameters such as ticket type, related enterprise, and guest/agent information.

  2. (Optional) Select the Service you want the ticket to be created in. By default, the ticket will be created in the preferred service defined in the cloud portal.

  3. (Optional) set an initial state (new, open, etc.) or metadata.

  4. Receive the created ticket details in the response, including its unique id and join links.

When to use:

  • Starting a new remote session with a customer.

  • Preparing a session link to be sent by your own channel (email, chat, etc.).

Read Start Apizee using the REST API to a complete guide to use the ticket creation API.

Create a ticket.

post
/api/v3/tickets
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
namestringOptional

Recipient name (note: not applicable to assistance multi-participants)

phonestringOptional

Recipient phone numbers, separated by a comma [example: +33612345678,+33787654321] *required field if no email provided

emailstringOptional

Recipient emails, separated by a comma [example: paul@apizee.com,jean@apizee.com], cannot be a generic mailbox or shared email address *required field if no phone number provided

languagestring · enumOptional

Set the language of the notification template.

Possible values:
typestringOptional

Ticket type

subjectstringOptional

Email subject

referencestringOptional

The reference of the ticket.

descriptionstringOptional

The description of the ticket.

userGroupintegerOptional

The user group ID of agents allowed to treat the ticket.

agentstringRequired

Username or ID of the agent allowed to treat the ticket.

invitestringOptional

If the invitation needs to be sent immediatly set this field to '1','true' or 'TRUE'.

Default: 0
agentTemplateIdintegerOptional

Email and sms invitation template that the agent will receive.

requestorTemplateIdintegerOptional

email and sms invitation template that the requestor will receive

supervisorNotificationbooleanOptional

For Video assistance multi-participants invitation, send conference invitation to the organizer (default: true)

startTimestringOptional

When the ticket will take place. A given ISO 8601 compliant UTC date (format: 2020-01-01T15:00:00Z).

durationinteger · min: 1Optional

Set a duration (in minutes).

Default: 30
reminderinteger · min: 1 · max: 60Optional

Activate an email invite reminder (in minutes).

firstnamestring · max: 100Optional

The first name of the recipient (note: not applicable to assistance multi-participants).

companystring · max: 100Optional

The company of the recipient(note: not applicable to assistance multi-participants).

genderstring · enumOptional

The gender of the recipient (note: not applicable to assistance multi-participants).

Possible values:
countrystring · min: 2 · max: 2Optional

The country of the recipient. A given ISO 3166-1 alpha-2 code, example: FR (note: not applicable to assistance multi-participants).

service_keystringOptional

Set the service in which the ticket will be associated (key format: sfa6mdbzx9vigfvryihfokt9khux8qan).

scopestring · enumOptional

An application can ask for additional scopes by listing the requested scope names.

Possible values:
Responses
200

Good case

application/json
Responseany
post
/api/v3/tickets

Get details from a Ticket

Retrieve details of an existing ticket by its id. This operation returns full metadata: state, participants, creation/update timestamps, and any associated resources.

When to use:

  • Checking the current status of a session.

  • Displaying ticket details in your own interface.

Get a ticket information

get
/api/v3/tickets/{ticketId}
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
ticketIdintegerRequired

ID of the wanted ticket

Responses
200

OK

application/json
Responseany
get
/api/v3/tickets/{ticketId}
200

OK

Ticket-based resources

Beyond basic ticket CRUD operations, the API provides additional endpoints to retrieve related resources or export ticket data.

Get Ticket Medias

Endpoint: GET /api/v3/tickets/{ticketId}/medias Retrieve the list of all media files linked to a specific ticket (such as snapshots, uploaded documents, or recordings).

When to use:

  • Displaying media captured during a session in your own application.

  • Allowing agents or supervisors to review session-related files.

Get a media list for a ticket.

get
/api/v3/tickets/{ticketId}/medias
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
ticketIdintegerRequired

ID of the wanted ticket

Query parameters
statusstring · enumOptional

Limit result set to medias assigned one or more statuses.

Default: completedPossible values:
offsetintegerOptional

Offset the result set by a specific number of items.

limitintegerOptional

Maximum number of items to be returned in result set.

Default: 10
created_afterstringOptional

Limit response to media created after a given ISO 8601 compliant UTC date (format: 2020-01-01T15:00:00Z).

created_beforestringOptional

Limit response to media created before a given ISO 8601 compliant UTC date (format: 2020-01-01T16:00:00Z).

searchstringOptional

Limit results to those matching a string.

orderbystring · enumOptional

Sort collection by object attribute.

Default: datePossible values:
orderstring · enumOptional

Order sort attribute ascending or descending.

Default: descPossible values:
media_typestring · enumOptional

Limit result set to attachments of a particular media type.

Possible values:
tagstringOptional

Limit result set to media assigned to a specific tag.

userstringOptional

Limit result set to media attached to a specific user ID (set 'all' to limit result to the enterprise, admin role required).

user_groupintegerOptional

Limit result set to media attached to a specific user group ID.

source_typeinteger · enumOptional

Limit result set to attachments of a particular source type.

Possible values:
actionstring · enumOptional

Download the tickets medias

Possible values:
download_filenamestringOptional

Name of the downloaded file without extension

Responses
200

Good case

application/json
Responseany
get
/api/v3/tickets/{ticketId}/medias
200

Good case

Get Ticket Events

Endpoint: GET /api/v3/tickets/{ticketId}/events Retrieve a chronological list of all events associated with a ticket. Events may include invitations sent, session starts, status changes, and other tracked actions.

When to use:

  • Auditing the lifecycle of a ticket.

  • Building a session timeline for reporting or troubleshooting.

Get an event list for a ticket.

get
/api/v3/tickets/{ticketId}/events
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
ticketIdintegerRequired

ID of the wanted ticket

Responses
200

Good case

application/json
Responseany
get
/api/v3/tickets/{ticketId}/events

Read Ticket session events API for a complete description of this endpoint.

Export Ticket Data

Endpoint: POST /api/v3/tickets/{ticketId}/export Export the complete ticket data set (including metadata, events, and media) in a downloadable format. A successful call returns a resource you can use to fetch the exported file.

When to use:

  • Archiving a ticket for compliance or contractual purposes.

  • Sharing a complete session record with an external system.

Generate and export a PDF ticket report.

post
/api/v3/tickets/{ticketId}/export
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
ticketIdintegerRequired

ID of the wanted ticket

Query parameters
formatstring · enumOptional

Optional export format.

Possible values:
includeTimelinebooleanOptional

Optional, allows adding the ticket's timeline (list of events).

Responses
200

Successful operation

application/json
Responseany
post
/api/v3/tickets/{ticketId}/export

Read the corresponding section in the Apizee Cloud swagger.

Update a Ticket

Modify certain properties of a ticket (for example, change its state, update agent assignment, or adjust metadata). Partial updates are supported—only send the fields you want to change.

When to use:

  • Transitioning a ticket through its lifecycle (open → inprogress → done).

  • Changing the assigned agent mid-session.

Update part of a single ticket.

patch
/api/v3/tickets/{ticketId}
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
ticketIdintegerRequired

The Ticket ID.

Query parameters
agentstringOptional

Username or ID of the agent allowed to treat the ticket.

statestring · enumOptional

The state of the ticket.

Default: openPossible values:
referencestringOptional

The reference of the ticket.

descriptionstringOptional

The description of the ticket.

subjectstringOptional

The subject of the ticket.

userGroupintegerOptional

The user group ID of agents allowed to treat the ticket.

Responses
patch
/api/v3/tickets/{ticketId}

No content

Delete a Ticket

Remove a ticket from the system by its id. This is irreversible and should only be done when you are certain the ticket is no longer needed.

When to use:

  • Cleaning up expired or test tickets.

  • Cancelling sessions before they start.

Delete a ticket by ID.

delete
/api/v3/tickets/{ticketId}

Use to delete a ticket by ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
ticketIdintegerRequired

The Ticket ID.

Responses
200

Good case

application/json
Responseany
delete
/api/v3/tickets/{ticketId}
200

Good case

List Tickets

Retrieve a paginated list of tickets. Supports filters (by state, date, enterprise, etc.) to narrow down results.

When to use:

  • Building dashboards or reporting views.

  • Fetching active tickets for a specific enterprise or agent.

This call returns a list of tickets.

get
/api/v3/tickets
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
sincestring · date-timeOptional

Limit response to tickets created after a given ISO 8601 compliant UTC date (format: 2020-01-01T15:00:00Z).

untilstring · date-timeOptional

Limit response to tickets created before a given ISO 8601 compliant UTC date (format: 2020-01-01T16:00:00Z).

start_timestring · date-timeOptional

Limit response to tickets started at or after a given ISO 8601 compliant UTC date (format: 2020-01-01T16:00:00Z).

end_timestring · date-timeOptional

Limit response to tickets ended at or before a given ISO 8601 compliant UTC date (format: 2020-01-01T15:00:00Z).

searchstringOptional

Limit results to those matching a string.

orderbystring · enumOptional

Sort collection by object attribute.

Default: start_timePossible values:
orderstring · enumOptional

Order sort attribute ascending or descending.

Default: descPossible values:
limitintegerOptional

Maximum number of items to be returned in result set.

Default: 10
offsetintegerOptional

Offset the result set by a specific number of items.

userstringOptional

Limit result set to tickets attached to a specific user ID (set 'all' to limit result to the enterprise, admin role required). Current user by default.

user_groupintegerOptional

Limit result set to tickets attached to a specific user group ID.

referencestringOptional

Limit result set to tickets with a specific reference.

typestringOptional

Limit result set to tickets with a specific type.

requestorintegerOptional

Limit result set to tickets attached to a specific requestor (contact) ID.

scopestring · enumOptional

An application can ask for additional scopes by listing the requested scope names.

Possible values:
service_keystringOptional

Limit results to a given service (key format: sfa6mdbzx9vigfvryihfokt9khux8qan). Default service by default.

Responses
200

OK

application/json
Responseany
get
/api/v3/tickets
200

OK

Last updated