Zendesk · Schema
Zendesk Ticket
A Zendesk Support ticket representing a customer service request. Tickets are the core entity in Zendesk Support, capturing the communication between a customer and support agents. Each ticket has a lifecycle from creation through resolution, with statuses, priorities, assignees, and a full audit trail of changes and comments.
ChatCRMHelp CenterSellSupportT1TalkTicketingTickets
Properties
| Name | Type | Description |
|---|---|---|
| id | integer | Automatically assigned unique identifier for the ticket. |
| url | string | The API URL of the ticket resource. |
| external_id | stringnull | An optional ID from an external system used to link the ticket to records outside Zendesk. |
| type | stringnull | The classification of the ticket. 'problem' tickets can have linked 'incident' tickets. 'task' tickets support due dates. |
| subject | string | The subject line of the ticket, typically a brief summary of the issue. |
| raw_subject | string | The original subject as entered by the requester, before any processing by Zendesk. |
| description | string | The first comment on the ticket, set at creation time. Read-only after the ticket is created. |
| priority | stringnull | The urgency level of the ticket. |
| status | string | The current state of the ticket in its lifecycle. |
| recipient | stringnull | The original recipient email address of the ticket. |
| requester_id | integer | The ID of the user who requested the ticket (the customer). |
| submitter_id | integer | The ID of the user who submitted the ticket. Can differ from the requester when an agent creates a ticket on behalf of a customer. |
| assignee_id | integernull | The ID of the agent currently assigned to the ticket. |
| organization_id | integernull | The ID of the organization associated with the ticket. |
| group_id | integernull | The ID of the agent group assigned to the ticket. |
| collaborator_ids | array | IDs of users currently CC'd on the ticket. |
| follower_ids | array | IDs of agents currently following the ticket for internal notifications. |
| email_cc_ids | array | IDs of agents or end users currently CC'd on the ticket via email. |
| forum_topic_id | integernull | The ID of the associated community forum topic, if the ticket originated from a forum post. |
| problem_id | integernull | For incident tickets, the ID of the problem ticket this incident is linked to. |
| has_incidents | boolean | Whether this problem ticket has associated incident tickets. |
| is_public | boolean | Whether the ticket has any public-facing comments. |
| due_at | stringnull | The due date for task-type tickets, in ISO 8601 format. |
| tags | array | Tags applied to the ticket for categorization and routing. |
| custom_fields | array | Custom field values set on the ticket. |
| satisfaction_rating | objectnull | The satisfaction rating left by the customer, if any. |
| sharing_agreement_ids | array | IDs of sharing agreements used for the ticket. |
| custom_status_id | integernull | The ID of the custom ticket status, if custom statuses are enabled. |
| followup_ids | array | IDs of follow-up tickets created from this closed ticket. |
| ticket_form_id | integernull | The ID of the ticket form used for this ticket. |
| brand_id | integernull | The ID of the brand associated with this ticket. |
| allow_channelback | boolean | Whether channelback is enabled for this ticket. |
| allow_attachments | boolean | Whether the ticket allows file attachments. |
| from_messaging_channel | boolean | Whether the ticket originated from a messaging channel. |
| via | object | How the ticket was created (e.g., web, email, API, chat). |
| created_at | string | When the ticket was created, in ISO 8601 format. |
| updated_at | string | When the ticket was last updated, in ISO 8601 format. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/zendesk/refs/heads/main/json-schema/zendesk-ticket-schema.json",
"title": "Zendesk Ticket",
"description": "A Zendesk Support ticket representing a customer service request. Tickets are the core entity in Zendesk Support, capturing the communication between a customer and support agents. Each ticket has a lifecycle from creation through resolution, with statuses, priorities, assignees, and a full audit trail of changes and comments.",
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "Automatically assigned unique identifier for the ticket.",
"readOnly": true
},
"url": {
"type": "string",
"format": "uri",
"description": "The API URL of the ticket resource.",
"readOnly": true
},
"external_id": {
"type": ["string", "null"],
"description": "An optional ID from an external system used to link the ticket to records outside Zendesk."
},
"type": {
"type": ["string", "null"],
"enum": ["problem", "incident", "question", "task", null],
"description": "The classification of the ticket. 'problem' tickets can have linked 'incident' tickets. 'task' tickets support due dates."
},
"subject": {
"type": "string",
"maxLength": 150,
"description": "The subject line of the ticket, typically a brief summary of the issue."
},
"raw_subject": {
"type": "string",
"description": "The original subject as entered by the requester, before any processing by Zendesk.",
"readOnly": true
},
"description": {
"type": "string",
"description": "The first comment on the ticket, set at creation time. Read-only after the ticket is created.",
"readOnly": true
},
"priority": {
"type": ["string", "null"],
"enum": ["urgent", "high", "normal", "low", null],
"description": "The urgency level of the ticket."
},
"status": {
"type": "string",
"enum": ["new", "open", "pending", "hold", "solved", "closed"],
"description": "The current state of the ticket in its lifecycle."
},
"recipient": {
"type": ["string", "null"],
"format": "email",
"description": "The original recipient email address of the ticket.",
"readOnly": true
},
"requester_id": {
"type": "integer",
"format": "int64",
"description": "The ID of the user who requested the ticket (the customer)."
},
"submitter_id": {
"type": "integer",
"format": "int64",
"description": "The ID of the user who submitted the ticket. Can differ from the requester when an agent creates a ticket on behalf of a customer.",
"readOnly": true
},
"assignee_id": {
"type": ["integer", "null"],
"format": "int64",
"description": "The ID of the agent currently assigned to the ticket."
},
"organization_id": {
"type": ["integer", "null"],
"format": "int64",
"description": "The ID of the organization associated with the ticket."
},
"group_id": {
"type": ["integer", "null"],
"format": "int64",
"description": "The ID of the agent group assigned to the ticket."
},
"collaborator_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of users currently CC'd on the ticket."
},
"follower_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of agents currently following the ticket for internal notifications.",
"readOnly": true
},
"email_cc_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of agents or end users currently CC'd on the ticket via email."
},
"forum_topic_id": {
"type": ["integer", "null"],
"format": "int64",
"description": "The ID of the associated community forum topic, if the ticket originated from a forum post.",
"readOnly": true
},
"problem_id": {
"type": ["integer", "null"],
"format": "int64",
"description": "For incident tickets, the ID of the problem ticket this incident is linked to."
},
"has_incidents": {
"type": "boolean",
"description": "Whether this problem ticket has associated incident tickets.",
"readOnly": true
},
"is_public": {
"type": "boolean",
"description": "Whether the ticket has any public-facing comments.",
"readOnly": true
},
"due_at": {
"type": ["string", "null"],
"format": "date-time",
"description": "The due date for task-type tickets, in ISO 8601 format."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags applied to the ticket for categorization and routing."
},
"custom_fields": {
"type": "array",
"items": {
"$ref": "#/$defs/CustomField"
},
"description": "Custom field values set on the ticket."
},
"satisfaction_rating": {
"type": ["object", "null"],
"description": "The satisfaction rating left by the customer, if any.",
"readOnly": true,
"properties": {
"score": {
"type": "string",
"enum": ["offered", "unoffered", "good", "bad"]
},
"comment": {
"type": "string"
}
}
},
"sharing_agreement_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of sharing agreements used for the ticket.",
"readOnly": true
},
"custom_status_id": {
"type": ["integer", "null"],
"format": "int64",
"description": "The ID of the custom ticket status, if custom statuses are enabled."
},
"followup_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "IDs of follow-up tickets created from this closed ticket.",
"readOnly": true
},
"ticket_form_id": {
"type": ["integer", "null"],
"format": "int64",
"description": "The ID of the ticket form used for this ticket."
},
"brand_id": {
"type": ["integer", "null"],
"format": "int64",
"description": "The ID of the brand associated with this ticket."
},
"allow_channelback": {
"type": "boolean",
"description": "Whether channelback is enabled for this ticket.",
"readOnly": true
},
"allow_attachments": {
"type": "boolean",
"description": "Whether the ticket allows file attachments.",
"readOnly": true
},
"from_messaging_channel": {
"type": "boolean",
"description": "Whether the ticket originated from a messaging channel.",
"readOnly": true
},
"via": {
"$ref": "#/$defs/Via",
"description": "How the ticket was created (e.g., web, email, API, chat)."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "When the ticket was created, in ISO 8601 format.",
"readOnly": true
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "When the ticket was last updated, in ISO 8601 format.",
"readOnly": true
}
},
"required": ["id", "status", "requester_id"],
"$defs": {
"CustomField": {
"type": "object",
"description": "A custom field key-value pair on the ticket.",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"description": "The ID of the custom field."
},
"value": {
"description": "The value of the custom field.",
"oneOf": [
{ "type": "string" },
{ "type": "number" },
{ "type": "boolean" },
{ "type": "array", "items": { "type": "string" } },
{ "type": "null" }
]
}
},
"required": ["id", "value"]
},
"Via": {
"type": "object",
"description": "Describes how the ticket was created or a comment was made.",
"properties": {
"channel": {
"type": "string",
"description": "The channel through which the ticket was created (e.g., web, email, api, chat, voice, mobile, closed_ticket, any_channel)."
},
"source": {
"type": "object",
"properties": {
"from": {
"type": "object",
"additionalProperties": true
},
"to": {
"type": "object",
"additionalProperties": true
},
"rel": {
"type": ["string", "null"]
}
}
}
}
}
}
}