POST /api/v2/tickets/create_many

Accepts an array of up to 100 ticket objects. Note: Every ticket created with this endpoint may be affected by your business rules, which can include sending email notifications to your end users. If you are importing historical tickets or creating more than 1000 tickets, consider using the Ticket Bulk Import endpoint.

This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job's completion. Only a certain number of jobs can be queued or running at the same time. See Job limit for more information.

Allowed For

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
tickets[] Array No
tickets[].sharing_agreement_ids[] Array No

An array of the numeric IDs of sharing agreements. Note that this replaces any existing agreements

tickets[].email_ccs[] Array No

An array of objects that represent agent or end users email CCs to add or delete from the ticket. See Setting email CCs

tickets[].email_ccs[].action String No

Valid values:

  • "put"
  • "delete"
tickets[].email_ccs[].user_email String No
tickets[].email_ccs[].user_name String No
tickets[].email_ccs[].user_id String No
tickets[].via Object No

An object explaining how the ticket was created. See the Via object reference

tickets[].via.source Object No

For some channels a source object gives more information about how or why the ticket or event was created

tickets[].via.source.to Object No
tickets[].via.source.to.name String No
tickets[].via.source.to.address String No
tickets[].via.source.from Object No
tickets[].via.source.from.id Integer No
tickets[].via.source.from.name String No
tickets[].via.source.from.title String No
tickets[].via.source.from.address String No
tickets[].via.source.rel String No
tickets[].via.channel No

This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system". May be a string name or an integer channel ID.

tickets[].updated_stamp String No

Datetime of last update received from API. See the safe_update property

tickets[].metadata Object No

Custom metadata hash that can be set by API clients

tickets[].ticket_form_id Integer No

Enterprise only. The id of the ticket form to render for the ticket

tickets[].subject String No

The value of the subject field for this ticket

tickets[].email_cc_ids[] Array No

The ids of agents or end users currently CC'ed on the ticket. See CCs and followers resources in the Support Help Center

tickets[].organization_id Integer No

The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships

tickets[].tpe_voice_comment Object No

A TPE voice comment for Talk Partner Edition tickets

tickets[].tpe_voice_comment.ivr_time_spent Integer No
tickets[].tpe_voice_comment.disconnection_reason String No
tickets[].tpe_voice_comment.recording_type String No
tickets[].tpe_voice_comment.dnis String No
tickets[].tpe_voice_comment.completion_status String No
tickets[].tpe_voice_comment.to_line String No
tickets[].tpe_voice_comment.video_recording_url String No
tickets[].tpe_voice_comment.callback_requested_at String No
tickets[].tpe_voice_comment.talk_time Integer No
tickets[].tpe_voice_comment.app_id Integer No
tickets[].tpe_voice_comment.to_line_nickname String No
tickets[].tpe_voice_comment.exceeded_queue_time Boolean No
tickets[].tpe_voice_comment.voicemail Boolean No
tickets[].tpe_voice_comment.from_line String No
tickets[].tpe_voice_comment.agent_id Integer No
tickets[].tpe_voice_comment.language String No
tickets[].tpe_voice_comment.callback_number String No
tickets[].tpe_voice_comment.call_id Integer No
tickets[].tpe_voice_comment.voicemail_requested_at String No
tickets[].tpe_voice_comment.call_started_at String No
tickets[].tpe_voice_comment.connection_attempts Integer No
tickets[].tpe_voice_comment.via_id Integer No
tickets[].tpe_voice_comment.end_user_location String No
tickets[].tpe_voice_comment.call_recording_consent String No
tickets[].tpe_voice_comment.recording_url String No
tickets[].tpe_voice_comment.sentiment_trend String No
tickets[].tpe_voice_comment.author_id Integer No
tickets[].tpe_voice_comment.queue_time Integer No
tickets[].tpe_voice_comment.longest_hold_time Integer No
tickets[].tpe_voice_comment.time_to_answer Integer No
tickets[].tpe_voice_comment.wait_time Integer No
tickets[].tpe_voice_comment.ivr_destination_group_name String No
tickets[].tpe_voice_comment.consultation_time Integer No
tickets[].tpe_voice_comment.external_id String No
tickets[].tpe_voice_comment.from_line_nickname String No
tickets[].tpe_voice_comment.app_name String No
tickets[].tpe_voice_comment.call_connected_at String No
tickets[].tpe_voice_comment.overflowed_to String No
tickets[].tpe_voice_comment.sentiment_call String No
tickets[].tpe_voice_comment.call_recording_consent_keypress String No
tickets[].tpe_voice_comment.extension String No
tickets[].tpe_voice_comment.answering_machine_detection_status String No
tickets[].tpe_voice_comment.call_recording_consent_action String No
tickets[].tpe_voice_comment.duration Integer No
tickets[].tpe_voice_comment.sentiment_agent String No
tickets[].tpe_voice_comment.transcript String No
tickets[].tpe_voice_comment.direction String No
tickets[].tpe_voice_comment.call_type String No
tickets[].tpe_voice_comment.title String No
tickets[].tpe_voice_comment.summary String No
tickets[].tpe_voice_comment.call_disposition String No
tickets[].tpe_voice_comment.intent String No
tickets[].tpe_voice_comment.outside_business_hours Boolean No
tickets[].tpe_voice_comment.public Boolean No
tickets[].tpe_voice_comment.hold_time Integer No
tickets[].tpe_voice_comment.short_summary String No
tickets[].tpe_voice_comment.queue_name String No
tickets[].tpe_voice_comment.line_type String No
tickets[].tpe_voice_comment.recording_time Integer No
tickets[].tpe_voice_comment.end_user_id Integer No
tickets[].tpe_voice_comment.call_ended_at String No
tickets[].tpe_voice_comment.quality_score Integer No
tickets[].tpe_voice_comment.sentiment_customer String No
tickets[].tpe_voice_comment.phone_name String No
tickets[].tpe_voice_comment.recorded Boolean No
tickets[].tpe_voice_comment.number_of_holds Integer No
tickets[].id Integer No

The ticket ID. Ignored on update requests - included for client convenience.

tickets[].priority String No

The urgency with which the ticket should be addressed.

Valid values:

  • "high"
  • "normal"
  • "low"
  • "urgent"
tickets[].voice_comment Object No

A voice comment for Talk tickets. See Creating voicemail tickets

tickets[].voice_comment.to String No

Dialed phone number

tickets[].voice_comment.call_duration Integer No

Duration of the call in seconds

tickets[].voice_comment.answered_by_id Integer No

The agent who answered the call

tickets[].voice_comment.transcription_text String No

Transcription of the call

tickets[].voice_comment.location String No

Location of the caller

tickets[].voice_comment.recording_url String No

URL of the recording

tickets[].voice_comment.from String No

Incoming phone number

tickets[].forum_topic_id Integer No

The ID of a forum topic to link this ticket to

tickets[].tde_workspace Object No

TDE workspace information for the ticket

tickets[].tde_workspace.previous_workspace Object No
tickets[].tde_workspace.previous_workspace.id Integer No
tickets[].tde_workspace.previous_workspace.title String No
tickets[].tde_workspace.type String No

Valid values:

  • "DELETE"
  • "ADD"
  • "CHANGE"
tickets[].tde_workspace.workspace Object No
tickets[].tde_workspace.workspace.id Integer No
tickets[].tde_workspace.workspace.title String No
tickets[].collaborators[] Array No

POST requests only. Users to add as cc's when creating a ticket. See Setting Collaborators

tickets[].collaborators[].email String No
tickets[].collaborators[].name String No
tickets[].due_at String No

If this is a ticket of type "task" it has a due date. Due date format uses ISO 8601 format.

tickets[].satisfaction_probability Number No

The predicted satisfaction probability score

tickets[].type String No

The type of this ticket.

Valid values:

  • "incident"
  • "problem"
  • "question"
  • "task"
tickets[].origin_zrn String No

The Zendesk Resource Name (ZRN) of the origin for this ticket

tickets[].status String No

The state of the ticket.

If your account has activated custom ticket statuses, this is the ticket's status category. See custom ticket statuses.

Valid values:

  • "open"
  • "hold"
  • "new"
  • "pending"
  • "closed"
  • "solved"
tickets[].fields[] Array No

Alias for custom_fields. Custom field values to set on the ticket. Each entry specifies a field ID and its value.

tickets[].fields[].id Integer Yes

The ID of the custom field

tickets[].fields[].value No

The value to assign to the custom field. Type depends on the field configuration:

  • Text/textarea: string
  • Checkbox: boolean or "true"/"false" string
  • Dropdown/tagger: string or array of strings (multi-select)
  • Number/decimal: number or string representation
  • Date: string (ISO 8601 format)
tickets[].safe_update Boolean No

Optional boolean. Prevents updates with outdated ticket data (updated_stamp property required when true)

tickets[].followers[] Array No

An array of objects that represent agent followers to add or delete from the ticket. See Setting followers

tickets[].followers[].action String No

Valid values:

  • "put"
  • "delete"
tickets[].followers[].user_email String No
tickets[].followers[].user_name String No
tickets[].followers[].user_id String No
tickets[].requester Object No

Alternative to requester_id for specifying the ticket requester.

Can be provided as:

  • Email string: "user@example.com"
  • User ID integer: 12345
  • User object: {name: "John Doe", email: "john@example.com"}

If both requester and requester_id are provided, requester_id takes precedence.

When creating a ticket, if the user doesn't exist, they may be created automatically depending on account settings.

tickets[].via_id Integer No

The ID of the via/channel for this ticket.

tickets[].requester_id Integer No

The user who requested this ticket

tickets[].additional_collaborators[] Array No

An array of numeric IDs, emails, or objects containing name and email properties. See Setting Collaborators. An email notification is sent to them when the ticket is updated

tickets[].additional_collaborators[].email String No
tickets[].additional_collaborators[].name String No
tickets[].brand_id Integer No

Enterprise only. The id of the brand this ticket is associated with

tickets[].submitter Object No

Alternative to submitter_id for specifying the ticket submitter. Can be provided as a user email string or user ID integer.

tickets[].via_followup_source_id Integer No

POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating a follow-up ticket

tickets[].tags Object No

The array of tags applied to this ticket. Can also be a single tag string.

tickets[].raw_subject String No

The dynamic content placeholder, if present, or the "subject" value, if not. See Dynamic Content Items

tickets[].external_id String No

An id you can use to link Zendesk Support tickets to local records

tickets[].sharing_agreements Object No

Sharing agreement configuration for the ticket. Can be a single object or array of objects.

tickets[].description String No

The initial description/content of the ticket. Sets the body of the first comment on the ticket. Only applies when creating a ticket.

tickets[].attribute_value_ids[] Array No

An array of the IDs of attribute values to be associated with the ticket

tickets[].follower_ids[] Array No

The ids of agents currently following the ticket. See CCs and followers resources

tickets[].assignee_id Integer No

The agent currently assigned to the ticket

tickets[].custom_status_id Integer No

The custom ticket status id of the ticket. See custom ticket statuses

tickets[].custom_fields[] Array No

Custom field values to set on the ticket. Each entry specifies a field ID and its value. See Setting custom field values

tickets[].custom_fields[].id Integer Yes

The ID of the custom field

tickets[].custom_fields[].value No

The value to assign to the custom field. Type depends on the field configuration:

  • Text/textarea: string
  • Checkbox: boolean or "true"/"false" string
  • Dropdown/tagger: string or array of strings (multi-select)
  • Number/decimal: number or string representation
  • Date: string (ISO 8601 format)
tickets[].problem_id Integer No

For tickets of type "incident", the ID of the problem the incident is linked to

tickets[].suspension_type_id Integer No

The suspension type ID when recovering a suspended ticket

tickets[].assignee_email String No

The email address of the agent to assign the ticket to

tickets[].macro_id Integer No

A single macro ID to be recorded in the ticket audit

tickets[].url String No

URL field

tickets[].system_metadata Object No

System metadata for the ticket, typically set by internal clients

tickets[].system_metadata.client String No
tickets[].system_metadata.ip_address String No
tickets[].collaborator_ids[] Array No

The ids of users currently CC'ed on the ticket

tickets[].suspended_ticket_id Integer No

The ID of the suspended ticket being recovered

tickets[].recipient String No

The original recipient e-mail address of the ticket

tickets[].comment Object No
tickets[].comment.via Object No

Describes how the object was created. See the Via object reference

tickets[].comment.via.source Object No

For some channels a source object gives more information about how or why the ticket or event was created

tickets[].comment.via.channel String No

This tells you how the ticket or event was created. Examples: "web", "mobile", "rule", "system"

tickets[].comment.public Boolean No

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

tickets[].comment.add_short_url Boolean No

Internal flag for adding short URLs to the comment

tickets[].comment.metadata Object No

System information (web client, IP address, etc.) and comment flags, if any. See Comment flags

tickets[].comment.id Integer No

Automatically assigned when the comment is created

tickets[].comment.plain_body String No

The comment presented as plain text. See Bodies

tickets[].comment.translate_to String No

The locale code to translate the comment body to.

tickets[].comment.attachments[] Array No

Attachments, if any. See Attachment

tickets[].comment.attachments[].content_type String No

The content type of the image. Example value: "image/png"

tickets[].comment.attachments[].inline Boolean No

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

tickets[].comment.attachments[].size Integer No

The size of the image file in bytes

tickets[].comment.attachments[].deleted Boolean No

If true, the attachment has been deleted

tickets[].comment.attachments[].height Integer No

The height of the image file in pixels. If height is unknown, returns null

tickets[].comment.attachments[].url String No

A URL to access the attachment details

tickets[].comment.attachments[].width Integer No

The width of the image file in pixels. If width is unknown, returns null

tickets[].comment.attachments[].thumbnails[] Array No

An array of attachment objects. Note that photo thumbnails do not have thumbnails

tickets[].comment.attachments[].thumbnails[].content_type String No

The content type of the image. Example value: "image/png"

tickets[].comment.attachments[].thumbnails[].inline Boolean No

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

tickets[].comment.attachments[].thumbnails[].size Integer No

The size of the image file in bytes

tickets[].comment.attachments[].thumbnails[].deleted Boolean No

If true, the attachment has been deleted

tickets[].comment.attachments[].thumbnails[].height Integer No

The height of the image file in pixels. If height is unknown, returns null

tickets[].comment.attachments[].thumbnails[].url String No

A URL to access the attachment details

tickets[].comment.attachments[].thumbnails[].width Integer No

The width of the image file in pixels. If width is unknown, returns null

tickets[].comment.attachments[].thumbnails[].malware_access_override Boolean No

If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.

tickets[].comment.attachments[].thumbnails[].mapped_content_url String No

The URL the attachment image file has been mapped to

tickets[].comment.attachments[].thumbnails[].file_name String No

The name of the image file

tickets[].comment.attachments[].thumbnails[].content_url String No

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

tickets[].comment.attachments[].thumbnails[].id Integer No

Automatically assigned when created

tickets[].comment.attachments[].thumbnails[].malware_scan_result String No

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"

tickets[].comment.attachments[].malware_access_override Boolean No

If true, you can download an attachment flagged as malware. If false, you can't download such an attachment.

tickets[].comment.attachments[].mapped_content_url String No

The URL the attachment image file has been mapped to

tickets[].comment.attachments[].file_name String No

The name of the image file

tickets[].comment.attachments[].content_url String No

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

tickets[].comment.attachments[].id Integer No

Automatically assigned when created

tickets[].comment.attachments[].malware_scan_result String No

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"

tickets[].comment.author_id Integer No

The id of the comment author. If null or omitted on create, defaults to the authenticated user. See Author id

tickets[].comment.audit_id Integer No

The id of the ticket audit record. See Show Audit

tickets[].comment.body String No

The comment string. See Bodies

tickets[].comment.channel_back String No

Internal channel back identifier for the comment

tickets[].comment.type String No

Comment or VoiceComment. The JSON object for adding voice comments to tickets is different. See Adding voice comments to tickets

tickets[].comment.html_body String No

The comment formatted as HTML. See Bodies

tickets[].comment.uploads[] Array No

List of tokens received from uploading files for comment attachments. The files are attached by creating or updating tickets with the tokens. See Attaching files in Tickets

tickets[].comment.created_at String No

The time the comment was created

tickets[].comment.channel_source_id String No

Internal channel source identifier for the comment

tickets[].macro_ids[] Array No

POST requests only. List of macro IDs to be recorded in the ticket audit

tickets[].group_id Integer No

The group this ticket is assigned to

tickets[].submitter_id Integer No

The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket.

If not specified, defaults to the authenticated user.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.