Changelog (v2.12)
For changes that have been updated across all version, see the Unversioned changes page.
This version of the API includes breaking changes. They are listed below.
Breaking Changes
Custom States for Tickets
Getting Ticket states
There is a new ticket state object within a Ticket object that provides additional details about a custom ticket state. This new object includes the unique ID for the custom state, the internal and external labels, and the category that the state is associated with.
"ticket_state": {
"id": "88",
"category": "waiting_on_customer",
"internal_label": "waiting on customer",
"external_label": "waiting on customer"
}
See the new custom states when you retrieve a Ticket
Ticket states with Ticket Types
Each state is associated with a Ticket Type, so you may now also see all of the ticket states available for a Ticket Type in the object.
"ticket_states": {
"type": "list",
"data": [
{
"id": "88",
"category": "waiting_on_customer",
"internal_label": "waiting on customer",
"external_label": "waiting on customer"
},
{
"id": "89",
"category": "reopened",
"internal_label": "re-opened",
"external_label": "re-opened"
}
]
}
See custom states available for a Ticket Type
The previous structure of Ticket states were individual fields within the response. The new response includes an object called ticket_state
that contains all the details about the custom Ticket state. Using this may break previous implementations and will need to be refactored to utilize the new ticket_state
object.
Ticket states API
You can use the new Ticket states API to see all the Ticket states that exist in your workspace.
See all Ticket states for your workspace
Updating Ticket states
You have the option of updating a Ticket state via the API using the ticket_state_id
.
To update the ticket state you must supply a valid ticket_state_id
that is associated with the Ticket Type that the ticket falls under. If you supply an invalid ID, you will get a 400
error:
{
"type": "error.list",
"request_id": "cde97e83-57ce-42bf-8d00-d8e34e9fd0ac",
"errors": [
{
"code": "ticket_state_id_invalid",
"message": "Ticket state id is not valid or is not associated with the ticket type"
}
]
}
Try out updating a Ticket state using ticket_state_id
.
See the new custom states when you retrieve a Ticket
The state
field has been deprecated from the request body in Unstable and will be deprecated in future versions. You will need to update to using ticket_state_id
.
Run Assignment rules have been removed
Run assignment rules have been removed from the API in this version and all following versions. The API will be deprecated completely in December 2026.
Admins can now reply to conversations with quick replies
The reply to a conversation endpoint now allows admins to reply to conversations with quick replies. When a user clicks on one of the given options, a comment
conversation part will be created that includes metadata linking back to the quick reply option chosen.
Backwards Compatible Changes
New AI Content APIs
The AI Content APIs are a new addition to allow you to get content into Fin and Content Import Sources for your Fin Content Library.
You can specify whether your content should be available for use by AI Agent or AI Copilot using the ai_agent_availability
and ai_copilot_availability
settings in the AI Content API when you create or update an external page. Enable use by setting them to true
or disable by setting to false
.
Push notification enabled available as contact attribute
The enabled_push_messaging
field is now available on the Contact object. This field indicates whether the contact has enabled push messaging.
For more information on push messages and notifications see this help center article.