---
title: "Ticket Bulk Import"
method: POST
path: "/api/v2/imports/tickets/create_many"
tags: ["Ticket Import"]
---

# Ticket Bulk Import

`POST /api/v2/imports/tickets/create_many`

Accepts an array of up to 100 ticket objects.

#### Allowed For

* Admins

## Query parameters

- `archive_immediately` boolean

## Request body

- TicketBulkImportRequest
  - `tickets` TicketImportInput[]
    - `assignee_id` integer — The agent currently assigned to the ticket
    - `comments` object[] — The conversation between requesters, collaborators, and agents
      - `value` string — The comment string value
      - `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` integer — 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` integer — 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` integer — 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` integer — 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
    - `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)
    - `requester_id` integer — The user who requested this ticket
    - `subject` string — The value of the subject field for this ticket
    - `tags` string[] — The array of tags applied to this ticket

## Response `200`

Successful response

- JobStatusResponse
  - `job_status` JobStatusObject
    - `id` string — Automatically assigned when the job is queued
    - `job_type` string — The type of the job
    - `message` string, nullable — Message from the job worker, if any
    - `progress` integer, nullable — Number of tasks that have already been completed
    - `results` union — Result data from processed tasks. See [Results](#results) below
      - JobStatusResultObject[], nullable
        - union
          - object
            - `id` integer, required — the id of the new resource
            - `index` integer, required — the index number of the resul
          - object
            - `action` string, required — the action the job attempted (`"action": "update"`)
            - `id` integer, required — the id of the resource the job attempted to update
            - `status` string, required — the status (`"status": "Updated"`)
            - `success` boolean, required — whether the action was successful or not (`"success": true`)
          - object
            - `action` string, required — The action the job attempted (`"action": "update"`)
            - `details` string, required — The details of the error
            - `error` string, required — The error message
            - `id` integer, required — The id of the resource the job attempted to update
            - `success` boolean, required — Whether the action was successful or not (`"success": true`)
      - object
        - `success` boolean, required — Whether the action was successful or not
    - `status` string — The current status. One of the following: "queued", "working", "failed", "completed"
    - `total` integer, nullable — The total number of tasks this job is batching through
    - `url` string — The URL to poll for status updates

---

[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/d53eac07ba68/schema)
