---
title: "Create Bookmark"
method: POST
path: "/api/v2/bookmarks"
tags: ["Bookmarks"]
---

# Create Bookmark

`POST /api/v2/bookmarks`

#### Allowed For
- Agents

## Request body

- BookmarkCreateRequest
  - `bookmark` BookmarkInput
    - `ticket_id` integer — The id of the ticket the bookmark is for.

## Response `200`

Successfully created

- BookmarkResponse
  - `bookmark` BookmarkObject
    - `created_at` string, date-time — The time the bookmark was created
    - `id` integer — Automatically assigned when the bookmark is created
    - `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` union — The value of the custom field
          - string
          - integer
          - boolean
          - string[]
          - number
      - `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)
    - `url` string — The API url of this bookmark

## Other responses

- `201` — Successfully created

## Changes

> 29 revisions in range; 1 not diffed.

- **2025-12-09** `ac78d8660e75` — 2 breaking
  - response property `bookmark/ticket/allOf[#/components/schemas/TicketObject]/custom_fields/items/value` list-of-types was widened by adding types `number` to media type `application/json` of response `200`
  - response property `bookmark/ticket/allOf[#/components/schemas/TicketObject]/custom_fields/items/value` list-of-types was widened by adding types `number` to media type `application/json` of response `201`
- **2025-12-09** `1690b37f3321` — 2 breaking
  - response property `bookmark/ticket/allOf[#/components/schemas/TicketObject]/custom_fields/items/value` list-of-types was widened by adding types `array` to media type `application/json` of response `200`
  - response property `bookmark/ticket/allOf[#/components/schemas/TicketObject]/custom_fields/items/value` list-of-types was widened by adding types `array` to media type `application/json` of response `201`
- …earlier changes not shown

[Full history](https://skmtc.dev/botbrains-io/apis/support-api/changes/api/v2/bookmarks/post.md)

---

[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)
