---
title: "Create Ticket"
method: POST
path: "/api/v2/tickets"
tags: ["Tickets"]
---

# Create Ticket

`POST /api/v2/tickets`

## Request body

- TicketCreateRequest
  - `ticket` TicketCreateInput
    - `additional_collaborators` CollaboratorObject[] — An array of numeric IDs, emails, or objects containing name and email properties. See [Setting Collaborators](/api-reference/ticketing/tickets/tickets/#setting-collaborators). An email notification is sent to them when the ticket is updated
      - `email` string, email
      - `name` string
    - `assignee_email` string, email — The email address of the agent to assign the ticket to
    - `assignee_id` integer — The agent currently assigned to the ticket
    - `attribute_value_ids` integer[] — An array of the IDs of attribute values to be associated with the ticket
    - `collaborator_ids` integer[] — The ids of users currently CC'ed on the ticket
    - `comment` TicketCommentObject, required
      - `attachments` AttachmentObject[] — Attachments, if any. See [Attachment](/api-reference/ticketing/tickets/ticket-attachments/)
        - `content_type` string — The content type of the image. Example value: "image/png"
        - `content_url` string — A full URL where the attachment image file can be downloaded. The file may be hosted externally so take care not to inadvertently send Zendesk authentication credentials. See [Working with url properties](/documentation/ticketing/managing-tickets/working-with-url-properties)
        - `deleted` boolean — If true, the attachment has been deleted
        - `file_name` string — The name of the image file
        - `height` string — The height of the image file in pixels. If height is unknown, returns null
        - `id` integer — Automatically assigned when created
        - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
        - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
        - `malware_scan_result` string — The result of the malware scan. There is a delay between the time the attachment is uploaded and when the malware scan is completed. Usually the scan is done within a few seconds, but high load conditions can delay the scan results. Possible values: "malware_found", "malware_not_found", "failed_to_scan", "not_scanned"
        - `mapped_content_url` string — The URL the attachment image file has been mapped to
        - `size` integer — The size of the image file in bytes
        - `url` string — A URL to access the attachment details
        - `width` string — The width of the image file in pixels. If width is unknown, returns null
        - `thumbnails` AttachmentBaseObject[] — An array of attachment objects. Note that photo thumbnails do not have thumbnails
          - `content_type` string — The content type of the image. Example value: "image/png"
          - `content_url` string — A full URL where the attachment image file can be downloaded. The file may be hosted externally so take care not to inadvertently send Zendesk authentication credentials. See [Working with url properties](/documentation/ticketing/managing-tickets/working-with-url-properties)
          - `deleted` boolean — If true, the attachment has been deleted
          - `file_name` string — The name of the image file
          - `height` string — The height of the image file in pixels. If height is unknown, returns null
          - `id` integer — Automatically assigned when created
          - `inline` boolean — If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false
          - `malware_access_override` boolean — If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.
          - `malware_scan_result` string — The result of the malware scan. There is a delay between the time the attachment is uploaded and when the malware scan is completed. Usually the scan is done within a few seconds, but high load conditions can delay the scan results. Possible values: "malware_found", "malware_not_found", "failed_to_scan", "not_scanned"
          - `mapped_content_url` string — The URL the attachment image file has been mapped to
          - `size` integer — The size of the image file in bytes
          - `url` string — A URL to access the attachment details
          - `width` string — The width of the image file in pixels. If width is unknown, returns null
      - `audit_id` integer — The id of the ticket audit record. See [Show Audit](/api-reference/ticketing/tickets/ticket_audits/#show-audit)
      - `author_id` integer — The id of the comment author. See [Author id](#author-id)
      - `body` string — The comment string. See [Bodies](#bodies)
      - `created_at` string, date-time — The time the comment was created
      - `html_body` string — The comment formatted as HTML. See [Bodies](#bodies)
      - `id` integer — Automatically assigned when the comment is created
      - `metadata` object — System information (web client, IP address, etc.) and comment flags, if any. See [Comment flags](#comment-flags)
      - `plain_body` string — The comment presented as plain text. See [Bodies](#bodies)
      - `public` boolean — true if a public comment; false if an internal note. The initial value set on ticket creation persists for any additional comment unless you change it
      - `type` string — `Comment` or `VoiceComment`. The JSON object for adding voice comments to tickets is different. See [Adding voice comments to tickets](/documentation/ticketing/managing-tickets/adding-voice-comments-to-tickets)
      - `uploads` string[] — List of tokens received from [uploading files](/api-reference/ticketing/tickets/ticket-attachments/#upload-files) for comment attachments. The files are attached by creating or updating tickets with the tokens. See [Attaching files](/api-reference/ticketing/tickets/tickets/#attaching-files) in Tickets
      - `via` TicketAuditViaObject — Describes how the object was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
        - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
        - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
    - `custom_fields` CustomFieldObject[] — Custom fields for the ticket. See [Setting custom field values](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-custom-field-values)
      - `active` boolean — If true, this field is available for use
      - `created_at` string, date-time — The time of the last update of the ticket field
      - `custom_field_options` CustomFieldOptionObject[] — Required and presented for a custom field of type "dropdown". Each option is represented by an object with a `name` and `value` property
        - `id` integer — Automatically assigned upon creation
        - `name` string, required — Name of the dropdown option
        - `position` integer — Position of the dropdown option
        - `raw_name` string — Raw name of the dropdown option
        - `url` string — URL of the dropdown option
        - `value` string, required — Value of the dropdown option
      - `description` string — User-defined description of this field's purpose
      - `id` integer — Automatically assigned upon creation
      - `key` string, required — A unique key that identifies this custom field. This is used for updating the field and referencing in placeholders. The key must consist of only letters, numbers, and underscores. It can't be only numbers
      - `position` integer — Ordering of the field relative to other fields
      - `raw_description` string — The dynamic content placeholder, if present, or the `description` value, if not. See [Dynamic Content Items](/api-reference/ticketing/ticket-management/dynamic_content/)
      - `raw_title` string — The dynamic content placeholder, if present, or the `title` value, if not. See [Dynamic Content Items](/api-reference/ticketing/ticket-management/dynamic_content/)
      - `regexp_for_validation` string, nullable — Regular expression field only. The validation pattern for a field value to be deemed valid
      - `relationship_filter` object — A filter definition that allows your autocomplete to filter down results
      - `relationship_target_type` string — A representation of what type of object the field references. Options are "zen:user", "zen:organization", "zen:ticket", and "zen:custom_object:{key}" where key is a custom object key. For example "zen:custom_object:apartment".
      - `system` boolean — If true, only active and position values of this field can be changed
      - `tag` string — Optional for custom field of type "checkbox"; not presented otherwise.
      - `title` string, required — The title of the custom field
      - `type` string, required — The custom field type: "checkbox", "date", "decimal", "dropdown", "integer", ["lookup"](/api-reference/ticketing/lookup_relationships/lookup_relationships/), "multiselect", "regexp", "text", or "textarea"
      - `updated_at` string, date-time — The time of the last update of the ticket field
      - `url` string — The URL for this resource
    - `custom_status_id` integer — The custom ticket status id of the ticket. See [custom ticket statuses](#custom-ticket-statuses)
    - `due_at` string, date-time, nullable — If this is a ticket of type "task" it has a due date. Due date format uses [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
    - `email_ccs` EmailCCObject[] — An array of objects that represent agent or end users email CCs to add or delete from the ticket. See [Setting email CCs](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-email-ccs)
      - `action` 'put' | 'delete'
      - `user_email` string, email
      - `user_id` string
      - `user_name` string
    - `external_id` string — An id you can use to link Zendesk Support tickets to local records
    - `followers` FollowerObject[] — An array of objects that represent agent followers to add or delete from the ticket. See [Setting followers](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-followers)
      - `action` 'put' | 'delete'
      - `user_email` string, email
      - `user_id` string
    - `group_id` integer — The group this ticket is assigned to
    - `organization_id` integer — The organization of the requester. You can only specify the ID of an organization associated with the requester. See [Organization Memberships](/api-reference/ticketing/organizations/organization_memberships/)
    - `priority` 'urgent' | 'high' | 'normal' | 'low' — The urgency with which the ticket should be addressed.
    - `problem_id` integer — For tickets of type "incident", the ID of the problem the incident is linked to
    - `requester_id` integer — The user who requested this ticket
    - `safe_update` boolean — Optional boolean. Prevents updates with outdated ticket data (`updated_stamp` property required when true)
    - `sharing_agreement_ids` integer[] — An array of the numeric IDs of sharing agreements. Note that this replaces any existing agreements
    - `status` 'new' | 'open' | 'pending' | 'hold' | 'solved' | 'closed' — The state of the ticket. If your account has activated custom ticket statuses, this is the ticket's status category. See [custom ticket statuses](#custom-ticket-statuses).
    - `subject` string — The value of the subject field for this ticket
    - `tags` string[] — The array of tags applied to this ticket
    - `type` 'problem' | 'incident' | 'question' | 'task' — The type of this ticket.
    - `updated_stamp` string, date-time — Datetime of last update received from API. See the safe_update property
    - `brand_id` integer — Enterprise only. The id of the brand this ticket is associated with
    - `collaborators` CollaboratorObject[] — POST requests only. Users to add as cc's when creating a ticket. See [Setting Collaborators](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-collaborators)
      - `email` string, email
      - `name` string
    - `email_cc_ids` integer[] — The ids of agents or end users currently CC'ed on the ticket. See [CCs and followers resources](https://support.zendesk.com/hc/en-us/articles/360020585233) in the Support Help Center
    - `follower_ids` integer[] — The ids of agents currently following the ticket. See [CCs and followers resources](https://support.zendesk.com/hc/en-us/articles/360020585233)
    - `macro_ids` integer[] — POST requests only. List of macro IDs to be recorded in the ticket audit
    - `raw_subject` string — The dynamic content placeholder, if present, or the "subject" value, if not. See [Dynamic Content Items](/api-reference/ticketing/ticket-management/dynamic_content/)
    - `recipient` string — The original recipient e-mail address of the ticket
    - `submitter_id` integer — The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket
    - `ticket_form_id` integer — Enterprise only. The id of the ticket form to render for the ticket
    - `via` ViaObject — An object explaining how the ticket was created. See the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
      - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
      - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
        - `from` object
          - `address` string, nullable
          - `id` integer, nullable
          - `name` string, nullable
          - `title` string, nullable
        - `rel` string, nullable
        - `to` object
          - `address` string
          - `name` string
    - `via_followup_source_id` integer — POST requests only. The id of a closed ticket when creating a follow-up ticket. See [Creating a follow-up ticket](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#creating-a-follow-up-ticket)

## Response `201`

Create ticket

- TicketResponse
  - `ticket` TicketObject
    - `allow_attachments` boolean — Permission for agents to add add attachments to a comment. Defaults to true
    - `allow_channelback` boolean — Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket
    - `assignee_email` string — Write only. The email address of the agent to assign the ticket to
    - `assignee_id` integer — The agent currently assigned to the ticket
    - `attribute_value_ids` integer[] — Write only. An array of the IDs of attribute values to be associated with the ticket
    - `brand_id` integer — The id of the brand this ticket is associated with. See [Setting up multiple brands](https://support.zendesk.com/hc/en-us/articles/4408829476378)
    - `collaborator_ids` integer[] — The ids of users currently CC'ed on the ticket
    - `collaborators` CollaboratorObject[] — POST requests only. Users to add as cc's when creating a ticket. See [Setting Collaborators](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-collaborators)
      - `email` string, email
      - `name` string
    - `comment` object — Write only. An object that adds a comment to the ticket. See [Ticket comments](/api-reference/ticketing/tickets/ticket_comments/). To include an attachment with the comment, see [Attaching files](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#attaching-files). A ticket can contain up to 5000 comments in total, including both public and private comments. Once this limit is reached, any additional attempts to add comments results in a 422 error. The ticket can still be updated in other ways, provided that no new comments are added.
    - `created_at` string, date-time — When this record was created
    - `custom_fields` object[] — Custom fields for the ticket. See [Setting custom field values](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-custom-field-values)
      - `id` integer — The id of the custom field
      - `value` string — The value of the custom field
    - `custom_status_id` integer — The custom ticket status id of the ticket. See [custom ticket statuses](#custom-ticket-statuses)
    - `description` string — Read-only first comment on the ticket. When [creating a ticket](#create-ticket), use `comment` to set the description. See [Description and first comment](#description-and-first-comment)
    - `due_at` string, date-time, nullable — If this is a ticket of type "task" it has a due date. Due date format uses [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format
    - `email_cc_ids` integer[] — The ids of agents or end users currently CC'ed on the ticket. Ignored when [CCs and followers](https://support.zendesk.com/hc/en-us/articles/360020585233) is not enabled
    - `email_ccs` object — Write only. An array of objects that represents agent or end users email CCs to add or delete from the ticket. See [Setting email CCs](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#setting-email-ccs). Ignored when [CCs and followers](https://support.zendesk.com/hc/en-us/articles/360020585233) is not enabled
    - `external_id` string — An id you can use to link Zendesk Support tickets to local records
    - `follower_ids` integer[] — The ids of agents currently following the ticket. Ignored when [CCs and followers](https://support.zendesk.com/hc/en-us/articles/360020585233) is not enabled
    - `followers` object — Write only. An array of objects that represents agent followers to add or delete from the ticket. See [Setting followers](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#setting-followers). Ignored when [CCs and followers](https://support.zendesk.com/hc/en-us/articles/360020585233) is not enabled
    - `followup_ids` integer[] — The ids of the followups created from this ticket. Ids are only visible once the ticket is closed
    - `forum_topic_id` integer — The topic in the Zendesk Web portal this ticket originated from, if any. The Web portal is deprecated
    - `from_messaging_channel` boolean — If true, the ticket's [via type](/documentation/ticketing/reference-guides/via-object-reference/) is a messaging channel.
    - `generated_timestamp` integer — A Unix timestamp that represents the most accurate reading of when this record was last updated. It is updated for all ticket updates, including system updates
    - `group_id` integer — The group this ticket is assigned to
    - `has_incidents` boolean — Is true if a ticket is a problem type and has one or more incidents linked to it. Otherwise, the value is false.
    - `id` integer — Automatically assigned when the ticket is created
    - `is_public` boolean — Is true if any comments are public, false otherwise
    - `macro_id` integer — Write only. A macro ID to be recorded in the ticket audit
    - `macro_ids` integer[] — POST requests only. List of macro IDs to be recorded in the ticket audit
    - `metadata` object — Write only. Metadata for the audit. In the `audit` object, the data is specified in the `custom` property of the `metadata` object. See [Setting Metadata](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#setting-metadata)
    - `organization_id` integer — The organization of the requester. You can only specify the ID of an organization associated with the requester. See [Organization Memberships](/api-reference/ticketing/organizations/organization_memberships/)
    - `priority` 'urgent' | 'high' | 'normal' | 'low' — The urgency with which the ticket should be addressed
    - `problem_id` integer — For tickets of type "incident", the ID of the problem the incident is linked to
    - `raw_subject` string — The dynamic content placeholder, if present, or the "subject" value, if not. See [Dynamic Content Items](/api-reference/ticketing/ticket-management/dynamic_content/)
    - `recipient` string — The original recipient e-mail address of the ticket. Notification emails for the ticket are sent from this address
    - `requester` object — Write only. See [Creating a ticket with a new requester](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#creating-a-ticket-with-a-new-requester)
    - `requester_id` integer, required — The user who requested this ticket
    - `safe_update` boolean — Write only. Optional boolean. When true and an `update_stamp` date is included, protects against ticket update collisions and returns a message to let you know if one occurs. See [Protecting against ticket update collisions](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#protecting-against-ticket-update-collisions). A value of false has the same effect as true. Omit the property to force the updates to not be safe
    - `satisfaction_rating` object — The satisfaction rating of the ticket, if it exists, or the state of satisfaction, "offered" or "unoffered". The value is null for plan types that don't support CSAT
    - `sharing_agreement_ids` integer[] — The ids of the sharing agreements used for this ticket
    - `status` 'new' | 'open' | 'pending' | 'hold' | 'solved' | 'closed' — The state of the ticket. If your account has activated custom ticket statuses, this is the ticket's status category. See [custom ticket statuses](#custom-ticket-statuses)
    - `subject` string — The value of the subject field for this ticket. See [Subject](/api-reference/ticketing/tickets/tickets/#subject)
    - `submitter_id` integer — The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket
    - `tags` string[] — The array of tags applied to this ticket. Unless otherwise specified, the [set tag](/api-reference/ticketing/ticket-management/tags/#set-tags) behavior is used, which overwrites and replaces existing tags
    - `ticket_form_id` integer — Enterprise only. The id of the ticket form to render for the ticket
    - `type` 'problem' | 'incident' | 'question' | 'task' — The type of this ticket
    - `updated_at` string, date-time — When this record last got updated. It is updated only if the update generates a [ticket event](#incremental-ticket-event-export)
    - `updated_stamp` string — Write only. Datetime of last update received from API. See the `safe_update` property
    - `url` string — The API url of this ticket
    - `via` object — For more information, see the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference)
      - `channel` string — This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"
      - `source` object — For some channels a source object gives more information about how or why the ticket or event was created
    - `via_followup_source_id` integer — POST requests only. The id of a closed ticket when creating a follow-up ticket. See [Creating a follow-up ticket](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#creating-a-follow-up-ticket)
    - `via_id` integer — Write only. For more information, see the [Via object reference](/documentation/ticketing/reference-guides/via-object-reference/)
    - `voice_comment` object — Write only. See [Creating voicemail ticket](/api-reference/voice/talk-partner-edition-api/reference/#creating-voicemail-tickets)

---

[API](https://skmtc.dev/botbrains-io/apis/support-api.md) · [All operations](https://skmtc.dev/botbrains-io/apis/support-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/botbrains-io/support-api/revisions/e93a5ab6e2a5/schema)
