Ticket session events API
This documentation describes how to interact with the Apizee API to retrieve events that occur during video sessions ("video-assistance").
Introduction
Apizee sessions can include interactions such as OCR scans, chat messages, media captures, or survey completions. Until now, this data was not accessible externally.
With the Ticket Session Events API, in-session actions are exposed via:
A REST API resource
An event type send through webhook calls
These capabilities enable IT systems to:
Monitor what happens during video sessions
Automate processes based on session content
Archive or analyze interaction data
Authentication and Permissions
Access to these endpoints requires:
A valid Bearer token
Proper role permissions to access ticket data
See Authentication for a step by step documentation.
Rate limiting applies to all event endpoints. See Rate limits for more details.
Event Model
Each event in the ticket timeline follows a common structure plus event-specific attributes.
Event-specific payload attributes
Depending on the event type triggered, the webhook payload will contain specific attributes:
consent.accepted
ticket.sessionStarted
geo.ansAllowed
"geoloc": {
"lat": 48.650032799999998,
"lng": -3.3655395000000001
}geo.ansDisallowed
ticket.approved
"agent": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.new
"agent": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.assigned
"agent": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.completed
"agent": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.cancelled
"agent": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.closed
"agent": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}mediaDevice.allowed
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}mediaDevice.disallowed
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}mediaDevice.cameraAllowed
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}mediaDevice.cameraDisallowed
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}mediaDevice.micAllowed
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}mediaDevice.micDisallowed
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}session.established
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.priorityChanged
"agent": {
"email": "jane.doe@issues.llc",
"phone": "",
"firstname": "Jane",
"lastname": "Doe"
},
"oldPriority": 1,
"newPriority": 0ticket.invitationSent
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.invitationResent
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.invitationAccepted
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.invitationDeclined
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.invitationClicked
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}ticket.invitationNotclicked
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}session.agentContacted
"agent": {
"email": "john.doe@apizee.com",
"phone": "+3316565454",
"firstname": "John",
"lastname": "Doe"
}media.pictureTaken
"mediaId": 342432media.pictureSent
"mediaId": 342432survey.answered
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "",
"firstname": "Jane",
"lastname": "Doe"
},
"surveyAnswer": {
"questions": [
{
"id": 12,
"label": {"fr": "Première question?", "en": "Question one?"},
"answer": "Not satisfied"
},
{
"id": 14,
"label": {"fr": "Seconde question?", "en": "Question two?"},
"answer": "Satisfied"
}
],
"feedback": "Here is a feedback from the user"
}session.agentLeft
"agent": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}session.userLeft
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "0605040302",
"firstname": "Jane",
"lastname": "Doe"
}media.OCRDone
"text": "Lorem\nipsum"HTTP REST API to access to ticket's events
ID of the wanted ticket
Good case
Forbidden
Not found case
GET /api/v3/tickets/{ticketId}/events HTTP/1.1
Host: cloud.apizee.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": 56473,
"eventType": "ticket.invitationAccepted",
"timestamp": 1741621530,
"conversationId": 1345324,
"data": {
"requestor": {
"email": "jane.doe@issues.llc",
"phone": "+3316565454",
"firstname": "Jane",
"lastname": "Doe"
},
"oldPriority": 1,
"newPriority": 0
}
},
{
"id": 56474,
"eventType": "ticket.priorityChanged",
"timestamp": 1741621543,
"conversationId": 1345324,
"data": {
"agent": {
"email": "john.doe@apizee.com",
"phone": "",
"firstname": "John",
"lastname": "Doe"
},
"oldPriority": 1,
"newPriority": 0
}
},
{
"id": 56475,
"eventType": "media.pictureTaken",
"timestamp": 1741621550,
"conversationId": 1345324,
"data": {
"mediaId": 342432
}
}
]Listen to webhook calls
The conversationevent.create webhook notifies your system in real time whenever a new event occurs during a video session linked to a support ticket. It enables your backend to react immediately to user interactions such as media capture, OCR scans, or survey responses.
How It Works
Once configured, the webhook is triggered for each new event in a ticket's timeline. Your endpoint receives a POST request with a JSON payload describing the event.
Example Payload
{
"event": "create",
"time": 1749581447,
"object": "conversationevent",
"objectId": 1266,
"props": {
"eventType": "media.OCRDone", // <-- common payload attribute
"eventCode": 41, // <-- common payload attribute
"conversationId": 548, // <-- common payload attribute
"ticketId": 361, // <-- common payload attribute
"text": "text captured by OCR" // <-- event-specific attribute
}
}Payload Fields
Last updated