Zendesk

Customer service and support platform

developer.zendesk.com/api-reference ↗
Version
2.0.0
OpenAPI
3.0.3
Endpoints
440
Schemas
454
Updated
3 days ago
Customer support customer-support helpdesk tickets
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://{subdomain}.{domain}.com

Authentication

basic

Endpoints

Clear filters

Attachments 1 endpoints

POST /api/v2/uploads

Uploads a file that can be attached to a ticket comment. It doesn't attach the file to the comment. For details and examples, see [Attaching ticket comments with the API](https://developer.zendesk.com). The endpoint has a required `filename` query parameter. The parameter specifies what the file will be named when attached to the ticket comment (to give the agent more context about the file). The parameter does not specify the file on the local system to be uploaded. While the two names can be different, their file extensions must be the same. If they don't match, the agent's browser or file reader could give an error when attempting to open the attachment. The `Content-Type` header must contain a recognized MIME type that correctly describes the type of the uploaded file. Failing to send a recognized, correct type may cause undesired behavior. For example, in-browser audio playback may be interrupted by the browser's security mechanisms for MP3s uploaded with an incorrect type. Adding multiple files to the same upload is handled by splitting requests and passing the API token received from the first request to each subsequent request. The token is valid for 3 days. **Note**: Even if [private attachments](https://support.zendesk.com/hc/en-us/articles/204265396) are enabled in the Zendesk Support instance, uploaded files are visible to any authenticated user at the `content_URL` specified in the [JSON response](https://developer.zendesk.com) until the upload token is consumed. Once a file is associated with a ticket or post, visibility is restricted to users with access to the ticket or post with the attachment. #### Allowed For * End users

operationId: Attachments_uploadFile

Responses

201 Created response
POST /api/v2/uploads

Audit logs 1 endpoints

POST /api/v2/audit_logs/export

#### Allowed For * Admins on accounts that have audit log access

operationId: AuditLogs_exportLogs

Parameters

Name In Required Type Description
filter[source_type] query optional string Filter audit logs by the source type. For example, user or rule
filter[source_id] query optional integer Filter audit logs by the source id. Requires `filter[source_type]` to also be set.
filter[actor_id] query optional integer Filter audit logs by the actor id
filter[ip_address] query optional string Filter audit logs by the ip address
filter[created_at] query optional string Filter audit logs by the time of creation. When used, you must specify `filter[created_at]` twice in your request, first with the start time and again with an end time
filter[action] query optional string Filter audit logs by the action

Responses

202 Accepted description
POST /api/v2/audit_logs/export

Automations 1 endpoints

POST /api/v2/automations

Creates an automation. New automations must be unique and have at least one condition that is true only once or an action that nullifies at least one of the conditions. Active automations can have overlapping conditions but can't be identical. The request must include the following conditions in the `all` array: - At least one time-based condition - At least one condition that checks one of the following fields: `status`, `type`, `group_id`, `assignee_id`, or `requester_id`. #### Allowed For * Agents

operationId: Automations_createNewAutomation

Responses

201 Created response
POST /api/v2/automations

Basics 3 endpoints

POST /api/v2/channels/voice/agents/{agent_id}/tickets/{ticket_id}/display

Allows you to instruct an agent's browser to open a ticket. When the message is successfully delivered to an agent's browser: ```http Status: 200 OK ``` When `agent_id` or `ticket_id` is invalid: ```http Status: 404 Not Found ``` #### Allowed For * Agents

operationId: Basics_openAgentTicketDisplay

Parameters

Name In Required Type Description
optional
optional

Responses

200 Successful response
404 When the `agent_id` or `ticket_id` is invalid
POST /api/v2/channels/voice/agents/{agent_id}/tickets/{ticket_id}/display
POST /api/v2/channels/voice/agents/{agent_id}/users/{user_id}/display

Allows you to instruct an agent's browser to open a user's profile. When the message is successfully delivered to an agent's browser: ```http Status: 200 OK ``` When `agent_id` or `user_id` is invalid: ```http Status: 404 Not Found ``` #### Allowed For * Agents

operationId: Basics_openUserProfile

Parameters

Name In Required Type Description
optional
optional

Responses

200 Successful response
404 When the `agent_id` or `user_id` is invalid
POST /api/v2/channels/voice/agents/{agent_id}/users/{user_id}/display
POST /api/v2/channels/voice/tickets

#### Allowed For * Agents ### Creating tickets #### Introduction Creating tickets using Talk Partner Edition follows the same conventions as the Create Ticket endpoint. See [Create Ticket](/api-reference/ticketing/tickets/tickets/#create-ticket). #### Request parameters The POST request takes a mandatory `ticket` object that lists the values to set when the ticket is created. You may also include an optional `display_to_agent` value such as the ID of the agent that will see the newly created ticket. Tickets created using this endpoint must have a `via_id` parameter. See the following section for possible values. #### Zendesk Talk Integration Via IDs Tickets created using this endpoint must have one of the following `via_id` parameters: | ID | Description | ---------| ------------- | 44 | Voicemail | 45 | Phone call (inbound) | 46 | Phone call (outbound) ### Creating voicemail tickets #### Request parameters The POST request takes a mandatory `ticket` object that lists the values to set when the ticket is created. The ticket must have a `voice_comment` with the following values: | Name | Type | Comment | ------------------ | ----------------------| ------- | from | string | Incoming phone number | to | string | Dialed phone number | recording_url | string | URL of the recording | started_at | date | [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) timestamp of the call starting time | call_duration | integer | Duration in seconds of the call | answered_by_id | integer | The agent who answered the call | transcription_text | string | Transcription of the call (optional) | location | string | Location of the caller (optional)

operationId: Basics_createVoiceTicket

Parameters

Name In Required Type Description
optional
optional

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TicketCreateVoicemailTicketRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/TicketCreateTicketViaTalkRequestExample"
        }
      }
    }
  }
}

Responses

201 Successful response
404 When the `agent_id` or `ticket_id` is invalid
POST /api/v2/channels/voice/tickets

Bookmarks 1 endpoints

POST /api/v2/bookmarks

#### Allowed For - Agents

operationId: Bookmarks_createNewBookmark

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BookmarkCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/BookmarkCreateRequest"
        }
      }
    }
  }
}

Responses

200 Successfully created
201 Successfully created
POST /api/v2/bookmarks

Brands 1 endpoints

POST /api/v2/brands

#### Allowed for - Admins

operationId: Brands_createNewBrand

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BrandCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/BrandCreateRequestExample"
        }
      }
    }
  }
}

Responses

201 Successful response
POST /api/v2/brands

Channel framework 3 endpoints

POST /api/v2/any_channel/channelback/report_error

#### Allowed For * Admins #### Request parameters The POST request takes a JSON object parameter which contains information about the problematic [channelback](https://developer.zendesk.com). | Name | Type | Required | Comments | ------------------ | ----------| --------- | ------------------- | instance_push_id | string | yes | The ID of the account to which data will be pushed. This was passed to the integration service when the administrator set up the account | external_id | string | yes | Unique identifier of the external resource from the original channelback (string) | description | string | no | A human readable description of the error | request_id | string | no | A unique identifier for the request #### Response format The response does not include a response body

operationId: ChannelFramework_reportError

Responses

200 Success response
POST /api/v2/any_channel/channelback/report_error
POST /api/v2/any_channel/push

Pushes Channel framework content to Zendesk. #### Allowed For * Admins #### Request parameters The POST request takes a JSON object parameter which contains data about all the resources that the client is pushing. | Name | Type | Required | Comments | ------------------ | ----------| --------- | ------------------- | instance_push_id | string | yes | The account ID where data will be pushed. This was passed to the integration service when the administrator set up the account | request_id | string | no | A unique identifier for the push request | external_resources | array | yes | The [resources](https://developer.zendesk.com) to push #### external_resource object | Name | Type | Max length | Mandatory | Comments |------------------- | ---------------------------------- |------------| --------- | ---------- | external_id | string | 255 | yes | Unique identifier of the external resource. Must be ASCII characters | internal_note | boolean | | no | If true creates a new internal note comment | message | string | 65535 | yes | Text to be converted to a ticket or comment | html_message | string | 65535 | no | HTML version of message | parent_id | string | 511 | no | Unique identifier of the external resource for which this is a response. Used to choose the correct thread. Responses may include `parent_id` or `thread_id`, but not both. See [Conversation threads](/documentation/channel_framework/understanding-the-channel-framework/pull_endpoint/#conversation-threads) | thread_id | string | 255 | no | Arbitrary identifier of the thread to which this item should belong. Responses may include `parent_id` or `thread_id`, but not both. See [Conversation threads](/documentation/channel_framework/understanding-the-channel-framework/pull_endpoint/#conversation-threads) | created_at | string | | yes | When the resource was created in the origin system, as an ISO 8601 extended format date-time. Example: '2015-09-08T22:48:09Z' | author | object | | yes | See [author object](https://developer.zendesk.com) below | display_info | array | | no | Array of integration-specific data used by apps to modify the agent UI. See [display_info object](https://developer.zendesk.com) below | allow_channelback | boolean | | no | If false, prevents the agent from making additional comments on the message in the Zendesk interface | fields | array | | no | Array of ticket fields to set in Zendesk and their values. See [fields array](https://developer.zendesk.com) | file_urls | array | 10 | no | Array of files to be imported into Zendesk. See [file urls](/documentation/channel_framework/understanding-the-channel-framework/pull_endpoint/#file-urls) in the Channel framework docs #### author object | Name | Type | Max chars | Mandatory | Comments |------------ | ------ |---------- |---------- |----------- | external_id | string | 255 | yes | Unique identifier of the user in the origin service | name | string | 255 | no | If not supplied, defaults to external id | image_url | string | 255 | no | URL to an image for the user | locale | String | 255 | no | The user's locale. Must be one of the supported [locales](/api-reference/ticketing/account-configuration/locales/#list-available-public-locales) in Zendesk | fields | array | | no | Array of items containing user field identifier ('id') and value of field ('value'.) For system fields ('notes' or 'details'), the identifier is the English name. For custom fields, the identifier may be the ID or the name #### display_info object | Name | Type | Max chars | Mandatory | Comments |----- | ------ |---------- |---------- |----------- | type | string | 255 | yes | Globally unique type identifier defined by the integration origin service. Examples: a GUID or URI | data | string | 65535 | yes | JSON data containing display hints #### fields array The `fields` array lists ticket fields to set in Zendesk and their values. Each item consists of a field identifier (`id`) and a value (`value`) for the field. For Zendesk system fields such as `subject`, the identifier is the English name. For custom fields, the identifier may be a field ID or a name. See [Ticket Fields](https://developer.zendesk.com). The `fields` array can only set ticket values on ticket creation, not on ticket updates. #### Response format The response is a JSON object containing a single key: | Name | Type | Comments | --------- | -------- | ------------------- | results | array | An array of [result objects](https://developer.zendesk.com) The `results` array contains an entry for each item in the incoming `external_resources` array, in the same order. For example, if you call `push` with 3 external resources, a successful response will include `results` with three entries, corresponding to your 3 resources. #### result object | Name | Type | Comments | -------------------- | ------------------------------ | ------------------- | external_resource_id | string | The external ID of the resource, as passed in | status | object | The status of the import for the indicated resource. See [status object](https://developer.zendesk.com) #### status object | Name | Type | Comments | ----------- | ------ | ------------------- | code | string | A code indicating the status of the import of the resource, as described in [status codes](https://developer.zendesk.com) | description | string | In the case of an exception, a description of the exception. Otherwise, not present. #### status codes | Key | Description | ----------------------------------------- | ---------------- | success | The external resource was successfully converted to a ticket or comment | already_imported | Reimport of the external resource was skipped due to a pre-existing ticket or comment for the resource | could_not_locate_parent_external_resource | The parent resource, as identified by parent_id in the [request](https://developer.zendesk.com), could not be found. The unrecognized parent ID is returned in the description of the [status](https://developer.zendesk.com) | processing_error | An internal exception occurred while processing the resource. See `description` in the [status object](https://developer.zendesk.com) | halted | This resource was not processed because processing of previous resources failed

operationId: ChannelFramework_pushContentSupport

Responses

200 Success response
POST /api/v2/any_channel/push
POST /api/v2/any_channel/validate_token

#### Allowed For * Admins #### Request parameters The POST request takes a JSON object parameter which contains the token to be validated. | Name | Type | Required | Comments | ------------------ | ----------| --------- | ------------------- | instance_push_id | string | yes | The ID of the account to which data will be pushed. This was passed to the integration service when the administrator set up the account | request_id | string | no | A unique identifier for the push request #### Response format The response body is empty.

operationId: ChannelFramework_validateToken

Responses

200 Success response
POST /api/v2/any_channel/validate_token

Custom object fields 1 endpoints

POST /api/v2/custom_objects/{custom_object_key}/fields

Creates any of the following custom field types: * text (default when no "type" is specified) * textarea * checkbox * date * integer * decimal * regexp * dropdown * lookup See [About custom field types](https://support.zendesk.com/hc/en-us/articles/203661866) in Zendesk help. #### Allowed For * Admins

operationId: CustomObjectFields_createField

Parameters

Name In Required Type Description
optional

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomObjectFieldsCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/CustomObjectFieldsCreateRequestExample"
        }
      }
    }
  }
}

Responses

201 Created
POST /api/v2/custom_objects/{custom_object_key}/fields

Custom object records 2 endpoints

POST /api/v2/custom_objects/{custom_object_key}/jobs

Queues a background job to perform bulk actions on up to 100 custom object records per single request. Takes a `job` object with two nested fields: * `action`, one of: * `"create"` * `"delete"` * `"delete_by_external_id"` * `"create_or_update_by_external_id"` * `"update"` * `items` * For a `"create"` action, an array of JSON objects representing the custom object records being created * For a `"delete"` action, an array of strings representing Zendesk record ids * For a `"delete_by_external_id"` action, an array of strings representing external ids * For a `"create_or_update_by_external_id"` action, an array of JSON objects representing the custom object records being created or updated * For an `"update"` action, an array of JSON objects representing the custom object records being updated #### Allowed For * Agents #### Response ### This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#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](/api-reference/introduction/rate-limits/#job-limit) for more information.

operationId: CustomObjectRecords_createBulkJobs

Parameters

Name In Required Type Description
optional

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomObjectRecordsBulkCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/CustomObjectRecordsBulkCreateRequestExample"
        }
      }
    }
  }
}

Responses

201 Created
POST /api/v2/custom_objects/{custom_object_key}/jobs
POST /api/v2/custom_objects/{custom_object_key}/records

Creates a custom object record according to all the properties described by a custom object definition #### Allowed For * Agents

operationId: CustomObjectRecords_createNewRecord

Parameters

Name In Required Type Description
optional

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomObjectRecordsCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/CustomObjectRecordsCreateRequestExample"
        }
      }
    }
  }
}

Responses

201 Created
POST /api/v2/custom_objects/{custom_object_key}/records

Custom objects 1 endpoints

POST /api/v2/custom_objects

Creates an object describing all the properties required to create a custom object record #### Allowed For * Admins

operationId: CustomObjects_createCustomObjectRecord

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomObjectsCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/CustomObjectsCreateRequestExample"
        }
      }
    }
  }
}

Responses

201 Created
POST /api/v2/custom_objects

Custom roles 1 endpoints

POST /api/v2/custom_roles

#### Availability * Accounts on the Enterprise plan or above #### Allowed for * Administrators * Agents with the `manage_roles` permission

operationId: CustomRoles_createRole

Responses

200 Created response
POST /api/v2/custom_roles

Custom ticket statuses 1 endpoints

POST /api/v2/custom_statuses

Takes a `custom_status` object that specifies the custom ticket status properties to create. #### Allowed For * Admins

operationId: CustomTicketStatuses_createNewStatus

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CustomStatusCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/CustomStatusCreateRequestExample"
        }
      }
    }
  }
}

Responses

201 Created
POST /api/v2/custom_statuses

Dynamic content 1 endpoints

POST /api/v2/dynamic_content/items

Create a new content item, with one or more variants in the item's `variants` array. See [Specifying item variants](https://developer.zendesk.com). The `default_locale_id` and variant `locale_id` values must be one of the locales the account has active. You can get the list with the [List Locales](/api-reference/ticketing/account-configuration/locales/#list-locales) endpoint. #### Allowed For * Admins, Agents

operationId: DynamicContent_createItemWithVariants

Responses

201 Created response
POST /api/v2/dynamic_content/items

Dynamic content item variants 2 endpoints

POST /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants

You can only create one variant for each locale id. If a locale variant already exists, the request is rejected. #### Allowed For * Admins, Agents

operationId: DynamicContentItemVariants_createNewVariant

Responses

201 Created response
POST /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants
POST /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/create_many

#### Allowed For * Admins, Agents

operationId: DynamicContentItemVariants_createMany

Responses

201 Created response
POST /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/create_many

Group memberships 2 endpoints

POST /api/v2/group_memberships

Assigns an agent to a given group. #### Allowed For * Admins * Agents assigned to a custom role with permissions to manage group memberships (Enterprise only)

operationId: GroupMemberships_assignAgentToGroup

Responses

201 Created response
POST /api/v2/group_memberships
POST /api/v2/group_memberships/create_many

Assigns up to 100 agents to given groups. #### Allowed For * Admins * Agents assigned to a custom role with permissions to manage group memberships (Enterprise only) #### Response This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#show-job-status) endpoint to check for the job's completion.

operationId: GroupMemberships_bulkAssignAgentsToGroups

Responses

200 Success response
POST /api/v2/group_memberships/create_many

Group sla policies 1 endpoints

POST /api/v2/group_slas/policies

#### Allowed For * Admins

operationId: GroupSlaPolicies_createNewPolicy

Responses

201 Created response
POST /api/v2/group_slas/policies

Groups 1 endpoints

POST /api/v2/groups

#### Allowed For * Admins * Agents assigned to a custom role with permissions to manage groups (Enterprise only)

operationId: Groups_createNewGroup

Responses

201 Created response
POST /api/v2/groups

Macros 3 endpoints

POST /api/v2/macros

#### Allowed For * Agents

operationId: Macros_createNewMacro

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/MacrosCreateNewMacroRequest"
      },
      "examples": {
        "default": {
          "value": {
            "macro": {
              "title": "Roger Wilco",
              "actions": [
                {
                  "field": "status",
                  "value": "solved"
                }
              ]
            }
          }
        }
      }
    }
  }
}

Responses

200 OK
POST /api/v2/macros
POST /api/v2/macros/attachments

Allows an attachment to be uploaded that can be associated with a macro at a later time. **Note:** To ensure an uploaded attachment is not lost, associate it with a macro as soon as possible. From time to time, old attachments that are not not associated with any macro are purged. #### Allowed For * Agents

operationId: Macros_createUnassociatedAttachment

Responses

201 Created Response
POST /api/v2/macros/attachments
POST /api/v2/macros/{macro_id}/attachments

Allows an attachment to be uploaded and associated with a macro at the same time. **Note:** A macro can be associated with up to five attachments. #### Allowed For * Agents

operationId: Macros_createAttachment

Responses

201 Success Response
POST /api/v2/macros/{macro_id}/attachments

Omnichannel routing queues 1 endpoints

POST /api/v2/queues

#### Allowed For * Admins

operationId: OmnichannelRoutingQueues_createNewQueue

Responses

201 Created response
POST /api/v2/queues

Organization fields 1 endpoints

POST /api/v2/organization_fields

Creates any of the following custom field types: * text (default when no "type" is specified) * textarea * checkbox * date * integer * decimal * regexp * dropdown * lookup See [About custom field types](https://support.zendesk.com/hc/en-us/articles/203661866) in Zendesk help. #### Allowed For * Admins

operationId: OrganizationFields_createField

Responses

201 Created response
POST /api/v2/organization_fields

Organization memberships 2 endpoints

POST /api/v2/organization_memberships

Assigns a user to a given organization. Returns an error with status 422 if the user is already assigned to the organization. #### Allowed For * Admins * Agents when creating a new organization membership for an end user

operationId: OrganizationMemberships_assignUserToOrganization

Responses

201 Created response
POST /api/v2/organization_memberships
POST /api/v2/organization_memberships/create_many

This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#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](/api-reference/introduction/rate-limits/#job-limit) for more information. #### Allowed For * Admins * Agents

operationId: OrganizationMemberships_createMany

Responses

200 Success response
POST /api/v2/organization_memberships/create_many

Organization subscriptions 1 endpoints

POST /api/v2/organization_subscriptions

#### Allowed For: * Agents * End users End users can only subscribe to shared organizations in which they're members.

operationId: OrganizationSubscriptions_createNewSubscription

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/OrganizationSubscriptionCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/OrganizationSubscriptionCreateRequestExample"
        }
      }
    }
  }
}

Responses

200 Successful response
POST /api/v2/organization_subscriptions

Organizations 3 endpoints

POST /api/v2/organizations

You must provide a unique `name` for each organization. Normally the system doesn't allow records to be created with identical names. However, a race condition can occur if you make two or more identical POSTs very close to each other, causing the records to have identical organization names. #### Allowed For * Admins * Agents assigned to a custom role with permissions to manage organizations (Enterprise only)

operationId: Organizations_createNew

Responses

201 Created
POST /api/v2/organizations
POST /api/v2/organizations/create_many

Accepts an array of up to 100 organization objects. #### Response This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#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](/api-reference/introduction/rate-limits/#job-limit) for more information. #### Allowed For * Agents, with restrictions applying on certain actions

operationId: Organizations_createMany

Responses

200 Success response
POST /api/v2/organizations/create_many
POST /api/v2/organizations/create_or_update

Creates an organization if it doesn't already exist, or updates an existing organization. Using this method means one less call to check if an organization exists before creating it. You need to specify the id or external id when updating an organization to avoid a duplicate error response. Name is not available as a matching criteria. #### Allowed For * Agents, with restrictions on certain actions

operationId: Organizations_createOrUpdate

Responses

200 Success response
201 Created response
POST /api/v2/organizations/create_or_update

Push notification devices 1 endpoints

POST /api/v2/push_notification_devices/destroy_many

Unregisters the mobile devices that are receiving push notifications. Specify the devices as an array of mobile device tokens. #### Allowed for * Admins

operationId: PushNotificationDevices_bulkUnregister

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PushNotificationDevicesRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/PushNotificationDevicesRequestExample"
        }
      }
    }
  }
}

Responses

200 Successful response
POST /api/v2/push_notification_devices/destroy_many

Requests 1 endpoints

POST /api/v2/requests

Accepts a `request` object that sets one or more properties. #### Allowed for * End users * Anonymous users (rate limit of 5 requests per hour for [trial accounts](https://developer.zendesk.com)) #### Additional properties In addition to the writable request properties in the [JSON Format table](https://developer.zendesk.com) above, you can set the following properties when creating a request. | Name | Type | Mandatory | Comment | ---------------- | -------| --------- | ------- | comment | object | yes | Describes the problem, incident, question, or task. See [Request comments](https://developer.zendesk.com) | collaborators | array | no | Adds collaborators (cc's) to the request. An email notification is sent to them when the ticket is created. See [Setting collaborators](/documentation/ticketing/managing-tickets/creating-and-managing-requests#setting-collaborators) | requester | object | yes* | \*Required for anonymous requests. Specifies the requester of the anonymous request. See [Creating anonymous requests](/documentation/ticketing/managing-tickets/creating-and-managing-requests#creating-anonymous-requests) #### Creating follow-up requests Once a ticket is closed (as distinct from solved), it can't be reopened. However, you can create a new request that references the closed ticket. To create the follow-up request, include a `via_followup_source_id` property in the `request` object that specifies the closed ticket. The parameter only works with closed tickets. It has no effect with other tickets.

operationId: Requests_createNewRequest

Responses

201 Created response
POST /api/v2/requests

Reseller 1 endpoints

POST /api/v2/accounts
operationId: Reseller_createTrialAccount

Responses

201 Created response
POST /api/v2/accounts

Resource collections 1 endpoints

POST /api/v2/resource_collections

Creates a resource collection from a provided `payload` object. The `payload` object is specified the same way as the content of a requirements.json file in a Zendesk app. See [Specifying Apps Requirements](https://developer.zendesk.com) in the Zendesk Apps framework docs. The response includes a [job status](https://developer.zendesk.com) for creation of the specified resources. #### Allowed for * Admins

operationId: ResourceCollections_createNewCollection

Responses

200 Success response
POST /api/v2/resource_collections

Sla policies 1 endpoints

POST /api/v2/slas/policies

#### Availability * Accounts on the Support Professional or Suite Growth plan or above #### Allowed For * Admins

operationId: SlaPolicies_createNewPolicy

Responses

201 Created response
POST /api/v2/slas/policies

Satisfaction ratings 1 endpoints

POST /api/v2/tickets/{ticket_id}/satisfaction_rating

Creates a CSAT rating for a solved ticket, or for a ticket that was previously solved and then reopened. Only the end user listed as the ticket requester can create a satisfaction rating for the ticket. #### Allowed For * End user who requested the ticket The end user must be a verified user.

operationId: SatisfactionRatings_createNewRating

Responses

200 Success response
POST /api/v2/tickets/{ticket_id}/satisfaction_rating

Sharing agreements 1 endpoints

POST /api/v2/sharing_agreements

#### Allowed For * Admins

operationId: SharingAgreements_createNewAgreement

Responses

201 Created response
POST /api/v2/sharing_agreements

Skill based routing 4 endpoints

POST /api/v2/routing/agents/{user_id}/instance_values

Adds the specified attributes if no attributes exists, or replaces all existing attributes with the specified attributes. #### Allowed For * Admins

operationId: SkillBasedRouting_setAgentAttributeValues

Responses

200 Success response
POST /api/v2/routing/agents/{user_id}/instance_values
POST /api/v2/routing/attributes

Creates an attribute. #### Allowed For * Agents

operationId: SkillBasedRouting_createAttribute

Responses

201 Created response
POST /api/v2/routing/attributes
POST /api/v2/routing/attributes/{attribute_id}/values

Creates an attribute value. #### Allowed For * Admins

operationId: SkillBasedRouting_createAttributeValue

Responses

201 Created response
POST /api/v2/routing/attributes/{attribute_id}/values
POST /api/v2/routing/tickets/{ticket_id}/instance_values

Adds the specified attributes if no attributes exists, or replaces all existing attributes with the specified attributes. Invalid or deleted attributes are ignored. #### Allowed For * Admins

operationId: SkillBasedRouting_setTicketAttributeValues

Responses

200 Success response
POST /api/v2/routing/tickets/{ticket_id}/instance_values

Support addresses 1 endpoints

POST /api/v2/recipient_addresses

Adds a Zendesk or external support address to your account. To add a Zendesk address, use the following syntax: `{local-part}@{accountname}.zendesk.com`. Example: 'sales-team@example.zendesk.com'. The [local-part](https://en.wikipedia.org/wiki/Email_address#Local-part) can be anything you like. To add an external email address such as help@omniwearshop.com, the email must already exist and you must set up forwarding on your email server. The exact steps depend on your mail server. See [Forwarding incoming email to Zendesk Support](https://support.zendesk.com/hc/en-us/articles/203663266). After setting up forwarding, run the [Verify Support Address Forwarding](https://developer.zendesk.com) endpoint. The address won't work in Zendesk Support until it's been verified. #### Allowed For * Admins * Agents with permission to manage channels and extensions. See the system permissions in [Creating custom roles and assigning agents (Enterprise)](https://support.zendesk.com/hc/en-us/articles/203662026-Creating-custom-roles-and-assigning-agents-Enterprise-#topic_cxn_hig_bd) in the Support Help Center

operationId: SupportAddresses_createSupportAddress

Responses

201 Created response
POST /api/v2/recipient_addresses

Suspended tickets 2 endpoints

POST /api/v2/suspended_tickets/attachments

Makes copies of any attachments on a suspended ticket and returns them as [attachment tokens](https://developer.zendesk.com). If the ticket is manually recovered, you can include the attachment tokens on the new ticket. #### Allowed For * Admins and [agents in custom roles with permission](https://support.zendesk.com/hc/en-us/articles/4408882153882#topic_cxn_hig_bd) to manage suspended tickets on Enterprise plans * Unrestricted agents on all other plans

operationId: SuspendedTickets_copyAttachments

Responses

200 Success response
POST /api/v2/suspended_tickets/attachments
POST /api/v2/suspended_tickets/export

Exports a list of suspended tickets for the Zendesk Support instance. To export the list, the endpoint enqueues a job to create a CSV file with the data. When done, Zendesk sends the requester an email containing a link to the CSV file. In the CSV, tickets are sorted by the update timestamp in ascending order. #### Allowed For * Admins and [agents in custom roles with permission](https://support.zendesk.com/hc/en-us/articles/4408882153882#topic_cxn_hig_bd) to manage suspended tickets on Enterprise plans * Unrestricted agents on all other plans #### Rate limits Limited to one request per minute and up to one million records in return. The rate-limiting mechanism behaves identically to the one described in [Usage limits](/api-reference/ticketing/account-configuration/usage_limits/#monitoring-your-request-activity). We recommend using the `Retry-After` header value as described in [Catching errors caused by rate limiting](/documentation/ticketing/using-the-zendesk-api/best-practices-for-avoiding-rate-limiting#catch).

operationId: SuspendedTickets_exportList

Responses

200 Ok
POST /api/v2/suspended_tickets/export

Tags 1 endpoints

POST /api/v2/tickets/{ticket_id}/tags

#### Allowed For * Agents

operationId: Tags_setTicketTags

Responses

201 Created response
POST /api/v2/tickets/{ticket_id}/tags

Targets 1 endpoints

POST /api/v2/targets

#### Allowed For * Admins

operationId: Targets_createNewTarget

Responses

201 Created response
POST /api/v2/targets

Ticket fields 2 endpoints

POST /api/v2/ticket_fields

Creates any of the following custom field types: | Custom field type | Description | |-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| | text | Default custom field type when `type` is not specified | | textarea | For multi-line text | | checkbox | To capture a boolean value. Allowed values are true or false | | date | Example: 2021-04-16 | | integer | String composed of numbers. May contain an optional decimal point | | decimal | For numbers containing decimals | | regexp | Matches the Regex pattern found in the custom field settings | | partialcreditcard | A credit card number. Only the last 4 digits are retained | | multiselect | Enables users to choose multiple options from a dropdown menu | | tagger | Single-select dropdown menu. It contains one or more tag values belonging to the field's options. Example: ( {"id": 21938362, "value": ["hd_3000", "hd_5555"]}) | | lookup | A field to create a relationship (see [lookup relationships](https://developer.zendesk.com)) to another object such as a user, ticket, or organization | See [About custom field types](https://support.zendesk.com/hc/en-us/articles/203661866) in the Zendesk Help Center. #### Allowed For * Admins #### Field limits We recommend the following best practices for ticket fields limits. Creating more than these amounts can affect performance. * 400 ticket fields per account if your account doesn't have ticket forms * 400 ticket fields per ticket form if your account has ticket forms

operationId: TicketFields_createField

Responses

201 Created response
POST /api/v2/ticket_fields
POST /api/v2/ticket_fields/{ticket_field_id}/options

Creates or updates an option for the given drop-down ticket field. To update an option, include the id of the option in the `custom_field_option` object. Example: `{"custom_field_option": {"id": 10002, "name": "Pineapples", ... }` If an option exists for the given ID, the option will be updated. Otherwise, a new option will be created. #### Response Returns one of the following status codes: - 200 with `Location: /api/v2/ticket_fields/{ticket_field_id}/options.json` if the ticket field option already exists in the database - 201 with `Location: /api/v2/ticket_fields/{ticket_field_id}/options.json` if the ticket field option is new #### Allowed For * Admins #### Rate Limit You can make 100 requests every 1 minute using this endpoint. The rate limiting mechanism behaves as described in [Monitoring your request activity](/api-reference/ticketing/account-configuration/usage_limits/#monitoring-your-request-activity) in the API introduction. #### Field Option Limits * 2000 options per ticket field

operationId: TicketFields_createOrUpdateOption

Responses

200 Success response
201 Created response
POST /api/v2/ticket_fields/{ticket_field_id}/options

Ticket forms 2 endpoints

POST /api/v2/ticket_forms

#### Allowed For * Admins

operationId: TicketForms_createNewForm

Responses

201 Created response
POST /api/v2/ticket_forms
POST /api/v2/ticket_forms/{ticket_form_id}/clone

#### Allowed For * Admins

operationId: TicketForms_cloneExistingForm

Responses

200 Success response
POST /api/v2/ticket_forms/{ticket_form_id}/clone

Ticket import 2 endpoints

POST /api/v2/imports/tickets

#### Allowed For * Admins

operationId: TicketImport_executeTicketImport

Parameters

Name In Required Type Description
optional

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TicketImportRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/TicketImportRequestExample"
        }
      }
    }
  }
}

Responses

201 Successfully created
POST /api/v2/imports/tickets
POST /api/v2/imports/tickets/create_many

Accepts an array of up to 100 ticket objects. #### Allowed For * Admins

operationId: TicketImport_bulkCreateMany

Parameters

Name In Required Type Description
optional

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TicketBulkImportRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/TicketBulkImportRequestExample"
        }
      }
    }
  }
}

Responses

200 Successful response
POST /api/v2/imports/tickets/create_many

Ticket skips 1 endpoints

POST /api/v2/skips

Record a new ticket skip for the current user. #### Allowed For * Agents

operationId: TicketSkips_recordNewSkip

Responses

201 Success response
POST /api/v2/skips

Tickets 4 endpoints

POST /api/v2/problems/autocomplete

Returns tickets whose type is "problem" and whose subject contains the string specified in the `text` parameter. You can specify the `text` parameter in the request body rather than the query string. Example: `{"text": "fire"}` #### Allowed For * Agents

operationId: Tickets_autocompleteProblems

Parameters

Name In Required Type Description
text query optional string The text to search for

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TicketsAutocompleteProblemsRequest"
      },
      "example": {
        "text": "fire"
      }
    }
  }
}

Responses

200 Successful response
POST /api/v2/problems/autocomplete
POST /api/v2/tickets
operationId: Tickets_createNewTicket

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TicketCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/TicketCreateRequestExample"
        }
      }
    }
  }
}

Responses

201 Create ticket
POST /api/v2/tickets
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](/api-reference/ticketing/tickets/ticket_import/#ticket-bulk-import) endpoint. This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#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](/api-reference/introduction/rate-limits/#job-limit) for more information. #### Allowed For * Agents

operationId: Tickets_createMany

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TicketsCreateRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/TicketsCreateRequestExample"
        }
      }
    }
  }
}

Responses

200 Create many tickets
POST /api/v2/tickets/create_many
POST /api/v2/tickets/{ticket_id}/merge

Merges one or more tickets into the ticket with the specified id. See [Merging tickets](https://support.zendesk.com/hc/en-us/articles/203690916) in the Support Help Center for ticket merging rules. Any attachment to the source ticket is copied to the target ticket. This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#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](/api-reference/introduction/rate-limits/#job-limit) for more information. #### Allowed For * Agents Agents in the Enterprise account must have merge permissions. See [Creating custom roles and assigning agents (Enterprise)](https://support.zendesk.com/hc/en-us/articles/203662026) in the Support Help Center. #### Available parameters The request takes a data object with the following properties: | Name | Type | Required | Comments | | ------------------------ | ------- | -------- | ------------------------------------------------------- | | ids | array | yes | Ids of tickets to merge into the target ticket | | target_comment | string | no | Private comment to add to the target ticket. This comment is optional but strongly recommended | | source_comment | string | no | Private comment to add to the source ticket. This comment is optional but strongly recommended | | target_comment_is_public | boolean | no | Whether comments in the target ticket are public or private | | source_comment_is_public | boolean | no | Whether comments in the source tickets are public or private | `target_comment` and `source_comment` can be used to provide a reason for the merge for recordkeeping purposes. If the source ticket has attachments, they are included in `target_comment`. Comments are private and can't be modified in the following cases: * Any of the sources or target tickets are private * Any of the sources or target tickets were created through X (formerly Twitter), Facebook or the Channel framework In any other case, comments default to private but can be modified with the comment privacy parameters.

operationId: Tickets_mergeIntoTarget

Parameters

Name In Required Type Description
optional

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TicketMergeInput"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/TicketMergeInputExample"
        }
      }
    }
  }
}

Responses

200 Successful response
POST /api/v2/tickets/{ticket_id}/merge

Trigger categories 2 endpoints

POST /api/v2/trigger_categories

Creates a trigger category.

operationId: TriggerCategories_createCategory

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TriggerCategoriesCreateCategoryRequest"
      },
      "example": {
        "trigger_category": {
          "name": "All Notification Triggers",
          "position": 0
        }
      }
    }
  },
  "required": true
}

Responses

200 The created trigger category
400 Error
403 Error
POST /api/v2/trigger_categories
POST /api/v2/trigger_categories/jobs

Creates a job that performs a batch operation for the given trigger categories.

operationId: TriggerCategories_createBatchJob

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BatchJobRequest"
      },
      "example": {
        "job": {
          "items": {
            "triggers": [
              {
                "id": "10011",
                "active": false,
                "position": 10,
                "category_id": "10001"
              },
              {
                "id": "10012",
                "active": true,
                "position": 1,
                "category_id": "10002"
              }
            ],
            "trigger_categories": [
              {
                "id": "10001X",
                "position": 0
              },
              {
                "id": "10002X",
                "position": 1
              }
            ]
          },
          "action": "patch"
        }
      }
    }
  },
  "required": true
}

Responses

200 The response to the batch job
400 Error
POST /api/v2/trigger_categories/jobs

Triggers 1 endpoints

POST /api/v2/triggers

#### Allowed For * Agents

operationId: Triggers_createNewTrigger

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TriggerWithCategoryRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/TriggerWithCategoryRequestExample"
        }
      }
    }
  },
  "required": true
}

Responses

201 Created response
POST /api/v2/triggers

User fields 2 endpoints

POST /api/v2/user_fields

Creates any of the following custom field types: * text (default when no "type" is specified) * textarea * checkbox * date * integer * decimal * regexp * dropdown * lookup See [About custom field types](https://support.zendesk.com/hc/en-us/articles/203661866) in Zendesk help. #### Allowed For * Admins

operationId: UserFields_createField

Responses

201 Created response
POST /api/v2/user_fields
POST /api/v2/user_fields/{user_field_id}/options

Creates a new option or updates an existing option for the given drop-down user field. To update an option, include the id of the option in the `custom_field_option` object. Example: `{"custom_field_option": {"id": 10002, "name": "Pineapples", ... }`. If an option exists for the given ID, the option will be updated. Otherwise, a new option will be created. #### Response Returns one of the following status codes: - 200 with `Location: /api/v2/user_fields/{user_field_id}/options.json` if the user field option already exists in the database - 201 with `Location: /api/v2/user_fields/{user_field_id}/options.json` if the user field option is new #### Allowed For * Admins

operationId: UserFields_createOrUpdateOption

Responses

200 Success response
201 Created response
POST /api/v2/user_fields/{user_field_id}/options

User identities 1 endpoints

POST /api/v2/users/{user_id}/identities

Adds an identity to a user's profile. An agent can add an identity to any user profile. Supported identity types: | Type | Example | | ---------------- | ------- | | email | `{ "type" : "email", "value" : "someone@example.com" }` | | twitter | `{ "type" : "twitter", "value" : "screen_name" }` | | facebook | `{ "type" : "facebook", "value" : "855769377321" }` | | google | `{ "type" : "google", "value" : "example@gmail.com" }` | | agent_forwarding | `{ "type" : "agent_forwarding", "value" : "+1 555-123-4567" }` | | phone_number | `{ "type" : "phone_number", "value" : "+1 555-123-4567" }` | To create an identity without sending out a verification email, include a `"skip_verify_email": true` property. #### Allowed For * Agents

operationId: UserIdentities_addIdentityToUser

Responses

201 Created response
POST /api/v2/users/{user_id}/identities

User passwords 1 endpoints

POST /api/v2/users/{user_id}/password

An admin can set a user's password only if the setting is enabled in Zendesk Support under **Settings** > **Security** > **Global**. The setting is off by default. Only the account owner can access and change this setting. [API token](https://support.zendesk.com/hc/en-us/articles/4408831452954-How-can-I-authenticate-API-requests#h_01HT5BS5HV15B7R6Q3B67M4SQW) authentication is not permitted on this endpoint. #### Allowed For * Admins

operationId: UserPasswords_setNewPassword

Responses

200 Success description
POST /api/v2/users/{user_id}/password

Users 6 endpoints

POST /api/v2/users
operationId: Users_createNewUser

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UserRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/UserRequestExample"
        }
      }
    }
  },
  "required": true
}

Responses

201 Created response
POST /api/v2/users
POST /api/v2/users/create_many

Accepts an array of up to 100 user objects. **Note**: To protect the data in your Zendesk account, bulk user imports are not enabled by default in Zendesk accounts. The account owner must contact [Zendesk Customer Support](https://support.zendesk.com/hc/en-us/articles/4408843597850) to enable the imports. A 403 Forbidden error is returned if data imports are not enabled. #### Allowed For * Admins and [agents in custom roles with permission](https://support.zendesk.com/hc/en-us/articles/4408882153882#topic_cxn_hig_bd) to manage end users or team members #### Specifying an organization You can assign a user to an existing organization by setting an `organization_id` property in the user object. #### Response This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#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](/api-reference/introduction/rate-limits/#job-limit) for more information.

operationId: Users_createManyUsers

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UsersRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/UsersCreateManyRequestExample"
        }
      }
    }
  },
  "required": true
}

Responses

200 Success response
POST /api/v2/users/create_many
POST /api/v2/users/create_or_update

Creates a user if the user does not already exist, or updates an existing user identified by e-mail address or external ID. If you don't specify a role parameter, the new user is assigned the role of end user. If you need to create users without sending out a verification email, include a `"skip_verify_email": true` property in the body. #### External ID Case Sensitivity When providing an external id to identify an existing user to update, the search for the user record is not case sensitive. However, if an existing user is found, the system will update the user's external id to match the case of the external id used to find the user. #### Response Status Code - If the user exists in Zendesk, a successful request returns a 200 status code with "Location: /api/v2/users/{user_id}.json". - If the user does not exist in Zendesk, a successful request returns a 201 status code with "Location: /api/v2/users/{new_user_id}.json". #### Allowed For * Admins and [agents in custom roles with permission](https://support.zendesk.com/hc/en-us/articles/4408882153882#topic_cxn_hig_bd) to manage end users or team members

operationId: Users_createOrUpdateUser

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UserRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/UserRequestExample"
        }
      }
    }
  },
  "required": true
}

Responses

200 Successful response, when user exits
201 Created response, when user is new
POST /api/v2/users/create_or_update
POST /api/v2/users/create_or_update_many

Accepts an array of up to 100 user objects. For each user, the user is created if it does not already exist, or the existing user is updated. **Note**: To protect the data in your Zendesk account, bulk user imports are not enabled by default in Zendesk accounts. The account owner must contact [Zendesk Customer Support](https://support.zendesk.com/hc/en-us/articles/4408843597850) to enable the imports. A 403 Forbidden error is returned if data imports are not enabled. Each individual user object can identify an existing user by `email` or by `external_id`. This endpoint returns a `job_status` [JSON object](/api-reference/ticketing/ticket-management/job_statuses/#json-format) and queues a background job to do the work. Use the [Show Job Status](/api-reference/ticketing/ticket-management/job_statuses/#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](/api-reference/introduction/rate-limits/#job-limit) for more information. #### Allowed For * Admins and [agents in custom roles with permission](https://support.zendesk.com/hc/en-us/articles/4408882153882#topic_cxn_hig_bd) to manage end users or team members

operationId: Users_createOrUpdateMany

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UsersRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/UsersRequestExample"
        }
      }
    }
  },
  "required": true
}

Responses

200 Success response
POST /api/v2/users/create_or_update_many
POST /api/v2/users/logout_many

Accepts a comma-separated list of up to 100 user ids. #### Allowed For: * Admins

operationId: Users_logoutManyUsers

Parameters

Name In Required Type Description
ids query optional string Accepts a comma-separated list of up to 100 user ids.

Responses

202 Accepted response
POST /api/v2/users/logout_many
POST /api/v2/users/request_create

Sends the owner a reminder email to update their subscription so more agents can be created. #### Allowed For * Agents

operationId: Users_requestCreateReminder

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UserRequest"
      },
      "examples": {
        "default": {
          "$ref": "#/components/examples/RequestUserCreateRequestExample"
        }
      }
    }
  },
  "required": true
}

Responses

200 description
POST /api/v2/users/request_create

Views 3 endpoints

POST /api/v2/views

#### Allowed For * Agents #### JSON Format The JSON format consists of one property, a `view` object that lists the values to set when the view is created. **Note**: The request must include at least one condition in the `all` array that checks one of the following fields: `status`, `type`, `group_id`, `assignee_id`, or `requester_id`. | Name | Description | ----------- | ----------- | title | Required. The title of the view | all | Required. An array of one or more conditions. A ticket must meet all of them to be included in the view. See [Conditions reference](https://developer.zendesk.com) | any | An array of one or more conditions. A ticket must meet any of them to be included in the view. See [Conditions reference](https://developer.zendesk.com) | description | The description of the view | active | Allowed values are true or false. Determines if the view is displayed or not | output | An object that specifies the columns to display. Example: `"output": {"columns": ["status", "description", "priority"]}`. See [View columns](https://developer.zendesk.com) | restriction | An object that describes who can access the view. To give all agents access to the view, omit this property The `restriction` object has the following properties. | Name | Comment | ---- | ------- | type | Allowed values are "Group" or "User" | id | The numeric ID of a single group or user | ids | The numeric IDs of a single or more groups. Recommended for "Group" `type` If `type` is "Group", the `ids` property is the preferred method of specifying the group id or ids. #### Example Request Body ```js { "view": { "title": "Kelly's tickets", "raw_title": "{{dc.tickets_assigned_to_kelly}}", "description": "Tickets that are assigned to Kelly", "active": true, "position": 3, "restriction": { "type": "User", "id": "213977756" }, "all": [ { "field": "status", "operator": "less_than", "value": "solved" }, { "field": "group_id", "operator": "is", "value": "24000932" }, { "field": "custom_fields_360011872073", "operator": "is", "value": "Canada" }, ... ], "output": { "columns": ["status", "requester", "assignee"], "group_by": "assignee", "group_order": "desc", "sort_by": "status", "sort_order": "desc" } } } ``` #### View columns The `output` request parameter lets you specify what columns to include in the view in the agent interface. Example: `"output": {"columns": ["status", "description", "priority"]}`. The following table lists possible columns for views in the agent UI and the corresponding values in the `columns` array. For custom fields, specify the id of the custom field in the `columns` array. You can specify a total of 10 columns to a view. | View column title in UI | Value | |---------------------------- | -------------------- | | Assigned | `assigned` | | Assignee | `assignee` | | Due Date | `due_date` | | Group | `group` | | ID | `nice_id` | | Updated | `updated` | | Assignee updated | `updated_assignee` | | Requester updated | `updated_requester` | | Updater | `updated_by_type` | | Organization | `organization` | | Priority | `priority` | | Requested | `created` | | Requester | `requester` | | Requester language | `locale_id` | | Satisfaction | `satisfaction_score` | | Solved | `solved` | | Status category | `status` | | Subject | `description` | | Submitter | `submitter` | | Ticket form | `ticket_form` | | Type | `type` | | Brand | `brand` | | Ticket status | `custom_status_id` | #### View sorting You can group and sort items in the view by adding items to the `output` parameter: | Attribute | Description |-----------------------------| ----------- | `group_by`, `sort_by` | Sort or group the tickets by a column in the [View columns](https://developer.zendesk.com) table. The `subject` and `submitter` columns are not supported | `group_order`, `sort_order` | Either "asc" or "desc"

operationId: Views_createNewView

Responses

200 Success response
POST /api/v2/views
POST /api/v2/views/preview

You can preview views by constructing the conditions in the proper format and nesting them under the `view` property. See [Conditions reference](https://developer.zendesk.com). The output can also be controlled by passing in any of the following parameters and nesting them under the `output` property. | Name | Type | Comment | --------------- | ------- | ------- | columns | Array | The ticket fields to display. System fields are looked up by name, custom fields by title or id. See the [View columns](https://developer.zendesk.com) table | group_by | String | When present, the field by which the tickets are grouped | group_order | String | The direction the tickets are grouped. May be one of "asc" or "desc" | sort_order | String | The direction the tickets are sorted. May be one of "asc" or "desc" | sort_by | String | The ticket field used for sorting. This will either be a title or a custom field id. This endpoint is rate limited to 5 requests per minute, per view, per agent. #### Allowed For * Agents

operationId: Views_previewCreate

Responses

200 Success response
POST /api/v2/views/preview
POST /api/v2/views/preview/count

Returns the ticket count for a single preview. #### Allowed For * Agents

operationId: Views_getTicketCount

Responses

200 Success response
POST /api/v2/views/preview/count

Workspaces 1 endpoints

POST /api/v2/workspaces

#### Allowed For * Admins

operationId: Workspaces_createNew

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/WorkspacesCreateNewRequest"
      },
      "examples": {
        "default": {
          "value": {
            "workspace": {
              "title": "Test Workspace 1",
              "macros": [
                360005374974
              ],
              "conditions": {
                "all": [
                  {
                    "field": "ticket_form_id",
                    "value": "360000014173",
                    "operator": "is"
                  }
                ],
                "any": []
              },
              "description": "Test rules",
              "ticket_form_id": 360000014173
            }
          }
        }
      }
    }
  }
}

Responses

201 Created workspace
POST /api/v2/workspaces

X channel 1 endpoints

POST /api/v2/channels/twitter/tickets

Turns a tweet into a ticket. You must provide the tweet id as well as the id of a monitored X (formerly Twitter) handle configured for your account. The submitter of the ticket is set to be the user submitting the API request. #### Allowed For * Agents

operationId: XChannel_tweetToTicket

Responses

201 description
POST /api/v2/channels/twitter/tickets

Schemas

object AccountSettingsActiveFeaturesObject
{
  "type": "object",
  "properties": {
    "chat": {
      "type": "boolean"
    },
    "voice": {
      "type": "boolean"
    },
    "explore": {
      "type": "boolean"
    },
    "sandbox": {
      "type": "boolean"
    },
    "twitter": {
      "type": "boolean"
    },
    "facebook": {
      "type": "boolean"
    },
    "insights": {
      "type": "boolean"
    },
    "markdown": {
      "type": "boolean"
    },
    "allow_ccs": {
      "type": "boolean"
    },
    "is_abusive": {
      "type": "boolean"
    },
    "google_login": {
      "type": "boolean"
    },
    "light_agents": {
      "type": "boolean"
    },
    "ticket_forms": {
      "type": "boolean"
    },
    "user_tagging": {
      "type": "boolean"
    },
    "bcc_archiving": {
      "type": "boolean"
    },
    "twitter_login": {
      "type": "boolean"
    },
    "business_hours": {
      "type": "boolean"
    },
    "facebook_login": {
      "type": "boolean"
    },
    "on_hold_status": {
      "type": "boolean"
    },
    "ticket_tagging": {
      "type": "boolean"
    },
    "forum_analytics": {
      "type": "boolean"
    },
    "user_org_fields": {
      "type": "boolean"
    },
    "agent_forwarding": {
      "type": "boolean"
    },
    "csat_reason_code": {
      "type": "boolean"
    },
    "dynamic_contents": {
      "type": "boolean"
    },
    "topic_suggestion": {
      "type": "boolean"
    },
    "automatic_answers": {
      "type": "boolean"
    },
    "benchmark_opt_out": {
      "type": "boolean"
    },
    "fallback_composer": {
      "type": "boolean"
    },
    "advanced_analytics": {
      "type": "boolean"
    },
    "custom_dkim_domain": {
      "type": "boolean"
    },
    "chat_about_my_ticket": {
      "type": "boolean"
    },
    "customer_satisfaction": {
      "type": "boolean"
    },
    "good_data_and_explore": {
      "type": "boolean"
    },
    "rich_content_in_emails": {
      "type": "boolean"
    },
    "satisfaction_prediction": {
      "type": "boolean"
    },
    "customer_context_as_default": {
      "type": "boolean"
    },
    "explore_on_support_ent_plan": {
      "type": "boolean"
    },
    "explore_on_support_pro_plan": {
      "type": "boolean"
    },
    "organization_access_enabled": {
      "type": "boolean"
    },
    "suspended_ticket_notification": {
      "type": "boolean"
    },
    "allow_email_template_customization": {
      "type": "boolean"
    }
  },
  "description": "The active features for an account. See [Active Features](https://developer.zendesk.com)"
}
object AccountSettingsAgentObject
{
  "type": "object",
  "properties": {
    "agent_home": {
      "type": "boolean"
    },
    "focus_mode": {
      "type": "boolean"
    },
    "agent_workspace": {
      "type": "boolean"
    },
    "idle_timeout_enabled": {
      "type": "boolean"
    },
    "unified_agent_statuses": {
      "type": "boolean"
    },
    "aw_self_serve_migration_enabled": {
      "type": "boolean"
    }
  },
  "description": "Configuration for the agent workspace. See [Agents](https://developer.zendesk.com)"
}
object AccountSettingsApiObject
{
  "type": "object",
  "properties": {
    "api_token_access": {
      "type": "string"
    },
    "api_password_access": {
      "type": "string"
    },
    "accepted_api_agreement": {
      "type": "boolean"
    }
  },
  "description": "API configuration options. See [API](https://developer.zendesk.com)"
}
object AccountSettingsAppsObject
{
  "type": "object",
  "properties": {
    "use": {
      "type": "boolean"
    },
    "create_public": {
      "type": "boolean"
    },
    "create_private": {
      "type": "boolean"
    }
  },
  "description": "Apps configuration options. See [Apps](https://developer.zendesk.com)"
}
object AccountSettingsBillingObject
{
  "type": "object",
  "properties": {
    "backend": {
      "type": "string"
    }
  },
  "description": "Billing configuration options. See [Billing](https://developer.zendesk.com)"
}
object AccountSettingsBrandingObject
{
  "type": "object",
  "properties": {
    "text_color": {
      "type": "string"
    },
    "favicon_url": {
      "type": "string",
      "nullable": true
    },
    "header_color": {
      "type": "string"
    },
    "header_logo_url": {
      "type": "string",
      "nullable": true
    },
    "tab_background_color": {
      "type": "string"
    },
    "page_background_color": {
      "type": "string"
    }
  },
  "description": "Branding settings. See [Branding](https://developer.zendesk.com)"
}
object AccountSettingsBrandsObject
{
  "type": "object",
  "properties": {
    "default_brand_id": {
      "type": "integer"
    },
    "require_brand_on_new_tickets": {
      "type": "boolean"
    }
  },
  "description": "Brand settings. See [Brands](https://developer.zendesk.com)"
}
object AccountSettingsCdnObject
{
  "type": "object",
  "properties": {
    "hosts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      }
    },
    "cdn_provider": {
      "type": "string"
    },
    "fallback_cdn_provider": {
      "type": "string"
    }
  },
  "description": "CDN settings"
}
object AccountSettingsChatObject
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "available": {
      "type": "boolean"
    },
    "integrated": {
      "type": "boolean"
    },
    "welcome_message": {
      "type": "string"
    },
    "maximum_request_count": {
      "type": "integer"
    }
  },
  "description": "Zendesk Chat settings. See [Chat](https://developer.zendesk.com)"
}
object AccountSettingsCrossSellObject
{
  "type": "object",
  "properties": {
    "xsell_source": {
      "type": "string",
      "nullable": true
    },
    "show_chat_tooltip": {
      "type": "boolean"
    }
  },
  "description": "Cross Sell settings"
}
object AccountSettingsGooddataAdvancedAnalyticsObject
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    }
  },
  "description": "GoodData settings, used for insights. Legacy configuration prior to Zendesk Explore. See [GoodData Advanced Analytics](https://developer.zendesk.com)"
}
object AccountSettingsGoogleAppsObject
{
  "type": "object",
  "properties": {
    "has_google_apps": {
      "type": "boolean"
    },
    "has_google_apps_admin": {
      "type": "boolean"
    }
  },
  "description": "Google Apps configuration. See [G Suite](https://developer.zendesk.com)"
}
object AccountSettingsGroupObject
{
  "type": "object",
  "properties": {
    "check_group_name_uniqueness": {
      "type": "boolean"
    }
  },
  "description": "Group configuration"
}
object AccountSettingsLimitsObject
{
  "type": "object",
  "properties": {
    "attachment_size": {
      "type": "integer"
    }
  },
  "description": "Account limits configuration. See [Limits](https://developer.zendesk.com)"
}
object AccountSettingsLocalizationObject
{
  "type": "object",
  "properties": {
    "locale_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  },
  "description": "Internationalization configuration settings. See [Localization](https://developer.zendesk.com)"
}
object AccountSettingsLotusObject
{
  "type": "object",
  "properties": {
    "pod_id": {
      "type": "integer"
    },
    "reporting": {
      "type": "boolean"
    },
    "prefer_lotus": {
      "type": "boolean"
    }
  },
  "description": "Support UI settings. See [Lotus](https://developer.zendesk.com)"
}
object AccountSettingsMetricsObject
{
  "type": "object",
  "properties": {
    "account_size": {
      "type": "string"
    }
  },
  "description": "Account metrics settings. See [Metrics](https://developer.zendesk.com)"
}
object AccountSettingsObject
{
  "type": "object",
  "example": {
    "api": {
      "api_token_access": "true",
      "api_password_access": "true",
      "accepted_api_agreement": true
    },
    "cdn": {
      "hosts": [
        {
          "url": "https://p18.zdassets.com",
          "name": "default"
        },
        {
          "url": "https://d2y9oszrd3dhjh.cloudfront.net",
          "name": "cloudfront"
        }
      ],
      "cdn_provider": "default",
      "fallback_cdn_provider": "cloudfront"
    },
    "apps": {
      "use": true,
      "create_public": false,
      "create_private": true
    },
    "chat": {
      "enabled": false,
      "available": true,
      "integrated": true,
      "welcome_message": "Hi there. How can I help today?",
      "maximum_request_count": 1
    },
    "rule": {
      "macro_order": "alphabetical",
      "macro_most_used": true,
      "using_skill_based_routing": false,
      "skill_based_filtered_views": []
    },
    "user": {
      "tagging": true,
      "language_selection": true,
      "time_zone_selection": true,
      "have_gravatars_enabled": true,
      "multiple_organizations": false,
      "agent_created_welcome_emails": true,
      "end_user_phone_number_validation": false
    },
    "lotus": {
      "pod_id": 999,
      "reporting": true,
      "prefer_lotus": true
    },
    "voice": {
      "enabled": true,
      "logging": true,
      "outbound_enabled": true,
      "recordings_public": true,
      "maximum_queue_size": 5,
      "uk_mobile_forwarding": true,
      "maximum_queue_wait_time": 1,
      "agent_wrap_up_after_calls": true,
      "only_during_business_hours": false,
      "agent_confirmation_when_forwarding": true
    },
    "agents": {
      "agent_home": false,
      "focus_mode": false,
      "agent_workspace": false,
      "idle_timeout_enabled": false,
      "unified_agent_statuses": false,
      "aw_self_serve_migration_enabled": true
    },
    "brands": {
      "default_brand_id": 1873,
      "require_brand_on_new_tickets": false
    },
    "groups": {
      "check_group_name_uniqueness": true
    },
    "limits": {
      "attachment_size": 52428800
    },
    "billing": {
      "backend": "zuora"
    },
    "metrics": {
      "account_size": "100-399"
    },
    "routing": {
      "enabled": false,
      "autorouting_tag": "",
      "max_email_capacity": 0,
      "max_messaging_capacity": 0,
      "reassignment_talk_timeout": 30,
      "reassignment_messaging_enabled": true,
      "reassignment_messaging_timeout": 30
    },
    "tickets": {
      "tagging": true,
      "status_hold": false,
      "collaboration": true,
      "has_color_text": true,
      "agent_collision": true,
      "list_empty_views": true,
      "allow_group_reset": true,
      "email_attachments": false,
      "rich_text_comments": true,
      "chat_sla_enablement": false,
      "private_attachments": false,
      "emoji_autocompletion": true,
      "agent_ticket_deletion": false,
      "agent_invitation_enabled": true,
      "auto_translation_enabled": false,
      "markdown_ticket_comments": false,
      "assign_tickets_upon_solve": true,
      "using_skill_based_routing": false,
      "comments_public_by_default": true,
      "list_newest_comments_first": true,
      "assign_default_organization": true,
      "light_agent_email_ccs_allowed": false,
      "accepted_new_collaboration_tos": false,
      "maximum_personal_views_to_list": 8,
      "auto_updated_ccs_followers_rules": false,
      "is_first_comment_private_enabled": true,
      "follower_and_email_cc_collaborations": false
    },
    "twitter": {
      "shorten_url": "optional"
    },
    "branding": {
      "text_color": "FFFFFF",
      "favicon_url": null,
      "header_color": "78A300",
      "header_logo_url": null,
      "tab_background_color": "7FA239",
      "page_background_color": "333333"
    },
    "cross_sell": {
      "xsell_source": null,
      "show_chat_tooltip": true
    },
    "onboarding": {
      "product_sign_up": null,
      "onboarding_segments": null,
      "checklist_onboarding_version": 2
    },
    "statistics": {
      "forum": true,
      "search": true,
      "rule_usage": true
    },
    "google_apps": {
      "has_google_apps": false,
      "has_google_apps_admin": false
    },
    "ticket_form": {
      "ticket_forms_instructions": "Please choose your issue below",
      "raw_ticket_forms_instructions": "Please choose your issue below"
    },
    "localization": {
      "locale_ids": [
        1042
      ]
    },
    "active_features": {
      "chat": false,
      "voice": true,
      "explore": true,
      "sandbox": false,
      "twitter": true,
      "facebook": false,
      "insights": false,
      "markdown": false,
      "allow_ccs": true,
      "is_abusive": false,
      "google_login": false,
      "light_agents": false,
      "ticket_forms": true,
      "user_tagging": true,
      "bcc_archiving": false,
      "twitter_login": false,
      "business_hours": false,
      "facebook_login": false,
      "on_hold_status": false,
      "ticket_tagging": true,
      "forum_analytics": true,
      "user_org_fields": true,
      "agent_forwarding": false,
      "csat_reason_code": false,
      "dynamic_contents": false,
      "topic_suggestion": false,
      "automatic_answers": false,
      "benchmark_opt_out": false,
      "fallback_composer": false,
      "advanced_analytics": false,
      "custom_dkim_domain": true,
      "chat_about_my_ticket": false,
      "customer_satisfaction": false,
      "good_data_and_explore": false,
      "rich_content_in_emails": true,
      "satisfaction_prediction": false,
      "customer_context_as_default": false,
      "explore_on_support_ent_plan": false,
      "explore_on_support_pro_plan": false,
      "organization_access_enabled": true,
      "suspended_ticket_notification": false,
      "allow_email_template_customization": true
    },
    "side_conversations": {
      "email_channel": false,
      "slack_channel": false,
      "msteams_channel": false,
      "tickets_channel": false,
      "show_in_context_panel": false
    },
    "ticket_sharing_partners": {
      "support_addresses": [
        "support@grokpetre.zendesk.com"
      ]
    },
    "gooddata_advanced_analytics": {
      "enabled": true
    }
  },
  "properties": {
    "api": {
      "$ref": "#/components/schemas/AccountSettingsApiObject"
    },
    "cdn": {
      "$ref": "#/components/schemas/AccountSettingsCdnObject"
    },
    "apps": {
      "$ref": "#/components/schemas/AccountSettingsAppsObject"
    },
    "chat": {
      "$ref": "#/components/schemas/AccountSettingsChatObject"
    },
    "rule": {
      "$ref": "#/components/schemas/AccountSettingsRuleObject"
    },
    "user": {
      "$ref": "#/components/schemas/AccountSettingsUserObject"
    },
    "lotus": {
      "$ref": "#/components/schemas/AccountSettingsLotusObject"
    },
    "voice": {
      "$ref": "#/components/schemas/AccountSettingsVoiceObject"
    },
    "agents": {
      "$ref": "#/components/schemas/AccountSettingsAgentObject"
    },
    "brands": {
      "$ref": "#/components/schemas/AccountSettingsBrandsObject"
    },
    "groups": {
      "$ref": "#/components/schemas/AccountSettingsGroupObject"
    },
    "limits": {
      "$ref": "#/components/schemas/AccountSettingsLimitsObject"
    },
    "billing": {
      "$ref": "#/components/schemas/AccountSettingsBillingObject"
    },
    "metrics": {
      "$ref": "#/components/schemas/AccountSettingsMetricsObject"
    },
    "routing": {
      "$ref": "#/components/schemas/AccountSettingsRoutingObject"
    },
    "tickets": {
      "$ref": "#/components/schemas/AccountSettingsTicketObject"
    },
    "twitter": {
      "$ref": "#/components/schemas/AccountSettingsTwitterObject"
    },
    "branding": {
      "$ref": "#/components/schemas/AccountSettingsBrandingObject"
    },
    "cross_sell": {
      "$ref": "#/components/schemas/AccountSettingsCrossSellObject"
    },
    "onboarding": {
      "$ref": "#/components/schemas/AccountSettingsOnboardingObject"
    },
    "statistics": {
      "$ref": "#/components/schemas/AccountSettingsStatisticsObject"
    },
    "google_apps": {
      "$ref": "#/components/schemas/AccountSettingsGoogleAppsObject"
    },
    "ticket_form": {
      "$ref": "#/components/schemas/AccountSettingsTicketFormObject"
    },
    "localization": {
      "$ref": "#/components/schemas/AccountSettingsLocalizationObject"
    },
    "active_features": {
      "$ref": "#/components/schemas/AccountSettingsActiveFeaturesObject"
    },
    "side_conversations": {
      "$ref": "#/components/schemas/AccountSettingsSideConversationsObject"
    },
    "ticket_sharing_partners": {
      "$ref": "#/components/schemas/AccountSettingsTicketSharingPartnersObject"
    },
    "gooddata_advanced_analytics": {
      "$ref": "#/components/schemas/AccountSettingsGooddataAdvancedAnalyticsObject"
    }
  }
}
object AccountSettingsOnboardingObject
{
  "type": "object",
  "properties": {
    "product_sign_up": {
      "type": "string",
      "nullable": true
    },
    "onboarding_segments": {
      "type": "string",
      "nullable": true
    },
    "checklist_onboarding_version": {
      "type": "integer"
    }
  },
  "description": "Onboarding settings"
}
object AccountSettingsResponse
{
  "type": "object",
  "example": {
    "settings": {
      "api": {
        "api_token_access": "true",
        "api_password_access": "true",
        "accepted_api_agreement": true
      },
      "cdn": {
        "hosts": [
          {
            "url": "https://p18.zdassets.com",
            "name": "default"
          },
          {
            "url": "https://d2y9oszrd3dhjh.cloudfront.net",
            "name": "cloudfront"
          }
        ],
        "cdn_provider": "default",
        "fallback_cdn_provider": "cloudfront"
      },
      "apps": {
        "use": true,
        "create_public": false,
        "create_private": true
      },
      "chat": {
        "enabled": false,
        "available": true,
        "integrated": true,
        "welcome_message": "Hi there. How can I help today?",
        "maximum_request_count": 1
      },
      "rule": {
        "macro_order": "alphabetical",
        "macro_most_used": true,
        "using_skill_based_routing": false,
        "skill_based_filtered_views": []
      },
      "user": {
        "tagging": true,
        "language_selection": true,
        "time_zone_selection": true,
        "have_gravatars_enabled": true,
        "multiple_organizations": false,
        "agent_created_welcome_emails": true,
        "end_user_phone_number_validation": false
      },
      "lotus": {
        "pod_id": 999,
        "reporting": true,
        "prefer_lotus": true
      },
      "voice": {
        "enabled": true,
        "logging": true,
        "outbound_enabled": true,
        "recordings_public": true,
        "maximum_queue_size": 5,
        "uk_mobile_forwarding": true,
        "maximum_queue_wait_time": 1,
        "agent_wrap_up_after_calls": true,
        "only_during_business_hours": false,
        "agent_confirmation_when_forwarding": true
      },
      "agents": {
        "agent_home": false,
        "focus_mode": false,
        "agent_workspace": false,
        "idle_timeout_enabled": false,
        "unified_agent_statuses": false,
        "aw_self_serve_migration_enabled": true
      },
      "brands": {
        "default_brand_id": 1873,
        "require_brand_on_new_tickets": false
      },
      "groups": {
        "check_group_name_uniqueness": true
      },
      "limits": {
        "attachment_size": 52428800
      },
      "billing": {
        "backend": "zuora"
      },
      "metrics": {
        "account_size": "100-399"
      },
      "routing": {
        "enabled": false,
        "autorouting_tag": "",
        "max_email_capacity": 0,
        "max_messaging_capacity": 0
      },
      "tickets": {
        "tagging": true,
        "status_hold": false,
        "collaboration": true,
        "has_color_text": true,
        "agent_collision": true,
        "list_empty_views": true,
        "allow_group_reset": true,
        "email_attachments": false,
        "rich_text_comments": true,
        "chat_sla_enablement": false,
        "private_attachments": false,
        "emoji_autocompletion": true,
        "agent_ticket_deletion": false,
        "agent_invitation_enabled": true,
        "auto_translation_enabled": false,
        "markdown_ticket_comments": false,
        "assign_tickets_upon_solve": true,
        "using_skill_based_routing": false,
        "comments_public_by_default": true,
        "list_newest_comments_first": true,
        "assign_default_organization": true,
        "light_agent_email_ccs_allowed": false,
        "accepted_new_collaboration_tos": false,
        "maximum_personal_views_to_list": 8,
        "auto_updated_ccs_followers_rules": false,
        "is_first_comment_private_enabled": true,
        "follower_and_email_cc_collaborations": false
      },
      "twitter": {
        "shorten_url": "optional"
      },
      "branding": {
        "text_color": "FFFFFF",
        "favicon_url": null,
        "header_color": "78A300",
        "header_logo_url": null,
        "tab_background_color": "7FA239",
        "page_background_color": "333333"
      },
      "cross_sell": {
        "xsell_source": null,
        "show_chat_tooltip": true
      },
      "onboarding": {
        "product_sign_up": null,
        "onboarding_segments": null,
        "checklist_onboarding_version": 2
      },
      "statistics": {
        "forum": true,
        "search": true,
        "rule_usage": true
      },
      "google_apps": {
        "has_google_apps": false,
        "has_google_apps_admin": false
      },
      "ticket_form": {
        "ticket_forms_instructions": "Please choose your issue below",
        "raw_ticket_forms_instructions": "Please choose your issue below"
      },
      "localization": {
        "locale_ids": [
          1042
        ]
      },
      "active_features": {
        "chat": false,
        "voice": true,
        "explore": true,
        "sandbox": false,
        "twitter": true,
        "facebook": false,
        "insights": false,
        "markdown": false,
        "allow_ccs": true,
        "is_abusive": false,
        "google_login": false,
        "light_agents": false,
        "ticket_forms": true,
        "user_tagging": true,
        "bcc_archiving": false,
        "twitter_login": false,
        "business_hours": false,
        "facebook_login": false,
        "on_hold_status": false,
        "ticket_tagging": true,
        "forum_analytics": true,
        "user_org_fields": true,
        "agent_forwarding": false,
        "csat_reason_code": false,
        "dynamic_contents": false,
        "topic_suggestion": false,
        "automatic_answers": false,
        "benchmark_opt_out": false,
        "fallback_composer": false,
        "advanced_analytics": false,
        "custom_dkim_domain": true,
        "chat_about_my_ticket": false,
        "customer_satisfaction": false,
        "good_data_and_explore": false,
        "rich_content_in_emails": true,
        "satisfaction_prediction": false,
        "customer_context_as_default": false,
        "explore_on_support_ent_plan": false,
        "explore_on_support_pro_plan": false,
        "organization_access_enabled": true,
        "suspended_ticket_notification": false,
        "allow_email_template_customization": true
      },
      "side_conversations": {
        "email_channel": false,
        "slack_channel": false,
        "msteams_channel": false,
        "tickets_channel": false,
        "show_in_context_panel": false
      },
      "ticket_sharing_partners": {
        "support_addresses": [
          "support@grokpetre.zendesk.com"
        ]
      },
      "gooddata_advanced_analytics": {
        "enabled": true
      }
    }
  },
  "properties": {
    "settings": {
      "$ref": "#/components/schemas/AccountSettingsObject"
    }
  }
}
object AccountSettingsRoutingObject
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "autorouting_tag": {
      "type": "string"
    },
    "max_email_capacity": {
      "type": "integer"
    },
    "max_messaging_capacity": {
      "type": "integer"
    },
    "reassignment_talk_timeout": {
      "type": "integer"
    },
    "reassignment_messaging_enabled": {
      "type": "boolean"
    },
    "reassignment_messaging_timeout": {
      "type": "integer"
    }
  },
  "description": "Configuration for routing. See [Routing](https://developer.zendesk.com)"
}
object AccountSettingsRuleObject
{
  "type": "object",
  "properties": {
    "macro_order": {
      "type": "string"
    },
    "macro_most_used": {
      "type": "boolean"
    },
    "using_skill_based_routing": {
      "type": "boolean"
    },
    "skill_based_filtered_views": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    }
  },
  "description": "Rules settings for triggers, macros, views, and automations. See [Rules](https://developer.zendesk.com)"
}
object AccountSettingsSideConversationsObject
{
  "type": "object",
  "properties": {
    "email_channel": {
      "type": "boolean"
    },
    "slack_channel": {
      "type": "boolean"
    },
    "msteams_channel": {
      "type": "boolean"
    },
    "tickets_channel": {
      "type": "boolean"
    },
    "show_in_context_panel": {
      "type": "boolean"
    }
  },
  "description": "Side conversations settings"
}
object AccountSettingsStatisticsObject
{
  "type": "object",
  "properties": {
    "forum": {
      "type": "boolean"
    },
    "search": {
      "type": "boolean"
    },
    "rule_usage": {
      "type": "boolean"
    }
  },
  "description": "Account statistics settings. See [Statistics](https://developer.zendesk.com)"
}
object AccountSettingsTicketFormObject
{
  "type": "object",
  "properties": {
    "ticket_forms_instructions": {
      "type": "string"
    },
    "raw_ticket_forms_instructions": {
      "type": "string"
    }
  },
  "description": "Ticket form settings. See [Ticket Form](https://developer.zendesk.com)"
}
object AccountSettingsTicketObject
{
  "type": "object",
  "properties": {
    "tagging": {
      "type": "boolean"
    },
    "status_hold": {
      "type": "boolean"
    },
    "collaboration": {
      "type": "boolean"
    },
    "has_color_text": {
      "type": "boolean"
    },
    "agent_collision": {
      "type": "boolean"
    },
    "list_empty_views": {
      "type": "boolean"
    },
    "allow_group_reset": {
      "type": "boolean"
    },
    "email_attachments": {
      "type": "boolean"
    },
    "rich_text_comments": {
      "type": "boolean"
    },
    "chat_sla_enablement": {
      "type": "boolean"
    },
    "private_attachments": {
      "type": "boolean"
    },
    "emoji_autocompletion": {
      "type": "boolean"
    },
    "agent_ticket_deletion": {
      "type": "boolean"
    },
    "agent_invitation_enabled": {
      "type": "boolean"
    },
    "auto_translation_enabled": {
      "type": "boolean"
    },
    "markdown_ticket_comments": {
      "type": "boolean"
    },
    "assign_tickets_upon_solve": {
      "type": "boolean"
    },
    "using_skill_based_routing": {
      "type": "boolean"
    },
    "comments_public_by_default": {
      "type": "boolean"
    },
    "list_newest_comments_first": {
      "type": "boolean"
    },
    "assign_default_organization": {
      "type": "boolean"
    },
    "light_agent_email_ccs_allowed": {
      "type": "boolean"
    },
    "accepted_new_collaboration_tos": {
      "type": "boolean"
    },
    "maximum_personal_views_to_list": {
      "type": "integer"
    },
    "auto_updated_ccs_followers_rules": {
      "type": "boolean"
    },
    "is_first_comment_private_enabled": {
      "type": "boolean"
    },
    "follower_and_email_cc_collaborations": {
      "type": "boolean"
    }
  },
  "description": "Ticket settings. See [Tickets](https://developer.zendesk.com)"
}
object AccountSettingsTicketSharingPartnersObject
{
  "type": "object",
  "properties": {
    "support_addresses": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "Ticket sharing partners settings. See [Ticket Sharing Partners](https://developer.zendesk.com)"
}
object AccountSettingsTwitterObject
{
  "type": "object",
  "properties": {
    "shorten_url": {
      "type": "string"
    }
  },
  "description": "X (formerly Twitter) settings. See [X](https://developer.zendesk.com)"
}
object AccountSettingsUserObject
{
  "type": "object",
  "properties": {
    "tagging": {
      "type": "boolean"
    },
    "language_selection": {
      "type": "boolean"
    },
    "time_zone_selection": {
      "type": "boolean"
    },
    "have_gravatars_enabled": {
      "type": "boolean"
    },
    "multiple_organizations": {
      "type": "boolean"
    },
    "agent_created_welcome_emails": {
      "type": "boolean"
    },
    "end_user_phone_number_validation": {
      "type": "boolean"
    }
  },
  "description": "User settings. See [Users](https://developer.zendesk.com)"
}
object AccountSettingsVoiceObject
{
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "logging": {
      "type": "boolean"
    },
    "outbound_enabled": {
      "type": "boolean"
    },
    "recordings_public": {
      "type": "boolean"
    },
    "maximum_queue_size": {
      "type": "integer"
    },
    "uk_mobile_forwarding": {
      "type": "boolean"
    },
    "maximum_queue_wait_time": {
      "type": "integer"
    },
    "agent_wrap_up_after_calls": {
      "type": "boolean"
    },
    "only_during_business_hours": {
      "type": "boolean"
    },
    "agent_confirmation_when_forwarding": {
      "type": "boolean"
    }
  },
  "description": "Zendesk Talk settings. See [Voice](https://developer.zendesk.com)"
}
object ActionObject
{
  "type": "object",
  "properties": {
    "field": {
      "type": "string",
      "description": "The name of a ticket field to modify"
    },
    "value": {
      "type": "string",
      "description": "The new value of the field"
    }
  }
}
object ActionsObject
{
  "type": "object",
  "properties": {
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActionObject"
      }
    }
  }
}
object ActivitiesCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}
object ActivitiesResponse
{
  "type": "object",
  "example": {
    "count": 1,
    "users": [
      {
        "id": 3343,
        "url": "https://example.zendesk.com/api/v2/users/3343.json",
        "name": "Samwise Gamgee",
        "role": "admin",
        "tags": [
          "101"
        ],
        "alias": "test",
        "email": "user@zendesk.com",
        "notes": "test",
        "phone": null,
        "photo": {
          "id": 8730791,
          "url": "https://example.zendesk.com/api/v2/attachments/8730791.json",
          "size": 4566,
          "width": 80,
          "height": 80,
          "inline": false,
          "deleted": false,
          "file_name": "1f84950b8d7949b3.gif",
          "thumbnails": [
            {
              "id": 8730801,
              "url": "https://example.zendesk.com/api/v2/attachments/8730801.json",
              "size": 1517,
              "width": 32,
              "height": 32,
              "inline": false,
              "deleted": false,
              "file_name": "1f84950b8d7949b3_thumb.gif",
              "content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif",
              "content_type": "image/gif",
              "mapped_content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif"
            }
          ],
          "content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif",
          "content_type": "image/gif",
          "mapped_content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif"
        },
        "active": true,
        "locale": "en-gb",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 5,
        "moderator": true,
        "role_type": null,
        "signature": "test",
        "suspended": false,
        "time_zone": "American Samoa",
        "created_at": "2017-08-14T20:13:53Z",
        "report_csv": true,
        "updated_at": "2020-11-17T00:33:55Z",
        "external_id": "oev7jj",
        "user_fields": {
          "skittles": "2018-09-14T00:00:00+00:00",
          "user_field_1": "101",
          "its_remember_september": null
        },
        "shared_agent": false,
        "last_login_at": "2020-11-16T22:57:45Z",
        "custom_role_id": null,
        "iana_time_zone": "Pacific/Pago_Pago",
        "organization_id": 1873,
        "default_group_id": 1873,
        "restricted_agent": false,
        "ticket_restriction": null,
        "shared_phone_number": null,
        "only_private_comments": false,
        "two_factor_auth_enabled": null
      }
    ],
    "actors": [
      {
        "id": 158488612,
        "url": "https://example.zendesk.com/api/v2/users/158488612.json",
        "name": "Tedd",
        "role": "admin",
        "tags": [],
        "alias": "",
        "email": "cgoddard+ted@zendesk.com",
        "notes": "",
        "phone": null,
        "photo": null,
        "active": true,
        "locale": "en-gb",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 5,
        "moderator": true,
        "role_type": null,
        "signature": "",
        "suspended": false,
        "time_zone": "Alaska",
        "created_at": "2020-11-17T00:32:12Z",
        "report_csv": true,
        "updated_at": "2020-11-17T00:34:38Z",
        "external_id": null,
        "user_fields": {
          "skittles": null,
          "user_field_1": null,
          "its_remember_september": null
        },
        "shared_agent": false,
        "last_login_at": "2020-11-17T00:33:44Z",
        "custom_role_id": null,
        "iana_time_zone": "America/Juneau",
        "organization_id": null,
        "default_group_id": 1873,
        "restricted_agent": false,
        "ticket_restriction": null,
        "shared_phone_number": null,
        "only_private_comments": false,
        "two_factor_auth_enabled": null
      }
    ],
    "next_page": null,
    "activities": [
      {
        "id": 29183462,
        "url": "https://example.zendesk.com/api/v2/activities/29183462.json",
        "user": {
          "id": 3343,
          "url": "https://example.zendesk.com/api/v2/users/3343.json",
          "name": "Samwise Gamgee",
          "role": "admin",
          "tags": [
            "101"
          ],
          "alias": "test",
          "email": "user@zendesk.com",
          "notes": "test",
          "phone": null,
          "photo": {
            "id": 8730791,
            "url": "https://example.zendesk.com/api/v2/attachments/8730791.json",
            "size": 4566,
            "width": 80,
            "height": 80,
            "inline": false,
            "deleted": false,
            "file_name": "1f84950b8d7949b3.gif",
            "thumbnails": [
              {
                "id": 8730801,
                "url": "https://example.zendesk.com/api/v2/attachments/8730801.json",
                "size": 1517,
                "width": 32,
                "height": 32,
                "inline": false,
                "deleted": false,
                "file_name": "1f84950b8d7949b3_thumb.gif",
                "content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif",
                "content_type": "image/gif",
                "mapped_content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif"
              }
            ],
            "content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif",
            "content_type": "image/gif",
            "mapped_content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif"
          },
          "active": true,
          "locale": "en-gb",
          "shared": false,
          "details": "",
          "verified": true,
          "locale_id": 5,
          "moderator": true,
          "role_type": null,
          "signature": "test",
          "suspended": false,
          "time_zone": "American Samoa",
          "created_at": "2017-08-14T20:13:53Z",
          "report_csv": true,
          "updated_at": "2020-11-17T00:33:55Z",
          "external_id": "oev7jj",
          "user_fields": {
            "skittles": "2018-09-14T00:00:00+00:00",
            "user_field_1": "101",
            "its_remember_september": null
          },
          "shared_agent": false,
          "last_login_at": "2020-11-16T22:57:45Z",
          "custom_role_id": null,
          "iana_time_zone": "Pacific/Pago_Pago",
          "organization_id": 1873,
          "default_group_id": 1873,
          "restricted_agent": false,
          "ticket_restriction": null,
          "shared_phone_number": null,
          "only_private_comments": false,
          "two_factor_auth_enabled": null
        },
        "verb": "tickets.assignment",
        "actor": {
          "id": 158488612,
          "url": "https://example.zendesk.com/api/v2/users/158488612.json",
          "name": "Tedd",
          "role": "admin",
          "tags": [],
          "alias": "",
          "email": "cgoddard+ted@zendesk.com",
          "notes": "",
          "phone": null,
          "photo": null,
          "active": true,
          "locale": "en-gb",
          "shared": false,
          "details": "",
          "verified": true,
          "locale_id": 5,
          "moderator": true,
          "role_type": null,
          "signature": "",
          "suspended": false,
          "time_zone": "Alaska",
          "created_at": "2020-11-17T00:32:12Z",
          "report_csv": true,
          "updated_at": "2020-11-17T00:34:38Z",
          "external_id": null,
          "user_fields": {
            "skittles": null,
            "user_field_1": null,
            "its_remember_september": null
          },
          "shared_agent": false,
          "last_login_at": "2020-11-17T00:33:44Z",
          "custom_role_id": null,
          "iana_time_zone": "America/Juneau",
          "organization_id": null,
          "default_group_id": 1873,
          "restricted_agent": false,
          "ticket_restriction": null,
          "shared_phone_number": null,
          "only_private_comments": false,
          "two_factor_auth_enabled": null
        },
        "title": "Tedd assigned ticket #1521 to you.",
        "object": {
          "ticket": {
            "id": 1521,
            "subject": "test"
          }
        },
        "target": {
          "ticket": {
            "id": 1521,
            "subject": "test"
          }
        },
        "user_id": 3343,
        "actor_id": 158488612,
        "created_at": "2020-11-17T00:34:40Z",
        "updated_at": "2020-11-17T00:34:40Z"
      }
    ],
    "previous_page": null
  },
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "users": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "readOnly": true
    },
    "actors": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "readOnly": true
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "activities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActivityObject"
      },
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object ActivityObject
{
  "type": "object",
  "title": "Ticket Activities",
  "example": {
    "id": 35,
    "url": "https://company.zendesk.com/api/v2/activities/35.json",
    "user": {
      "id": 223443,
      "name": "Johnny Agent"
    },
    "verb": "tickets.assignment",
    "actor": {
      "id": 8678530,
      "name": "James A. Rosen"
    },
    "title": "John Hopeful assigned ticket #123 to you",
    "object": {},
    "target": {},
    "user_id": 29451,
    "actor_id": 23546,
    "created_at": "2019-03-05T10:38:52Z",
    "updated_at": "2019-03-05T10:38:52Z"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned on creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of the activity"
    },
    "user": {
      "$ref": "#/components/schemas/UserObject"
    },
    "verb": {
      "type": "string",
      "readOnly": true,
      "description": "The type of activity. Can be \"tickets.assignment\", \"tickets.comment\", or \"tickets.priority_increase\""
    },
    "actor": {
      "$ref": "#/components/schemas/UserObject"
    },
    "title": {
      "type": "string",
      "readOnly": true,
      "description": "Description of the activity"
    },
    "object": {
      "type": "object",
      "readOnly": true,
      "description": "The content of the activity. Can be a ticket, comment, or change.",
      "additionalProperties": true
    },
    "target": {
      "type": "object",
      "readOnly": true,
      "description": "The target of the activity, a ticket.",
      "additionalProperties": true
    },
    "user_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the agent making the request"
    },
    "actor_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the user responsible for the ticket activity. An `actor_id` of \"-1\" is a Zendesk system user, such as an automations action."
    },
    "created_at": {
      "type": "string",
      "readOnly": true,
      "description": "When the record was created"
    },
    "updated_at": {
      "type": "string",
      "readOnly": true,
      "description": "When the record was last updated"
    }
  },
  "x-konfig-properties": {
    "user": {
      "type": "object",
      "readOnly": true,
      "description": "The full user record of the agent making the request. See [Users](https://developer.zendesk.com)"
    },
    "actor": {
      "type": "object",
      "readOnly": true,
      "description": "The full user record of the user responsible for the ticket activity. See [Users](https://developer.zendesk.com)"
    }
  }
}
object ActivityResponse
{
  "type": "object",
  "example": {
    "activity": {
      "id": 29183462,
      "url": "https://example.zendesk.com/api/v2/activities/29183462.json",
      "user": {
        "id": 3343,
        "url": "https://example.zendesk.com/api/v2/users/3343.json",
        "name": "Samwise Gamgee",
        "role": "admin",
        "tags": [
          "101"
        ],
        "alias": "test",
        "email": "user@zendesk.com",
        "notes": "test",
        "phone": null,
        "photo": {
          "id": 8730791,
          "url": "https://example.zendesk.com/api/v2/attachments/8730791.json",
          "size": 4566,
          "width": 80,
          "height": 80,
          "inline": false,
          "deleted": false,
          "file_name": "1f84950b8d7949b3.gif",
          "thumbnails": [
            {
              "id": 8730801,
              "url": "https://example.zendesk.com/api/v2/attachments/8730801.json",
              "size": 1517,
              "width": 32,
              "height": 32,
              "inline": false,
              "deleted": false,
              "file_name": "1f84950b8d7949b3_thumb.gif",
              "content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif",
              "content_type": "image/gif",
              "mapped_content_url": "https://example.zendesk.com/system/photos/8730801/1f84950b8d7949b3_thumb.gif"
            }
          ],
          "content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif",
          "content_type": "image/gif",
          "mapped_content_url": "https://example.zendesk.com/system/photos/8730791/1f84950b8d7949b3.gif"
        },
        "active": true,
        "locale": "en-gb",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 5,
        "moderator": true,
        "role_type": null,
        "signature": "test",
        "suspended": false,
        "time_zone": "American Samoa",
        "created_at": "2017-08-14T20:13:53Z",
        "report_csv": true,
        "updated_at": "2020-11-17T00:33:55Z",
        "external_id": "oev7jj",
        "user_fields": {
          "skittles": "2018-09-14T00:00:00+00:00",
          "user_field_1": "101",
          "its_remember_september": null
        },
        "shared_agent": false,
        "last_login_at": "2020-11-16T22:57:45Z",
        "custom_role_id": null,
        "iana_time_zone": "Pacific/Pago_Pago",
        "organization_id": 1873,
        "default_group_id": 1873,
        "restricted_agent": false,
        "ticket_restriction": null,
        "shared_phone_number": null,
        "only_private_comments": false,
        "two_factor_auth_enabled": null
      },
      "verb": "tickets.assignment",
      "actor": {
        "id": 158488612,
        "url": "https://example.zendesk.com/api/v2/users/158488612.json",
        "name": "Tedd",
        "role": "admin",
        "tags": [],
        "alias": "",
        "email": "cgoddard+ted@zendesk.com",
        "notes": "",
        "phone": null,
        "photo": null,
        "active": true,
        "locale": "en-gb",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 5,
        "moderator": true,
        "role_type": null,
        "signature": "",
        "suspended": false,
        "time_zone": "Alaska",
        "created_at": "2020-11-17T00:32:12Z",
        "report_csv": true,
        "updated_at": "2020-11-17T00:34:38Z",
        "external_id": null,
        "user_fields": {
          "skittles": null,
          "user_field_1": null,
          "its_remember_september": null
        },
        "shared_agent": false,
        "last_login_at": "2020-11-17T00:33:44Z",
        "custom_role_id": null,
        "iana_time_zone": "America/Juneau",
        "organization_id": null,
        "default_group_id": 1873,
        "restricted_agent": false,
        "ticket_restriction": null,
        "shared_phone_number": null,
        "only_private_comments": false,
        "two_factor_auth_enabled": null
      },
      "title": "Tedd assigned ticket #1521 to you.",
      "object": {
        "ticket": {
          "id": 1521,
          "subject": "test"
        }
      },
      "target": {
        "ticket": {
          "id": 1521,
          "subject": "test"
        }
      },
      "user_id": 3343,
      "actor_id": 158488612,
      "created_at": "2020-11-17T00:34:40Z",
      "updated_at": "2020-11-17T00:34:40Z"
    }
  },
  "properties": {
    "activity": {
      "$ref": "#/components/schemas/ActivityObject"
    }
  }
}
object AssigneeFieldAssignableAgentObject
{
  "type": "object",
  "title": "AssigneeFieldAssignableAgents",
  "example": {
    "id": 6473829100,
    "name": "Joe Smith",
    "avatar_url": "https://z3n-example.zendesk.com/system/photos/900005192023/my_profile.png"
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "Agent Support ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the agent"
    },
    "avatar_url": {
      "type": "string",
      "nullable": true,
      "description": "URL of Agent's avatar"
    }
  }
}
object AssigneeFieldAssignableGroupAgentsResponse
{
  "type": "object",
  "example": {
    "count": 3,
    "agents": [
      {
        "id": 6473829100,
        "name": "Joe Smith",
        "avatar_url": "https://z3n-example.zendesk.com/system/photos/900005192023/my_profile.png"
      },
      {
        "id": 9182736400,
        "name": "Jane Doe",
        "avatar_url": "https://z3n-example.zendesk.com/system/photos/412005192023/my_profile.png"
      },
      {
        "id": 1928373460,
        "name": "Cookie Monster",
        "avatar_url": "https://z3n-example.zendesk.com/system/photos/887005192023/my_profile.png"
      }
    ],
    "next_page": null,
    "previous_page": null
  },
  "properties": {
    "count": {
      "type": "integer",
      "description": "Number of agents listed in `agents` property."
    },
    "agents": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssigneeFieldAssignableAgentObject"
      }
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object AssigneeFieldAssignableGroupObject
{
  "type": "object",
  "title": "AssigneeFieldAssignableGroups",
  "example": {
    "id": 9182736455,
    "name": "Engineering",
    "description": "Engineering team for bugs"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Group ID"
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "Name of the group"
    },
    "description": {
      "type": "string",
      "readOnly": true,
      "description": "Description of the group"
    }
  }
}
object AssigneeFieldAssignableGroupsAndAgentsSearchResponse
{
  "type": "object",
  "example": {
    "count": 2,
    "agents": [
      {
        "id": 8392017465,
        "name": "Sam Technologist",
        "group": "Tech",
        "group_id": 6574839201,
        "photo_url": "https://z3n-example.zendesk.com/system/photos/410305192023/my_profile.png"
      }
    ],
    "groups": [
      {
        "id": 6574839201,
        "name": "Tech"
      }
    ]
  },
  "properties": {
    "count": {
      "type": "integer",
      "description": "Number of agents + groups listed from search result."
    },
    "agents": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssigneeFieldAssignableSearchAgentObject"
      }
    },
    "groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssigneeFieldAssignableSearchGroupObject"
      }
    }
  }
}
object AssigneeFieldAssignableGroupsResponse
{
  "type": "object",
  "example": {
    "count": 3,
    "groups": [
      {
        "id": 9182736455,
        "name": "Group for Bugs for Engineering",
        "description": "Engineering"
      },
      {
        "id": 1928374655,
        "name": "Group for feature requests",
        "description": "Product"
      },
      {
        "id": 5519283746,
        "name": "Group for customer inquiries",
        "description": "Customer Support"
      }
    ],
    "next_page": null,
    "previous_page": null
  },
  "properties": {
    "count": {
      "type": "integer",
      "description": "Number of groups listed in `groups` property."
    },
    "groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AssigneeFieldAssignableGroupObject"
      }
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object AssigneeFieldAssignableSearchAgentObject
{
  "type": "object",
  "example": {
    "id": 6473829100,
    "name": "Joe Smith",
    "group": "Engineering",
    "group_id": 9182736455,
    "photo_url": "https://z3n-example.zendesk.com/system/photos/900005192023/my_profile.png"
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "Agent ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the agent"
    },
    "group": {
      "type": "string",
      "description": "Name of the agent's group"
    },
    "group_id": {
      "type": "integer",
      "description": "Agent's Group ID"
    },
    "photo_url": {
      "type": "string",
      "nullable": true,
      "description": "URL of Avatar"
    }
  }
}
object AssigneeFieldAssignableSearchGroupObject
{
  "type": "object",
  "example": {
    "id": 9182736455,
    "name": "Engineering"
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "Group ID"
    },
    "name": {
      "type": "string",
      "description": "Name of the group"
    }
  }
}
object AttachmentBaseObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "A URL to access the attachment details"
    },
    "size": {
      "type": "integer",
      "readOnly": true,
      "description": "The size of the image file in bytes"
    },
    "width": {
      "type": "string",
      "readOnly": true,
      "description": "The width of the image file in pixels. If width is unknown, returns null"
    },
    "height": {
      "type": "string",
      "readOnly": true,
      "description": "The height of the image file in pixels. If height is unknown, returns null"
    },
    "inline": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the attachment is excluded from the attachment list and the attachment's URL\ncan be referenced within the comment of a ticket. Default is false\n"
    },
    "deleted": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the attachment has been deleted"
    },
    "file_name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the image file"
    },
    "content_url": {
      "type": "string",
      "readOnly": true,
      "description": "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](https://developer.zendesk.com)"
    },
    "content_type": {
      "type": "string",
      "readOnly": true,
      "description": "The content type of the image. Example value: \"image/png\""
    },
    "mapped_content_url": {
      "type": "string",
      "readOnly": true,
      "description": "The URL the attachment image file has been mapped to"
    },
    "malware_scan_result": {
      "type": "string",
      "readOnly": true,
      "description": "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\""
    },
    "malware_access_override": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, you can download an attachment flagged as malware. If false, you can't download such an attachment."
    }
  }
}
object AttachmentObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/AttachmentBaseObject"
    },
    {
      "$ref": "#/components/schemas/AttachmentThumbnails"
    }
  ],
  "example": {
    "id": 928374,
    "size": 166144,
    "file_name": "my_funny_profile_pic.png",
    "thumbnails": [
      {
        "id": 928375,
        "size": 58298,
        "file_name": "my_funny_profile_pic_thumb.png",
        "content_url": "https://company.zendesk.com/attachments/my_funny_profile_pic_thumb.png",
        "content_type": "image/png"
      }
    ],
    "content_url": "https://company.zendesk.com/attachments/my_funny_profile_pic.png",
    "content_type": "image/png"
  },
  "description": "A file represented as an [Attachment](https://developer.zendesk.com) object"
}
object AttachmentResponse
{
  "type": "object",
  "properties": {
    "attachment": {
      "$ref": "#/components/schemas/AttachmentObject"
    }
  }
}
object AttachmentThumbnails
{
  "type": "object",
  "properties": {
    "thumbnails": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AttachmentBaseObject"
      },
      "readOnly": true,
      "description": "An array of attachment objects. Note that photo thumbnails do not have thumbnails"
    }
  }
}
object AttachmentUpdateInput
{
  "type": "object",
  "properties": {
    "malware_access_override": {
      "type": "boolean",
      "description": "If true, allows access to attachments with detected malware."
    }
  }
}
object AttachmentUpdateRequest
{
  "type": "object",
  "properties": {
    "attachment": {
      "$ref": "#/components/schemas/AttachmentUpdateInput"
    }
  }
}
object AttachmentUploadResponse
{
  "type": "object",
  "properties": {
    "upload": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "readOnly": true,
          "description": "Token for subsequent request"
        },
        "attachment": {
          "$ref": "#/components/schemas/AttachmentObject"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/AttachmentObject"
          }
        }
      }
    }
  }
}
object AuditLogObject
{
  "type": "object",
  "example": {
    "id": 498483,
    "url": "https://company.zendesk.com/api/v2/audit_logs/498483.json",
    "action": "update",
    "actor_id": 1234,
    "source_id": 3456,
    "actor_name": "Sameer Patel",
    "created_at": "2012-03-05T11:32:44Z",
    "ip_address": "209.119.38.228",
    "source_type": "user",
    "action_label": "Updated",
    "source_label": "John Doe",
    "change_description": "Role changed from Administrator to End User"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id automatically assigned upon creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The URL to access the audit log"
    },
    "action": {
      "type": "string",
      "readOnly": true,
      "description": "Type of change made. Possible values are \"create\", \"destroy\", \"exported\", \"login\", and \"update\"\n"
    },
    "actor_id": {
      "type": "integer",
      "readOnly": true,
      "description": "id of the user or system that initiated the change"
    },
    "source_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the item being audited"
    },
    "actor_name": {
      "type": "string",
      "readOnly": true,
      "description": "Name of the user or system that initiated the change"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the audit got created"
    },
    "ip_address": {
      "type": "string",
      "readOnly": true,
      "description": "The IP address of the user doing the audit"
    },
    "source_type": {
      "type": "string",
      "readOnly": true,
      "description": "Item type being audited. Typically describes the system where the change\nwas initiated. Possible values vary based on your account's Zendesk\nproducts and activity. Common values include \"apitoken\", \"rule\", \"ticket\",\n\"user\", and \"zendesk/app_market/app\". The \"rule\" value is used for\n[automations](https://support.zendesk.com/hc/en-us/articles/4408832701850),\n[macros](https://support.zendesk.com/hc/en-us/articles/4408844187034),\n[triggers](https://support.zendesk.com/hc/en-us/articles/4408822236058),\n[views](https://support.zendesk.com/hc/en-us/articles/4408888828570),\nand other automated business rules\n"
    },
    "action_label": {
      "type": "string",
      "readOnly": true,
      "description": "Localized string of action field"
    },
    "source_label": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the item being audited"
    },
    "change_description": {
      "type": "string",
      "readOnly": true,
      "description": "The description of the change that occurred"
    }
  }
}
object AuditLogResponse
{
  "type": "object",
  "properties": {
    "audit_log": {
      "$ref": "#/components/schemas/AuditLogObject"
    }
  }
}
string AuditLogsExportLogsResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object AuditLogsResponse
{
  "type": "object",
  "properties": {
    "audit_logs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AuditLogObject"
      }
    }
  }
}
object AuditObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true
    },
    "via": {
      "$ref": "#/components/schemas/ViaObject"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "readOnly": true
          },
          "body": {
            "type": "string",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "readOnly": true
          },
          "value": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          },
          "field_name": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "readOnly": true
    },
    "metadata": {
      "type": "object",
      "readOnly": true
    },
    "author_id": {
      "type": "integer",
      "readOnly": true
    },
    "ticket_id": {
      "type": "integer",
      "readOnly": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true
    }
  }
}
object AuthorObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The author id"
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "The author name"
    },
    "email": {
      "type": "string",
      "readOnly": true,
      "description": "The author email"
    }
  }
}
object AutomationObject
{
  "type": "object",
  "example": {
    "id": 9873843,
    "title": "Roger Wilco",
    "active": true,
    "actions": [
      {
        "field": "priority",
        "value": "high"
      }
    ],
    "default": false,
    "position": 8,
    "raw_title": "Roger Wilco",
    "conditions": {
      "all": [
        {
          "field": "status",
          "value": "open",
          "operator": "is"
        },
        {
          "field": "priority",
          "value": "high",
          "operator": "less_than"
        }
      ],
      "any": []
    }
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "title": {
      "type": "string",
      "description": "The title of the automation"
    },
    "active": {
      "type": "boolean",
      "description": "Whether the automation is active"
    },
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActionObject"
      },
      "description": "An object describing what the automation will do. See [Actions reference](https://developer.zendesk.com)"
    },
    "default": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the automation is a default automation"
    },
    "position": {
      "type": "integer",
      "description": "The position of the automation which specifies the order it will be executed"
    },
    "raw_title": {
      "type": "string",
      "readOnly": true,
      "description": "The raw title of the automation"
    },
    "conditions": {
      "$ref": "#/components/schemas/ConditionsObject"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the automation was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the automation"
    }
  }
}
object AutomationResponse
{
  "type": "object",
  "properties": {
    "automation": {
      "$ref": "#/components/schemas/AutomationObject"
    }
  }
}
object AutomationsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "automations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AutomationObject"
      }
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
string BasicsCreateVoiceTicketResponse
{
  "type": "string",
  "example": "",
  "description": "Invalid attribute"
}
string BasicsOpenAgentTicketDisplay404Response
{
  "type": "string",
  "example": "",
  "description": "Invalid attribute"
}
string BasicsOpenAgentTicketDisplayResponse
{
  "type": "string",
  "example": "",
  "description": "empty"
}
string BasicsOpenUserProfile404Response
{
  "type": "string",
  "example": "",
  "description": "Invalid attribute"
}
string BasicsOpenUserProfileResponse
{
  "type": "string",
  "example": "",
  "description": "empty"
}
object BatchErrorItem
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Error"
    },
    {
      "type": "object",
      "properties": {
        "trigger_id": {
          "type": "string"
        }
      }
    }
  ]
}
object BatchJobRequest
{
  "type": "object",
  "properties": {
    "job": {
      "type": "object",
      "properties": {
        "items": {
          "type": "object",
          "properties": {
            "triggers": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TriggerBatchRequest"
              }
            },
            "trigger_categories": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TriggerCategoryBatchRequest"
              }
            }
          }
        },
        "action": {
          "enum": [
            "patch"
          ],
          "type": "string"
        }
      }
    }
  }
}
object BatchJobResponse
{
  "type": "object",
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BatchErrorItem"
      }
    },
    "status": {
      "enum": [
        "complete",
        "failed"
      ],
      "type": "string"
    },
    "results": {
      "type": "object",
      "properties": {
        "triggers": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TriggerObject"
          }
        },
        "trigger_categories": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TriggerCategory"
          }
        }
      }
    }
  }
}
object BookmarkCreateRequest
{
  "type": "object",
  "properties": {
    "bookmark": {
      "$ref": "#/components/schemas/BookmarkInput"
    }
  }
}
object BookmarkInput
{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "description": "The id of the ticket the bookmark is for."
    }
  }
}
object BookmarkObject
{
  "type": "object",
  "title": "Bookmarks",
  "example": {
    "id": 35436,
    "url": "https://{subdomain}.zendesk.com/api/v2/bookmarks/35436.json",
    "ticket": {
      "id": 60,
      "subject": "Help, my printer is on fire!",
      "priority": "high",
      "description": "The fire is very colorful.",
      "requester_id": 156
    },
    "created_at": "2014-11-20T22:55:29Z"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the bookmark is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this bookmark"
    },
    "ticket": {
      "$ref": "#/components/schemas/TicketObject"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the bookmark was created"
    }
  },
  "x-konfig-properties": {
    "ticket": {
      "type": "object",
      "readOnly": true
    }
  }
}
object BookmarkResponse
{
  "type": "object",
  "properties": {
    "bookmark": {
      "$ref": "#/components/schemas/BookmarkObject"
    }
  }
}
object BookmarksResponse
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/OffsetPaginationObject"
    },
    {
      "type": "object",
      "properties": {
        "bookmarks": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BookmarkObject"
          }
        }
      }
    }
  ],
  "title": "Bookmarks"
}
object BrandCreateRequest
{
  "type": "object",
  "properties": {
    "brand": {
      "$ref": "#/components/schemas/BrandObject"
    }
  }
}
object BrandObject
{
  "type": "object",
  "title": "Brands",
  "example": {
    "id": 47,
    "url": "https://company.zendesk.com/api/v2/brands/47.json",
    "logo": {
      "id": 928374,
      "url": "https://company.zendesk.com/api/v2/attachments/928374.json",
      "size": 166144,
      "file_name": "brand1_logo.png",
      "thumbnails": [
        {
          "id": 928375,
          "url": "https://company.zendesk.com/api/v2/attachments/928375.json",
          "size": 58298,
          "file_name": "brand1_logo_thumb.png",
          "content_url": "https://company.zendesk.com/photos/brand1_logo_thumb.png",
          "content_type": "image/png",
          "mapped_content_url": "https://company.com/photos/brand1_logo_thumb.png"
        },
        {
          "id": 928376,
          "url": "https://company.zendesk.com/api/v2/attachments/928376.json",
          "size": 58298,
          "file_name": "brand1_logo_small.png",
          "content_url": "https://company.zendesk.com/photos/brand1_logo_small.png",
          "content_type": "image/png",
          "mapped_content_url": "https://company.com/photos/brand1_logo_small.png"
        }
      ],
      "content_url": "https://company.zendesk.com/logos/brand1_logo.png",
      "content_type": "image/png"
    },
    "name": "Brand 1",
    "active": true,
    "default": true,
    "brand_url": "https://brand1.com",
    "subdomain": "brand1",
    "created_at": "2012-04-02T22:55:29Z",
    "updated_at": "2012-04-02T22:55:29Z",
    "host_mapping": "brand1.com",
    "has_help_center": true,
    "ticket_form_ids": [
      47,
      33,
      22
    ],
    "help_center_state": "enabled",
    "signature_template": "{{agent.signature}}"
  },
  "required": [
    "name",
    "subdomain"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The ID automatically assigned when the brand is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this brand"
    },
    "logo": {
      "$ref": "#/components/schemas/AttachmentObject"
    },
    "name": {
      "type": "string",
      "description": "The name of the brand"
    },
    "active": {
      "type": "boolean",
      "description": "If the brand is set as active"
    },
    "default": {
      "type": "boolean",
      "description": "Is the brand the default brand for this account"
    },
    "brand_url": {
      "type": "string",
      "description": "The url of the brand"
    },
    "subdomain": {
      "type": "string",
      "description": "The subdomain of the brand"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the brand was created"
    },
    "is_deleted": {
      "type": "boolean",
      "description": "If the brand object is deleted or not"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the brand"
    },
    "host_mapping": {
      "type": "string",
      "description": "The hostmapping to this brand, if any. Only admins view this property."
    },
    "has_help_center": {
      "type": "boolean",
      "description": "If the brand has a Help Center"
    },
    "ticket_form_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "readOnly": true,
      "description": "The ids of ticket forms that are available for use by a brand"
    },
    "help_center_state": {
      "enum": [
        "enabled",
        "disabled",
        "restricted"
      ],
      "type": "string",
      "readOnly": true,
      "description": "The state of the Help Center"
    },
    "signature_template": {
      "type": "string",
      "description": "The signature template for a brand"
    }
  }
}
object BrandResponse
{
  "type": "object",
  "properties": {
    "brand": {
      "$ref": "#/components/schemas/BrandObject"
    }
  }
}
object BrandUpdateRequest
{
  "type": "object",
  "properties": {
    "brand": {
      "$ref": "#/components/schemas/BrandObject"
    }
  }
}
object BrandsResponse
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/OffsetPaginationObject"
    },
    {
      "type": "object",
      "properties": {
        "brands": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/BrandObject"
          },
          "description": "Array of brands"
        }
      }
    }
  ],
  "title": "Brands"
}
object BulkUpdateDefaultCustomStatusRequest
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "string",
      "description": "The comma-separated list of custom ticket status ids to be set as default for their status categories"
    }
  }
}
object BulkUpdateDefaultCustomStatusResponse
{
  "type": "object"
}
object ChannelFrameworkPushResultsResponse
{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ChannelFrameworkResultObject"
      },
      "description": "An array of [result objects](https://developer.zendesk.com)"
    }
  }
}
string ChannelFrameworkReportErrorResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object ChannelFrameworkResultObject
{
  "type": "object",
  "properties": {
    "status": {
      "$ref": "#/components/schemas/ChannelFrameworkResultStatusObject"
    },
    "external_resource_id": {
      "type": "string",
      "readOnly": true,
      "description": "The external ID of the resource, as passed in"
    }
  }
}
object ChannelFrameworkResultStatusObject
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "readOnly": true,
      "description": "A code indicating the status of the import of the resource, as described in [status codes](https://developer.zendesk.com)"
    },
    "description": {
      "type": "string",
      "readOnly": true,
      "description": "In the case of an exception, a description of the exception. Otherwise, not present."
    }
  },
  "description": "The status of the import for the indicated resource"
}
string ChannelFrameworkValidateTokenResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object CollaboratorObject
{
  "type": "object",
  "example": {
    "name": "Someone Special",
    "email": "someone@example.com"
  },
  "properties": {
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  }
}
object ComplianceDeletionStatusObject
{
  "type": "object",
  "required": [
    "action",
    "application",
    "account_subdomain",
    "executer_id",
    "user_id",
    "created_at"
  ],
  "properties": {
    "action": {
      "type": "string"
    },
    "user_id": {
      "type": "integer"
    },
    "created_at": {
      "type": "string"
    },
    "application": {
      "type": "string"
    },
    "executer_id": {
      "type": "integer",
      "nullable": true
    },
    "account_subdomain": {
      "type": "string"
    }
  }
}
object ComplianceDeletionStatusesResponse
{
  "type": "object",
  "properties": {
    "compliance_deletion_statuses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ComplianceDeletionStatusObject"
      }
    }
  }
}
object ConditionObject
{
  "type": "object",
  "properties": {
    "field": {
      "type": "string",
      "description": "The name of a ticket field"
    },
    "value": {
      "type": "string",
      "description": "The value of a ticket field"
    },
    "operator": {
      "type": "string",
      "description": "A comparison operator"
    }
  }
}
object ConditionsObject
{
  "type": "object",
  "properties": {
    "all": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ConditionObject"
      },
      "description": "Logical AND. Tickets must fulfill all of the conditions to be considered matching"
    },
    "any": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ConditionObject"
      },
      "description": "Logical OR. Tickets may satisfy any of the conditions to be considered matching"
    }
  },
  "description": "An object that describes the conditions under which the automation will execute. See [Conditions reference](https://developer.zendesk.com)"
}
object CountOrganizationObject
{
  "type": "object",
  "properties": {
    "value": {
      "type": "integer",
      "readOnly": true
    },
    "refreshed_at": {
      "type": "string",
      "readOnly": true
    }
  }
}
object CountOrganizationResponse
{
  "type": "object",
  "properties": {
    "count": {
      "$ref": "#/components/schemas/CountOrganizationObject"
    }
  }
}
object CountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "datetime"
        }
      }
    }
  }
}
object CreateResourceResult
{
  "type": "object",
  "required": [
    "id",
    "index"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "the id of the new resource"
    },
    "index": {
      "type": "integer",
      "description": "the index number of the resul"
    }
  }
}
object CurrentUserResponse
{
  "type": "object",
  "properties": {
    "user": {
      "allOf": [
        {
          "$ref": "#/components/schemas/UserObject"
        },
        {
          "type": "object",
          "properties": {
            "authenticity_token": {
              "type": "string",
              "readOnly": true,
              "description": "CSRF token required by some Zendesk APIs."
            }
          }
        }
      ]
    }
  }
}
object CursorBasedExportIncrementalTicketsResponse
{
  "type": "object",
  "example": {
    "tickets": [
      {
        "id": 35436,
        "url": "https://company.zendesk.com/api/v2/tickets/35436.json",
        "via": {
          "channel": "web"
        },
        "tags": [
          "enterprise",
          "other_tag"
        ],
        "type": "incident",
        "due_at": null,
        "status": "open",
        "subject": "Help, my printer is on fire!",
        "group_id": 98738,
        "priority": "high",
        "recipient": "support@company.com",
        "created_at": "2009-07-20T22:55:29Z",
        "problem_id": 9873764,
        "updated_at": "2011-05-05T10:38:52Z",
        "assignee_id": 235323,
        "description": "The fire is very colorful.",
        "external_id": "ahg35h3jh",
        "raw_subject": "{{dc.printer_on_fire}}",
        "follower_ids": [
          35334,
          234
        ],
        "requester_id": 20978392,
        "submitter_id": 76872,
        "custom_fields": [
          {
            "id": 27642,
            "value": "745"
          },
          {
            "id": 27648,
            "value": "yes"
          }
        ],
        "has_incidents": false,
        "organization_id": 509974,
        "collaborator_ids": [
          35334,
          234
        ],
        "satisfaction_rating": {
          "id": 1234,
          "score": "good",
          "comment": "Great support!"
        },
        "sharing_agreement_ids": [
          84432
        ]
      }
    ],
    "after_url": "https://{subdomain}.zendesk.com/api/v2/incremental/tickets/cursor.json?cursor=MTU3NjYxMzUzOS4wfHw0Njd8",
    "before_url": null,
    "after_cursor": "MTU3NjYxMzUzOS4wfHw0Njd8",
    "before_cursor": null,
    "end_of_stream": true
  },
  "properties": {
    "tickets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketObject"
      }
    },
    "after_url": {
      "type": "string",
      "nullable": true
    },
    "before_url": {
      "type": "string",
      "nullable": true
    },
    "after_cursor": {
      "type": "string",
      "nullable": true
    },
    "before_cursor": {
      "type": "string",
      "nullable": true
    },
    "end_of_stream": {
      "type": "boolean"
    }
  },
  "description": "See [Tickets](https://developer.zendesk.com) for a detailed example.\n"
}
object CursorBasedExportIncrementalUsersResponse
{
  "type": "object",
  "example": {
    "users": [
      {
        "id": 35436,
        "url": "https://company.zendesk.com/api/v2/users/35436.json",
        "name": "Johnny Agent",
        "role": "agent",
        "tags": [
          "enterprise",
          "other_tag"
        ],
        "alias": "Mr. Johnny",
        "email": "johnny@example.com",
        "notes": "Johnny is a nice guy!",
        "phone": "+15551234567",
        "photo": {
          "id": 928374,
          "name": "my_funny_profile_pic.png",
          "size": 166144,
          "thumbnails": [
            {
              "id": 928375,
              "name": "my_funny_profile_pic_thumb.png",
              "size": 58298,
              "content_url": "https://company.zendesk.com/photos/my_funny_profile_pic_thumb.png",
              "content_type": "image/png"
            }
          ],
          "content_url": "https://company.zendesk.com/photos/my_funny_profile_pic.png",
          "content_type": "image/png"
        },
        "active": true,
        "locale": "en-US",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 1,
        "moderator": true,
        "role_type": 0,
        "signature": "Have a nice day, Johnny",
        "suspended": true,
        "time_zone": "Copenhagen",
        "created_at": "2009-07-20T22:55:29Z",
        "updated_at": "2011-05-05T10:38:52Z",
        "external_id": "sai989sur98w9",
        "user_fields": {
          "user_date": "2012-07-23T00:00:00Z",
          "user_decimal": 5.1,
          "user_dropdown": "option_1"
        },
        "shared_agent": false,
        "last_login_at": "2011-05-05T10:38:52Z",
        "custom_role_id": 9373643,
        "organization_id": 57542,
        "restricted_agent": true,
        "ticket_restriction": "assigned",
        "only_private_comments": false
      }
    ],
    "after_url": "https://example.zendesk.com/api/v2/incremental/users/cursor.json?cursor=MTU3NjYxMzUzOS4wfHw0Njd8",
    "before_url": null,
    "after_cursor": "MTU3NjYxMzUzOS4wfHw0Njd8",
    "before_cursor": null,
    "end_of_stream": true
  },
  "properties": {
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserObject"
      }
    },
    "after_url": {
      "type": "string",
      "nullable": true
    },
    "before_url": {
      "type": "string",
      "nullable": true
    },
    "after_cursor": {
      "type": "string",
      "nullable": true
    },
    "before_cursor": {
      "type": "string",
      "nullable": true
    },
    "end_of_stream": {
      "type": "boolean"
    }
  }
}
object CustomFieldObject
{
  "type": "object",
  "required": [
    "key",
    "type",
    "title"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "key": {
      "type": "string",
      "description": "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 and can't be reused if deleted."
    },
    "tag": {
      "type": "string",
      "description": "Optional for custom field of type \"checkbox\"; not presented otherwise."
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The URL for this resource"
    },
    "type": {
      "type": "string",
      "description": "The custom field type: \"checkbox\", \"date\", \"decimal\", \"dropdown\", \"integer\", [\"lookup\"](https://developer.zendesk.com), \"regexp\", \"text\", or \"textarea\""
    },
    "title": {
      "type": "string",
      "description": "The title of the custom field"
    },
    "active": {
      "type": "boolean",
      "description": "If true, this field is available for use"
    },
    "system": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, only active and position values of this field can be changed"
    },
    "position": {
      "type": "integer",
      "description": "Ordering of the field relative to other fields"
    },
    "raw_title": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the `title` value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the ticket field"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the ticket field"
    },
    "description": {
      "type": "string",
      "description": "User-defined description of this field's purpose"
    },
    "raw_description": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the `description` value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "relationship_filter": {
      "type": "object",
      "description": "A filter definition that allows your autocomplete to filter down results"
    },
    "custom_field_options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldOptionObject"
      },
      "description": "Required and presented for a custom field of type \"dropdown\". Each option is represented by an object with a `name` and `value` property"
    },
    "regexp_for_validation": {
      "type": "string",
      "nullable": true,
      "description": "Regular expression field only. The validation pattern for a field value to be deemed valid"
    },
    "relationship_target_type": {
      "type": "string",
      "description": "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\"."
    }
  }
}
object CustomFieldOptionObject
{
  "type": "object",
  "required": [
    "name",
    "value"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "URL of the dropdown option"
    },
    "name": {
      "type": "string",
      "description": "Name of the dropdown option"
    },
    "value": {
      "type": "string",
      "description": "Value of the dropdown option"
    },
    "position": {
      "type": "integer",
      "description": "Position of the dropdown option"
    },
    "raw_name": {
      "type": "string",
      "readOnly": true,
      "description": "Raw name of the dropdown option"
    }
  }
}
object CustomFieldOptionResponse
{
  "type": "object",
  "properties": {
    "custom_field_option": {
      "$ref": "#/components/schemas/CustomFieldOptionObject"
    }
  }
}
object CustomFieldOptionsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "Total count of records retrieved"
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "URL of the next page"
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "URL of the previous page"
    },
    "custom_field_options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldOptionObject"
      }
    }
  }
}
object CustomObject
{
  "type": "object",
  "required": [
    "key",
    "title",
    "title_pluralized"
  ],
  "properties": {
    "key": {
      "type": "string",
      "readOnly": true,
      "description": "A user-defined unique identifier. Writable on create only. Cannot be reused if deleted."
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "Direct link to the specific custom object"
    },
    "title": {
      "type": "string",
      "description": "User-defined display name for the object"
    },
    "raw_title": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"title\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the object type was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the object"
    },
    "description": {
      "type": "string",
      "description": "User-defined description of the object"
    },
    "raw_description": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"raw_description\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "title_pluralized": {
      "type": "string",
      "description": "User-defined pluralized version of the object's title"
    },
    "created_by_user_id": {
      "type": "string",
      "readOnly": true,
      "description": "Id of a user who created the object"
    },
    "updated_by_user_id": {
      "type": "string",
      "readOnly": true,
      "description": "Id of the last user who updated the object"
    },
    "raw_title_pluralized": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"raw_title_pluralized\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    }
  }
}
object CustomObjectCreateInput
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "Unique identifier. Writable on create only"
    },
    "title": {
      "type": "string",
      "description": "Display name for the object"
    },
    "title_pluralized": {
      "type": "string",
      "description": "Pluralized version of the object's title"
    }
  }
}
object CustomObjectFieldResponse
{
  "type": "object",
  "properties": {
    "custom_object_field": {
      "$ref": "#/components/schemas/CustomFieldObject"
    }
  }
}
object CustomObjectFieldsCreateRequest
{
  "type": "object",
  "properties": {
    "custom_object_field": {
      "$ref": "#/components/schemas/CustomFieldObject"
    }
  }
}
string CustomObjectFieldsReorderFieldsResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object CustomObjectFieldsResponse
{
  "type": "object",
  "properties": {
    "custom_object_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldObject"
      }
    }
  }
}
object CustomObjectLimitsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "The current numnber of the requested resource"
    },
    "limit": {
      "type": "integer",
      "readOnly": true,
      "description": "The maximum allowed number for the requested resource"
    }
  }
}
object CustomObjectRecord
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "Direct link to the specific custom object"
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "User-defined display name for the object"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the object was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the object"
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "An id you can use to link custom object records to external data"
    },
    "custom_object_key": {
      "type": "string",
      "readOnly": true,
      "description": "A user-defined unique identifier"
    },
    "created_by_user_id": {
      "type": "string",
      "readOnly": true,
      "description": "Id of a user who created the object"
    },
    "updated_by_user_id": {
      "type": "string",
      "readOnly": true,
      "description": "Id of the last user who updated the object"
    },
    "custom_object_fields": {
      "type": "object",
      "additionalProperties": true
    }
  }
}
object CustomObjectRecordResponse
{
  "type": "object",
  "properties": {
    "custom_object_record": {
      "$ref": "#/components/schemas/CustomObjectRecord"
    }
  }
}
object CustomObjectRecordsBulkCreateRequest
{
  "type": "object",
  "properties": {
    "job": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CustomObjectRecord"
          },
          "description": "An array of record objects for job actions that create, update, or set. An array of strings for job actions that delete."
        },
        "action": {
          "type": "string"
        }
      }
    }
  }
}
object CustomObjectRecordsCreateRequest
{
  "type": "object",
  "properties": {
    "custom_object_record": {
      "$ref": "#/components/schemas/CustomObjectRecord"
    }
  }
}
object CustomObjectRecordsGetCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "additionalProperties": {
        "properties": {
          "value": {
            "type": "integer",
            "readOnly": true,
            "description": "Number of records at the time of the latest count operation"
          },
          "refreshed_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "The time the last count was performed"
          }
        }
      }
    }
  }
}
object CustomObjectRecordsJobsResponse
{
  "type": "object",
  "properties": {
    "job_status": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "total": {
          "type": "integer"
        },
        "status": {
          "type": "string"
        },
        "message": {
          "type": "string",
          "nullable": true
        },
        "results": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CustomObjectRecord"
          },
          "nullable": true
        },
        "progress": {
          "type": "integer",
          "nullable": true
        }
      }
    }
  }
}
object CustomObjectRecordsResponse
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "required": [
        "has_more",
        "after_cursor",
        "before_cursor"
      ],
      "properties": {
        "has_more": {
          "type": "boolean"
        },
        "after_cursor": {
          "type": "string",
          "nullable": true
        },
        "before_cursor": {
          "type": "string",
          "nullable": true
        }
      }
    },
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "The number of results returned for the current request"
    },
    "links": {
      "type": "object",
      "required": [
        "prev",
        "next"
      ],
      "properties": {
        "next": {
          "type": "string",
          "nullable": true
        },
        "prev": {
          "type": "string",
          "nullable": true
        }
      }
    },
    "custom_object_records": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomObjectRecord"
      }
    }
  }
}
object CustomObjectRecordsUpsertRequest
{
  "type": "object",
  "properties": {
    "custom_object_record": {
      "$ref": "#/components/schemas/CustomObjectRecord"
    }
  }
}
object CustomObjectResponse
{
  "type": "object",
  "properties": {
    "custom_object": {
      "$ref": "#/components/schemas/CustomObject"
    }
  }
}
object CustomObjectsCreateRequest
{
  "type": "object",
  "properties": {
    "custom_object": {
      "$ref": "#/components/schemas/CustomObjectCreateInput"
    }
  }
}
object CustomObjectsResponse
{
  "type": "object",
  "properties": {
    "custom_objects": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomObject"
      }
    }
  }
}
object CustomRoleConfigurationObject
{
  "type": "object",
  "properties": {
    "chat_access": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether or not the agent has access to Chat"
    },
    "light_agent": {
      "type": "boolean",
      "readOnly": true
    },
    "view_access": {
      "type": "string",
      "description": "What the agent can do with views. Allowed values: \"full\", \"manage-group\", \"manage-personal\", \"playonly\", \"readonly\""
    },
    "forum_access": {
      "type": "string",
      "description": "The kind of access the agent has to Guide. Allowed values: \"edit-topics\", \"full\", \"readonly\""
    },
    "group_access": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether or not the agent can add or modify groups"
    },
    "macro_access": {
      "type": "string",
      "description": "What the agent can do with macros. Allowed values: \"full\", \"manage-group\", \"manage-personal\", \"readonly\""
    },
    "ticket_merge": {
      "type": "boolean",
      "description": "Whether or not the agent can merge tickets"
    },
    "voice_access": {
      "type": "boolean",
      "description": "Whether or not the agent can answer and place calls to end users"
    },
    "report_access": {
      "type": "string",
      "description": "What the agent can do with reports. Allowed values: \"full\", \"none\", \"readonly\""
    },
    "ticket_access": {
      "type": "string",
      "description": "What kind of tickets the agent can access. Allowed values: \"all\", \"assigned-only\", \"within-groups\", \"within-groups-and-public-groups\", \"within-organization\""
    },
    "explore_access": {
      "type": "string",
      "description": "Allowed values: \"edit\", \"full\", \"none\", \"readonly\""
    },
    "ticket_editing": {
      "type": "boolean",
      "description": "Whether or not the agent can edit ticket properties"
    },
    "manage_facebook": {
      "type": "boolean",
      "description": "Whether or not the agent can manage Facebook pages"
    },
    "moderate_forums": {
      "type": "boolean",
      "readOnly": true
    },
    "ticket_deletion": {
      "type": "boolean",
      "description": "Whether or not the agent can delete tickets"
    },
    "user_view_access": {
      "type": "string",
      "description": "What the agent can do with customer lists. Allowed values: \"full\", \"manage-group\", \"manage-personal\", \"none\", \"readonly\""
    },
    "manage_user_fields": {
      "type": "boolean",
      "description": "Whether or not the agent can create and manage user fields"
    },
    "ticket_tag_editing": {
      "type": "boolean",
      "description": "Whether or not the agent can edit ticket tags"
    },
    "manage_ticket_forms": {
      "type": "boolean",
      "description": "Whether or not the agent can create and manage ticket forms"
    },
    "end_user_list_access": {
      "type": "string",
      "description": "Whether or not the agent can view lists of user profiles. Allowed values: \"full\", \"none\""
    },
    "manage_ticket_fields": {
      "type": "boolean",
      "description": "Whether or not the agent can create and manage ticket fields"
    },
    "organization_editing": {
      "type": "boolean",
      "description": "Whether or not the agent can add or modify organizations"
    },
    "view_deleted_tickets": {
      "type": "boolean",
      "description": "Whether or not the agent can view deleted tickets"
    },
    "manage_business_rules": {
      "type": "boolean",
      "description": "Whether or not the agent can manage business rules"
    },
    "ticket_comment_access": {
      "type": "string",
      "description": "What type of comments the agent can make. Allowed values: \"public\", \"none\""
    },
    "twitter_search_access": {
      "type": "boolean"
    },
    "manage_dynamic_content": {
      "type": "boolean",
      "description": "Whether or not the agent can access dynamic content"
    },
    "voice_dashboard_access": {
      "type": "boolean",
      "description": "Whether or not the agent can view details about calls on the Talk dashboard"
    },
    "end_user_profile_access": {
      "type": "string",
      "description": "What the agent can do with end-user profiles. Allowed values: \"edit\", \"edit-within-org\", \"full\", \"readonly\""
    },
    "side_conversation_create": {
      "type": "boolean",
      "description": "Whether or not the agent can contribute to side conversations"
    },
    "manage_organization_fields": {
      "type": "boolean",
      "description": "Whether or not the agent can create and manage organization fields"
    },
    "organization_notes_editing": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether or not the agent can add or modify organization notes"
    },
    "assign_tickets_to_any_group": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether or not the agent can assign tickets to any group"
    },
    "manage_contextual_workspaces": {
      "type": "boolean",
      "description": "Whether or not the agent can view, add, and edit contextual workspaces"
    },
    "manage_extensions_and_channels": {
      "type": "boolean",
      "description": "Whether or not the agent can manage channels and extensions"
    },
    "forum_access_restricted_content": {
      "type": "boolean"
    }
  },
  "description": "Configuration settings for the role. See [Configuration](https://developer.zendesk.com)"
}
object CustomRoleObject
{
  "type": "object",
  "title": "Custom Agent Roles",
  "required": [
    "name",
    "role_type"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned on creation"
    },
    "name": {
      "type": "string",
      "description": "Name of the custom role"
    },
    "role_type": {
      "type": "integer",
      "readOnly": true,
      "description": "The user's role. 0 stands for a custom agent, 1 for a light agent, 2 for a chat agent, 3 for a contributor, 4 for an admin and 5 for a billing admin. See [Understanding standard agent roles in Zendesk Support](https://support.zendesk.com/hc/en-us/articles/4409155971354-Understanding-standard-agent-roles-in-Zendesk-Support) in Zendesk help"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the record was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the record was last updated"
    },
    "description": {
      "type": "string",
      "description": "A description of the role"
    },
    "configuration": {
      "$ref": "#/components/schemas/CustomRoleConfigurationObject"
    },
    "team_member_count": {
      "type": "integer",
      "readOnly": true,
      "description": "The number of team members assigned to this role"
    }
  }
}
object CustomRoleResponse
{
  "type": "object",
  "properties": {
    "custom_role": {
      "$ref": "#/components/schemas/CustomRoleObject"
    }
  }
}
object CustomRolesResponse
{
  "type": "object",
  "properties": {
    "custom_roles": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomRoleObject"
      }
    }
  }
}
object CustomStatusCreateInput
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/CustomStatusUpdateInput"
    },
    {
      "type": "object",
      "properties": {
        "status_category": {
          "enum": [
            "new",
            "open",
            "pending",
            "hold",
            "solved"
          ],
          "type": "string",
          "description": "The status category the custom ticket status belongs to"
        }
      }
    }
  ]
}
object CustomStatusCreateRequest
{
  "type": "object",
  "properties": {
    "custom_status": {
      "$ref": "#/components/schemas/CustomStatusCreateInput"
    }
  }
}
object CustomStatusObject
{
  "type": "object",
  "required": [
    "status_category",
    "agent_label"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the custom ticket status is created"
    },
    "active": {
      "type": "boolean",
      "description": "If true, the custom status is set to active, If false, the custom status is set to inactive"
    },
    "default": {
      "type": "boolean",
      "description": "If true, the custom status is set to default. If false, the custom status is set to non-default"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The date and time the custom ticket status was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The date and time the custom ticket status was last updated"
    },
    "agent_label": {
      "type": "string",
      "description": "The label displayed to agents. Maximum length is 48 characters"
    },
    "description": {
      "type": "string",
      "description": "The description of when the user should select this custom ticket status"
    },
    "end_user_label": {
      "type": "string",
      "description": "The label displayed to end users. Maximum length is 48 characters"
    },
    "raw_agent_label": {
      "type": "string",
      "readOnly": true,
      "description": "The dynamic content placeholder. If the dynamic content placeholder is not available, this is the \"agent_label\" value. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "raw_description": {
      "type": "string",
      "readOnly": true,
      "description": "The dynamic content placeholder. If the dynamic content placeholder is not available, this is the \"description\" value. [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "status_category": {
      "enum": [
        "new",
        "open",
        "pending",
        "hold",
        "solved"
      ],
      "type": "string",
      "description": "The status category the custom ticket status belongs to"
    },
    "raw_end_user_label": {
      "type": "string",
      "readOnly": true,
      "description": "The dynamic content placeholder. If the dynamic content placeholder is not available, this is the \"end_user_label\" value. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "end_user_description": {
      "type": "string",
      "description": "The description displayed to end users"
    },
    "raw_end_user_description": {
      "type": "string",
      "readOnly": true,
      "description": "The dynamic content placeholder. If the dynamic content placeholder is not available, this is the \"end_user_description\" value. See [Dynamic Content Items](https://developer.zendesk.com)"
    }
  }
}
object CustomStatusResponse
{
  "type": "object",
  "properties": {
    "custom_status": {
      "$ref": "#/components/schemas/CustomStatusObject"
    }
  }
}
object CustomStatusUpdateInput
{
  "type": "object",
  "properties": {
    "active": {
      "type": "boolean",
      "description": "True if the custom status is set as active; inactive if false"
    },
    "agent_label": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"agent_label\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "description": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"description\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "end_user_label": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"end_user_label\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "end_user_description": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"end_user_description\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    }
  }
}
object CustomStatusUpdateRequest
{
  "type": "object",
  "properties": {
    "custom_status": {
      "$ref": "#/components/schemas/CustomStatusUpdateInput"
    }
  }
}
object CustomStatusesResponse
{
  "type": "object",
  "properties": {
    "custom_statuses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomStatusObject"
      }
    }
  }
}
object CustomTicketStatusesBulkUpdateDefaultResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object DefinitionsResponse
{
  "type": "object",
  "properties": {
    "definitions": {
      "type": "object",
      "properties": {
        "conditions_all": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              },
              "group": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "enabled": {
                      "type": "boolean"
                    }
                  }
                }
              },
              "subject": {
                "type": "string"
              },
              "nullable": {
                "type": "boolean"
              },
              "operators": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "terminal": {
                      "type": "boolean"
                    }
                  }
                }
              },
              "repeatable": {
                "type": "boolean"
              }
            }
          }
        },
        "conditions_any": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              },
              "group": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "enabled": {
                      "type": "boolean"
                    }
                  }
                }
              },
              "subject": {
                "type": "string"
              },
              "nullable": {
                "type": "boolean"
              },
              "operators": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "terminal": {
                      "type": "boolean"
                    }
                  }
                }
              },
              "repeatable": {
                "type": "boolean"
              }
            }
          }
        }
      }
    }
  }
}
object DeletedUserObject
{
  "type": "object",
  "required": [
    "id",
    "url",
    "name",
    "email",
    "created_at",
    "updated_at",
    "time_zone",
    "phone",
    "shared_phone_number",
    "photo",
    "locale_id",
    "locale",
    "organization_id",
    "role",
    "active"
  ],
  "properties": {
    "id": {
      "type": "integer"
    },
    "url": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "role": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "phone": {
      "type": "string",
      "nullable": true
    },
    "photo": {
      "type": "object",
      "nullable": true
    },
    "active": {
      "type": "boolean"
    },
    "locale": {
      "type": "string"
    },
    "locale_id": {
      "type": "integer"
    },
    "time_zone": {
      "type": "string"
    },
    "created_at": {
      "type": "string"
    },
    "updated_at": {
      "type": "string"
    },
    "organization_id": {
      "type": "integer"
    },
    "shared_phone_number": {
      "type": "string",
      "nullable": true
    }
  }
}
object DeletedUserResponse
{
  "type": "object",
  "properties": {
    "deleted_user": {
      "$ref": "#/components/schemas/DeletedUserObject"
    }
  }
}
object DeletedUsersResponse
{
  "type": "object",
  "properties": {
    "deleted_users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DeletedUserObject"
      }
    }
  }
}
object DynamicContentObject
{
  "type": "object",
  "title": "Dynamic Content Items",
  "required": [
    "name",
    "default_locale_id",
    "variants"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when creating items"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this item"
    },
    "name": {
      "type": "string",
      "description": "The unique name of the item"
    },
    "outdated": {
      "type": "boolean",
      "readOnly": true,
      "description": "Indicates the item has outdated variants within it"
    },
    "variants": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DynamicContentVariantObject"
      },
      "description": "All variants within this item. See [Dynamic Content Item Variants](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was last updated"
    },
    "placeholder": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically generated placeholder for the item, derived from name"
    },
    "default_locale_id": {
      "type": "integer",
      "description": "The default locale for the item. Must be one of the [locales the account has active](/api-reference/ticketing/account-configuration/locales/#list-locales)."
    }
  }
}
object DynamicContentResponse
{
  "type": "object",
  "properties": {
    "item": {
      "$ref": "#/components/schemas/DynamicContentObject"
    }
  }
}
object DynamicContentVariantObject
{
  "type": "object",
  "example": {
    "id": 23,
    "url": "https://subdomain.zendesk.com/api/v2/dynamic_content/items/3/variants/23.json",
    "active": true,
    "content": "This is my dynamic content in English",
    "default": true,
    "outdated": false,
    "locale_id": 125,
    "created_at": "2014-04-09T19:53:23Z",
    "updated_at": "2014-04-09T19:53:23Z"
  },
  "required": [
    "content",
    "locale_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the variant is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of the variant"
    },
    "active": {
      "type": "boolean",
      "description": "If the variant is active and useable"
    },
    "content": {
      "type": "string",
      "description": "The content of the variant"
    },
    "default": {
      "type": "boolean",
      "description": "If the variant is the default for the item it belongs to"
    },
    "outdated": {
      "type": "boolean",
      "readOnly": true,
      "description": "If the variant is outdated"
    },
    "locale_id": {
      "type": "integer",
      "description": "An active locale"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the variant was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the variant was last updated"
    }
  }
}
object DynamicContentVariantResponse
{
  "type": "object",
  "properties": {
    "variant": {
      "$ref": "#/components/schemas/DynamicContentVariantObject"
    }
  }
}
object DynamicContentVariantsResponse
{
  "type": "object",
  "properties": {
    "variants": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DynamicContentVariantObject"
      }
    }
  }
}
object DynamicContentsResponse
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/DynamicContentObject"
      }
    }
  }
}
object EmailCCObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/FollowerObject"
    },
    {
      "type": "object",
      "properties": {
        "action": {
          "enum": [
            "put",
            "delete"
          ],
          "type": "string"
        },
        "user_id": {
          "type": "string"
        },
        "user_name": {
          "type": "string"
        },
        "user_email": {
          "type": "string"
        }
      }
    }
  ]
}
object Error
{
  "type": "object",
  "required": [
    "code",
    "title"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "links": {
      "type": "object"
    },
    "title": {
      "type": "string"
    },
    "detail": {
      "type": "string"
    },
    "source": {
      "type": "object"
    },
    "status": {
      "type": "string"
    }
  }
}
object Errors
{
  "type": "object",
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Error"
      }
    }
  }
}
object EssentialsCardObject
{
  "type": "object",
  "example": {
    "id": "123",
    "key": "zen:custom_object:boat",
    "fields": [
      {
        "id": null,
        "zrn": "zen:user:identity:email"
      },
      {
        "id": null,
        "zrn": "zen:user:field:standard:external_id"
      },
      {
        "id": null,
        "zrn": "zen:user:field:standard:iana_time_zone"
      },
      {
        "id": null,
        "zrn": "zen:user:field:standard:locale"
      },
      {
        "id": null,
        "zrn": "zen:user:field:standard:organization_id"
      }
    ],
    "layout": "essentials_card",
    "default": true,
    "max_count": 20,
    "created_at": "2012-04-02T22:55:29Z",
    "updated_at": "2012-04-02T22:55:29Z"
  },
  "required": [
    "fields"
  ],
  "properties": {
    "id": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "id of the essentials card\n"
    },
    "key": {
      "type": "string",
      "readOnly": true,
      "description": "Object type. Example: `zen:user` refers to `User` type\n"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Fields that are displayed in the essentials card details. The order is defined by the order of the fields in the array"
    },
    "layout": {
      "type": "string",
      "readOnly": true,
      "description": "layout type\n"
    },
    "default": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the system has used the first twenty fields for the custom object type as the essentials card."
    },
    "max_count": {
      "type": "integer",
      "readOnly": true,
      "description": "Maximum number of fields allowed in the essentials card"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Date and time the essentials card were created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Date and time the essentials card were last updated"
    }
  }
}
object EssentialsCardResponse
{
  "type": "object",
  "properties": {
    "object_layout": {
      "$ref": "#/components/schemas/EssentialsCardObject"
    }
  }
}
object EssentialsCardsResponse
{
  "type": "object",
  "properties": {
    "object_layouts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EssentialsCardObject"
      }
    }
  }
}
object ExportIncrementalOrganizationsResponse
{
  "type": "object",
  "example": {
    "count": 1,
    "end_time": 1601357503,
    "next_page": "https://example.zendesk.com/api/v2/incremental/ticket_events.json?start_time=1601357503",
    "end_of_stream": true,
    "organizations": [
      {
        "id": 4112492,
        "url": "https://example.zendesk.com/api/v2/organizations/4112492.json",
        "name": "Groablet Enterprises",
        "tags": [
          "smiley",
          "teapot_kettle"
        ],
        "notes": "donkey",
        "details": "caterpillar =)",
        "group_id": 1835962,
        "created_at": "2018-11-14T00:14:52Z",
        "updated_at": "2018-11-14T00:54:22Z",
        "external_id": "ABC198",
        "domain_names": [
          "remain.com"
        ],
        "shared_tickets": false,
        "shared_comments": false,
        "organization_fields": {
          "datepudding": "2018-11-04T00:00:00+00:00",
          "org_field_1": "happy happy",
          "org_field_2": "teapot_kettle"
        }
      }
    ]
  },
  "properties": {
    "count": {
      "type": "integer"
    },
    "end_time": {
      "type": "integer"
    },
    "next_page": {
      "type": "string",
      "nullable": true
    },
    "end_of_stream": {
      "type": "boolean"
    },
    "organizations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OrganizationObject"
      }
    }
  }
}
object ExportIncrementalTicketEventsResponse
{
  "type": "object",
  "example": {
    "count": 1,
    "end_time": 1601357503,
    "next_page": "https://example.zendesk.com/api/v2/incremental/ticket_events.json?start_time=1601357503",
    "end_of_stream": true,
    "ticket_events": [
      {
        "id": 926256957613,
        "time": "2020-10-26T12:53:12Z",
        "type": "measure",
        "metric": "agent_work_time",
        "ticket_id": 155,
        "instance_id": 1
      }
    ]
  },
  "properties": {
    "count": {
      "type": "integer"
    },
    "end_time": {
      "type": "integer"
    },
    "next_page": {
      "type": "string",
      "nullable": true
    },
    "end_of_stream": {
      "type": "boolean"
    },
    "ticket_events": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketMetricEventBaseObject"
      }
    }
  }
}
object FollowerObject
{
  "type": "object",
  "properties": {
    "action": {
      "enum": [
        "put",
        "delete"
      ],
      "type": "string"
    },
    "user_id": {
      "type": "string"
    },
    "user_email": {
      "type": "string",
      "format": "email"
    }
  }
}
object GroupMembershipObject
{
  "type": "object",
  "required": [
    "user_id",
    "group_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this record"
    },
    "default": {
      "type": "boolean",
      "description": "If true, tickets assigned directly to the agent will assume this membership's group"
    },
    "user_id": {
      "type": "integer",
      "description": "The id of an agent"
    },
    "group_id": {
      "type": "integer",
      "description": "The id of a group"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the group was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the group"
    }
  }
}
object GroupMembershipResponse
{
  "type": "object",
  "properties": {
    "group_membership": {
      "$ref": "#/components/schemas/GroupMembershipObject"
    }
  }
}
object GroupMembershipsResponse
{
  "type": "object",
  "properties": {
    "group_memberships": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GroupMembershipObject"
      }
    }
  }
}
object GroupObject
{
  "type": "object",
  "example": {
    "id": 3432,
    "url": "https://company.zendesk.com/api/v2/groups/3432.json",
    "name": "First Level Support",
    "default": true,
    "deleted": false,
    "is_public": true,
    "created_at": "2009-07-20T22:55:29Z",
    "updated_at": "2011-05-05T10:38:52Z",
    "description": "Some clever description here"
  },
  "required": [
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when creating groups"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of the group"
    },
    "name": {
      "type": "string",
      "description": "The name of the group"
    },
    "default": {
      "type": "boolean",
      "readOnly": true,
      "description": "If the group is the default one for the account"
    },
    "deleted": {
      "type": "boolean",
      "readOnly": true,
      "description": "Deleted groups get marked as such"
    },
    "is_public": {
      "type": "boolean",
      "description": "If true, the group is public.\nIf false, the group is private.\nYou can't change a private group to a public group\n"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the group was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the group"
    },
    "description": {
      "type": "string",
      "description": "The description of the group"
    }
  }
}
object GroupResponse
{
  "type": "object",
  "properties": {
    "group": {
      "$ref": "#/components/schemas/GroupObject"
    }
  }
}
object GroupSLAPoliciesResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "group_sla_policies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GroupSLAPolicyObject"
      }
    }
  }
}
object GroupSLAPolicyFilterConditionObject
{
  "type": "object",
  "properties": {
    "field": {
      "type": "string",
      "description": "The name of a ticket field"
    },
    "value": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          }
        ]
      },
      "description": "The value of a ticket field"
    },
    "operator": {
      "type": "string",
      "description": "A comparison operator"
    }
  }
}
object GroupSLAPolicyFilterDefinitionResponse
{
  "type": "object",
  "properties": {
    "definitions": {
      "type": "object",
      "properties": {
        "all": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "group": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "value": {
                "type": "string"
              },
              "values": {
                "type": "object",
                "properties": {
                  "list": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "value": {
                          "type": "integer",
                          "nullable": true
                        }
                      }
                    }
                  },
                  "type": {
                    "type": "string"
                  }
                }
              },
              "operators": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
object GroupSLAPolicyFilterObject
{
  "type": "object",
  "properties": {
    "all": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GroupSLAPolicyFilterConditionObject"
      }
    }
  },
  "description": "An object that describes the conditions a ticket must match for a Group SLA policy to be applied to the ticket. See [Filter](https://developer.zendesk.com)."
}
object GroupSLAPolicyMetricObject
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string",
      "description": "The definition of the time that is being measured"
    },
    "target": {
      "type": "integer",
      "description": "The time within which the end-state for a metric should be met"
    },
    "priority": {
      "type": "string",
      "description": "Priority that a ticket must match"
    },
    "business_hours": {
      "type": "boolean",
      "description": "Whether the metric targets are being measured in business hours or calendar hours"
    }
  }
}
object GroupSLAPolicyObject
{
  "type": "object",
  "example": {
    "id": "01H078CBDY28BZG7P6BONY09DN",
    "url": "https://company.zendesk.com/api/v2/group_slas/policies/01H078CBDY28BZG7P6BONY09DN.json",
    "title": "Tier 1",
    "filter": {
      "all": []
    },
    "position": 3,
    "created_at": "2023-03-17T22:50:26Z",
    "updated_at": "2023-03-17T22:50:26Z",
    "description": "Group: Tier 1",
    "policy_metrics": [
      {
        "metric": "group_ownership_time",
        "target": 3600,
        "priority": "low",
        "business_hours": false
      }
    ]
  },
  "required": [
    "title",
    "filter"
  ],
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "URL of the Group SLA policy record"
    },
    "title": {
      "type": "string",
      "description": "The title of the Group SLA policy"
    },
    "filter": {
      "$ref": "#/components/schemas/GroupSLAPolicyFilterObject"
    },
    "position": {
      "type": "integer",
      "description": "Position of the Group SLA policy. This position determines the order in which policies are matched to tickets. If not specified, the Group SLA policy is added at the last position"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the Group SLA policy was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the Group SLA policy"
    },
    "description": {
      "type": "string",
      "description": "The description of the Group SLA policy"
    },
    "policy_metrics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GroupSLAPolicyMetricObject"
      },
      "description": "Array of [policy metric](https://developer.zendesk.com) objects"
    }
  }
}
object GroupSLAPolicyResponse
{
  "type": "object",
  "properties": {
    "group_sla_policy": {
      "$ref": "#/components/schemas/GroupSLAPolicyObject"
    }
  }
}
string GroupSlaPoliciesReorderResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object GroupsCountObject
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "readOnly": true,
          "description": "Approximate count of groups"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time",
          "readOnly": true,
          "description": "Timestamp that indicates when the count was last updated"
        }
      }
    }
  }
}
object GroupsResponse
{
  "type": "object",
  "properties": {
    "groups": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/GroupObject"
      }
    }
  }
}
object HostMappingObject
{
  "type": "object",
  "title": "Host Mapping",
  "example": {
    "cname": "google.com",
    "reason": "wrong_cname",
    "is_valid": false,
    "expected_cnames": [
      "bar.zendesk.coom"
    ]
  },
  "properties": {
    "cname": {
      "type": "string",
      "description": "The canonical name record for a host mapping"
    },
    "reason": {
      "type": "string",
      "description": "Reason why a host mapping is valid or not"
    },
    "is_valid": {
      "type": "boolean",
      "description": "Whether a host mapping is valid or not for a given brand"
    },
    "expected_cnames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of expected CNAME records for host mapping(s) of a given brand"
    }
  }
}
object IncrementalSkillBasedRouting
{
  "type": "object",
  "title": "Incremental Skill-based Routing",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "The number of results returned for the current request"
    },
    "end_time": {
      "type": "integer",
      "readOnly": true,
      "description": "The most recent resource creation time present in this result set in Unix epoch time"
    },
    "next_page": {
      "type": "string",
      "readOnly": true,
      "description": "The URL that should be called to get the next set of results"
    },
    "attributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/IncrementalSkillBasedRoutingAttribute"
      },
      "description": "Routing attributes"
    },
    "instance_values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/IncrementalSkillBasedRoutingInstanceValue"
      },
      "description": "Routing instance values"
    },
    "attribute_values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/IncrementalSkillBasedRoutingAttributeValue"
      },
      "description": "Routing attribute values"
    }
  }
}
object IncrementalSkillBasedRoutingAttribute
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned when an attribute is created"
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the attribute"
    },
    "time": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the attribute was created, updated, or deleted"
    },
    "type": {
      "type": "string",
      "readOnly": true,
      "description": "One of \"create\", \"update\", or \"delete\""
    }
  }
}
object IncrementalSkillBasedRoutingAttributeValue
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned when an attribute value is created"
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the attribute value"
    },
    "time": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the attribute value was created, updated, or deleted"
    },
    "type": {
      "type": "string",
      "readOnly": true,
      "description": "One of \"create\", \"update\", or \"delete\""
    },
    "attribute_id": {
      "type": "string",
      "readOnly": true,
      "description": "Id of the associated attribute"
    }
  }
}
object IncrementalSkillBasedRoutingInstanceValue
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned when an instance value is created"
    },
    "time": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the instance value was created or deleted"
    },
    "type": {
      "type": "string",
      "readOnly": true,
      "description": "One of \"associate_agent\", \"unassociate_agent\", \"associate_ticket\", or \"unassociate_ticket\""
    },
    "instance_id": {
      "type": "string",
      "readOnly": true,
      "description": "Id of the associated agent or ticket"
    },
    "attribute_value_id": {
      "type": "string",
      "readOnly": true,
      "description": "Id of the associated attribute value"
    }
  }
}
object JobStatusObject
{
  "type": "object",
  "example": {
    "id": "82de0b044094f0c67893ac9fe64f1a99",
    "url": "https://example.zendesk.com/api/v2/job_statuses/82de0b0467893ac9fe64f1a99.json",
    "total": 2,
    "status": "completed",
    "message": "Completed at 2018-03-08 10:07:04 +0000",
    "results": [
      {
        "id": 244,
        "action": "update",
        "status": "Updated",
        "success": true
      },
      {
        "id": 245,
        "action": "update",
        "status": "Updated",
        "success": true
      }
    ],
    "progress": 2
  },
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned when the job is queued"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The URL to poll for status updates"
    },
    "total": {
      "type": "integer",
      "nullable": true,
      "readOnly": true,
      "description": "The total number of tasks this job is batching through"
    },
    "status": {
      "type": "string",
      "readOnly": true,
      "description": "The current status. One of the following: \"queued\", \"working\", \"failed\", \"completed\""
    },
    "message": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "Message from the job worker, if any"
    },
    "results": {
      "oneOf": [
        {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/JobStatusResultObject"
          },
          "nullable": true
        },
        {
          "type": "object",
          "required": [
            "success"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "readOnly": true,
              "description": "Whether the action was successful or not"
            }
          }
        }
      ],
      "readOnly": true,
      "description": "Result data from processed tasks. See [Results](https://developer.zendesk.com) below"
    },
    "job_type": {
      "type": "string",
      "readOnly": true,
      "description": "The type of the job"
    },
    "progress": {
      "type": "integer",
      "nullable": true,
      "readOnly": true,
      "description": "Number of tasks that have already been completed"
    }
  }
}
object JobStatusResponse
{
  "type": "object",
  "properties": {
    "job_status": {
      "$ref": "#/components/schemas/JobStatusObject"
    }
  }
}
object JobStatusResultObject
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/CreateResourceResult"
    },
    {
      "$ref": "#/components/schemas/UpdateResourceResult"
    }
  ],
  "additionalProperties": true
}
object JobStatusesResponse
{
  "type": "object",
  "required": [
    "job_statuses"
  ],
  "properties": {
    "job_statuses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/JobStatusObject"
      }
    }
  }
}
object ListDeletedTicketsResponse
{
  "type": "object",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "deleted_tickets": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer"
              },
              "actor": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  }
                }
              },
              "subject": {
                "type": "string"
              },
              "deleted_at": {
                "type": "string"
              },
              "previous_state": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    {
      "$ref": "#/components/schemas/OffsetPaginationObject"
    }
  ]
}
object ListTicketCollaboratorsResponse
{
  "type": "object",
  "additionalProperties": true
}
object ListTicketEmailCCsResponse
{
  "type": "object",
  "additionalProperties": true
}
object ListTicketFollowersResponse
{
  "type": "object",
  "additionalProperties": true
}
object ListTicketIncidentsResponse
{
  "type": "object",
  "additionalProperties": true
}
object ListTicketProblemsResponse
{
  "type": "object",
  "additionalProperties": true
}
object LocaleObject
{
  "type": "object",
  "example": {
    "id": 1,
    "url": "https://company.zendesk.com/api/v2/locales/en-US.json",
    "name": "English",
    "locale": "en-US",
    "created_at": "2009-07-20T22:55:29Z",
    "updated_at": "2011-05-05T10:38:52Z"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The unique ID of the locale"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The URL of the locale record"
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the language"
    },
    "locale": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the locale"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The ISO 8601 formatted date-time the locale was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The ISO 8601 formatted date-time when the locale was last updated"
    }
  }
}
object LocaleResponse
{
  "type": "object",
  "properties": {
    "locale": {
      "$ref": "#/components/schemas/LocaleObject"
    }
  }
}
object LocalesResponse
{
  "type": "object",
  "properties": {
    "locales": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/LocaleObject"
      }
    }
  }
}
object MacroApplyTicketResponse
{
  "type": "object",
  "properties": {
    "result": {
      "type": "object",
      "properties": {
        "ticket": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer"
            },
            "url": {
              "type": "string"
            },
            "fields": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "value": {
                  "type": "string"
                }
              }
            },
            "comment": {
              "type": "object",
              "properties": {
                "body": {
                  "type": "string"
                },
                "public": {
                  "type": "boolean"
                },
                "scoped_body": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "group_id": {
              "type": "integer"
            },
            "assignee_id": {
              "type": "integer"
            }
          }
        }
      }
    }
  }
}
object MacroAttachmentObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "size": {
      "type": "integer",
      "readOnly": true,
      "description": "The size of the image file in bytes"
    },
    "filename": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the image file"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time when this attachment was created"
    },
    "content_url": {
      "type": "string",
      "readOnly": true,
      "description": "A full URL where the attachment image file can be downloaded"
    },
    "content_type": {
      "type": "string",
      "readOnly": true,
      "description": "The content type of the image. Example value: \"image/png\""
    }
  }
}
object MacroAttachmentResponse
{
  "type": "object",
  "properties": {
    "macro_attachment": {
      "$ref": "#/components/schemas/MacroAttachmentObject"
    }
  }
}
object MacroAttachmentsResponse
{
  "type": "object",
  "properties": {
    "macro_attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MacroAttachmentObject"
      }
    }
  }
}
object MacroCategoriesResponse
{
  "type": "object",
  "properties": {
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
object MacroCommonObject
{
  "type": "object",
  "example": {
    "id": 360111062754,
    "url": "https://subdomain.zendesk.com/api/v2/macros/360111062754.json",
    "title": "Close and redirect to topics",
    "active": true,
    "actions": [
      {
        "field": "status",
        "value": "solved"
      },
      {
        "field": "priority",
        "value": "normal"
      },
      {
        "field": "type",
        "value": "incident"
      },
      {
        "field": "assignee_id",
        "value": "current_user"
      },
      {
        "field": "group_id",
        "value": "current_groups"
      },
      {
        "field": "comment_value",
        "value": "Thanks for your request. This issue you reported is a known issue. For more information, please visit our forums. "
      }
    ],
    "default": false,
    "position": 9999,
    "created_at": "2019-09-16T02:17:38Z",
    "updated_at": "2019-09-16T02:17:38Z",
    "description": null,
    "restriction": null
  },
  "required": [
    "actions",
    "title"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The ID automatically assigned when a macro is created"
    },
    "url": {
      "type": "string",
      "description": "A URL to access the macro's details"
    },
    "title": {
      "type": "string",
      "description": "The title of the macro"
    },
    "active": {
      "type": "boolean",
      "description": "Useful for determining if the macro should be displayed"
    },
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActionObject"
      },
      "description": "Each action describes what the macro will do. See [Actions reference](https://developer.zendesk.com)"
    },
    "default": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the macro is a default macro"
    },
    "position": {
      "type": "integer",
      "description": "The position of the macro"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time the macro was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time of the last update of the macro"
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the macro"
    },
    "restriction": {
      "type": "object",
      "nullable": true,
      "description": "Access to this macro. A null value allows unrestricted access for all users in the account",
      "additionalProperties": true
    }
  }
}
object MacroInput
{
  "type": "object",
  "required": [
    "title",
    "actions"
  ],
  "properties": {
    "title": {
      "type": "string",
      "description": "The title of the macro"
    },
    "active": {
      "type": "boolean",
      "description": "Useful for determining if the macro should be displayed"
    },
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActionObject"
      },
      "description": "Each action describes what the macro will do"
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the macro"
    },
    "restriction": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "The numeric ID of the group or user"
        },
        "ids": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "The numeric IDs of the groups"
        },
        "type": {
          "type": "string",
          "description": "Allowed values are Group or User"
        }
      },
      "description": "Who may access this macro. Will be null when everyone in the account can access it",
      "additionalProperties": true
    }
  }
}
object MacroObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/MacroCommonObject"
    },
    {
      "type": "object",
      "properties": {
        "usage_1h": {
          "type": "integer",
          "description": "The number of times each macro has been used in the past hour"
        },
        "usage_7d": {
          "type": "integer",
          "description": "The number of times each macro has been used in the past week"
        },
        "usage_24h": {
          "type": "integer",
          "description": "The number of times each macro has been used in the past day"
        },
        "usage_30d": {
          "type": "integer",
          "description": "The number of times each macro has been used in the past thirty days"
        },
        "categories": {
          "type": "string",
          "nullable": true,
          "description": "The macro categories"
        },
        "permissions": {
          "type": "string",
          "nullable": true,
          "description": "Permissions for each macro"
        },
        "app_installation": {
          "type": "string",
          "nullable": true,
          "description": "The app installation that requires each macro, if present"
        }
      }
    }
  ],
  "example": {
    "id": 25,
    "title": "Close and Save",
    "active": true,
    "actions": [],
    "position": 42,
    "description": "Sets the ticket status to `solved`",
    "restriction": {
      "id": 4,
      "type": "User"
    }
  }
}
object MacroResponse
{
  "type": "object",
  "properties": {
    "macro": {
      "$ref": "#/components/schemas/MacroObject"
    }
  }
}
object MacroUpdateManyInput
{
  "type": "object",
  "properties": {
    "macros": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "description": "The ID of the macro to update"
          },
          "active": {
            "type": "boolean",
            "description": "The active status of the macro (true or false)"
          },
          "position": {
            "type": "integer",
            "description": "The new position of the macro"
          }
        }
      }
    }
  }
}
object MacrosCreateNewMacroRequest
{
  "type": "object",
  "properties": {
    "macro": {
      "$ref": "#/components/schemas/MacroInput"
    }
  }
}
object MacrosCreateNewMacroResponse
{
  "type": "object",
  "properties": {
    "macro": {
      "$ref": "#/components/schemas/MacroObject"
    }
  }
}
object MacrosListActionDefinitionsResponse
{
  "type": "object",
  "properties": {
    "definitions": {
      "type": "object",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    }
  }
}
object MacrosListSupportedActionsResponse
{
  "type": "object",
  "properties": {
    "actions": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    }
  }
}
object MacrosResponse
{
  "type": "object",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "macros": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/MacroObject"
          }
        }
      }
    },
    {
      "$ref": "#/components/schemas/OffsetPaginationObject"
    }
  ]
}
object MacrosUpdateMacroAgentRequest
{
  "type": "object",
  "properties": {
    "macro": {
      "$ref": "#/components/schemas/MacroInput"
    }
  }
}
object MacrosUpdateMacroAgentResponse
{
  "type": "object",
  "properties": {
    "macro": {
      "$ref": "#/components/schemas/MacroObject"
    }
  }
}
object OffsetPaginationObject
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "description": "the total record count"
    },
    "next_page": {
      "type": "string",
      "format": "url",
      "nullable": true,
      "description": "the URL of the next page"
    },
    "previous_page": {
      "type": "string",
      "format": "url",
      "nullable": true,
      "description": "the URL of the previous page"
    }
  }
}
object OrganizationFieldResponse
{
  "type": "object",
  "properties": {
    "organization_field": {
      "$ref": "#/components/schemas/CustomFieldObject"
    }
  }
}
string OrganizationFieldsReorderFieldResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object OrganizationFieldsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "Total count of records retrieved"
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "URL of the next page"
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "URL of the previous page"
    },
    "organization_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldObject"
      }
    }
  }
}
object OrganizationMembershipObject
{
  "type": "object",
  "example": {
    "id": 4,
    "url": "https://example.zendesk.com/api/v2/organization_memberships/4.json",
    "default": true,
    "user_id": 29,
    "created_at": "2009-05-13T00:07:08Z",
    "updated_at": "2011-07-22T00:11:12Z",
    "view_tickets": true,
    "organization_id": 12,
    "organization_name": "first organization"
  },
  "required": [
    "user_id",
    "organization_id",
    "default"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the membership is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this membership"
    },
    "default": {
      "type": "boolean",
      "nullable": true,
      "description": "Denotes whether this is the default organization membership for the user. If false, returns `null`"
    },
    "user_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The ID of the user for whom this memberships belongs"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record last got updated"
    },
    "view_tickets": {
      "type": "boolean",
      "readOnly": true,
      "description": "Denotes whether the user can or cannot have access to all organization's tickets."
    },
    "organization_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The ID of the organization associated with this user, in this membership"
    },
    "organization_name": {
      "type": "string",
      "readOnly": true,
      "description": "The name of the organization associated with this user, in this membership"
    }
  }
}
object OrganizationMembershipResponse
{
  "type": "object",
  "properties": {
    "organization_membership": {
      "$ref": "#/components/schemas/OrganizationMembershipObject"
    }
  }
}
object OrganizationMembershipsResponse
{
  "type": "object",
  "properties": {
    "organization_memberships": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OrganizationMembershipObject"
      }
    }
  }
}
object OrganizationMergeListResponse
{
  "type": "object",
  "properties": {
    "organization_merges": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "string"
          },
          "url": {
            "type": "string",
            "format": "string"
          },
          "status": {
            "enum": [
              "new",
              "in_progress",
              "error",
              "complete"
            ],
            "type": "string"
          },
          "loser_id": {
            "type": "integer"
          },
          "winner_id": {
            "type": "integer"
          }
        }
      },
      "required": [
        "id",
        "url",
        "loser_id",
        "winner_id",
        "status"
      ]
    }
  }
}
object OrganizationMergeRequest
{
  "type": "object",
  "properties": {
    "organization_merge": {
      "type": "object",
      "properties": {
        "winner_id": {
          "type": "integer",
          "required": [
            "winner_id"
          ],
          "description": "The id of the winning organization."
        }
      }
    }
  }
}
object OrganizationMergeResponse
{
  "type": "object",
  "properties": {
    "organization_merge": {
      "type": "object",
      "required": [
        "id",
        "url",
        "loser_id",
        "winner_id",
        "status"
      ],
      "properties": {
        "id": {
          "type": "string",
          "format": "string"
        },
        "url": {
          "type": "string",
          "format": "string"
        },
        "status": {
          "enum": [
            "new",
            "in_progress",
            "error",
            "complete"
          ],
          "type": "string"
        },
        "loser_id": {
          "type": "integer"
        },
        "winner_id": {
          "type": "integer"
        }
      }
    }
  }
}
object OrganizationMetadataObject
{
  "type": "object",
  "properties": {
    "users_count": {
      "type": "integer",
      "description": "The number of users for the organization"
    },
    "tickets_count": {
      "type": "integer",
      "description": "The number of tickets for the organization"
    }
  }
}
object OrganizationObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "url": "https://company.zendesk.com/api/v2/organizations/35436.json",
    "name": "One Organization",
    "tags": [
      "enterprise",
      "other_tag"
    ],
    "notes": "",
    "details": "This is a kind of organization",
    "group_id": null,
    "created_at": "2009-07-20T22:55:29Z",
    "updated_at": "2011-05-05T10:38:52Z",
    "external_id": "ABC123",
    "domain_names": [
      "example.com",
      "test.com"
    ],
    "shared_tickets": true,
    "shared_comments": true,
    "organization_fields": {
      "org_decimal": 5.2,
      "org_dropdown": "option_1"
    }
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "Automatically assigned when the organization is created"
    },
    "url": {
      "type": "string",
      "description": "The API url of this organization"
    },
    "name": {
      "type": "string",
      "description": "A unique name for the organization"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tags of the organization"
    },
    "notes": {
      "type": "string",
      "nullable": true,
      "description": "Any notes you have about the organization"
    },
    "details": {
      "type": "string",
      "nullable": true,
      "description": "Any details obout the organization, such as the address"
    },
    "group_id": {
      "type": "integer",
      "nullable": true,
      "description": "New tickets from users in this organization are automatically put in this group"
    },
    "created_at": {
      "type": "string",
      "readOnly": true,
      "description": "The time the organization was created"
    },
    "updated_at": {
      "type": "string",
      "readOnly": true,
      "description": "The time of the last update of the organization"
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "A unique external id to associate organizations to an external record. The id is case-insensitive. For example, \"company1\" and \"Company1\" are considered the same"
    },
    "domain_names": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of domain names associated with this organization"
    },
    "shared_tickets": {
      "type": "boolean",
      "description": "End users in this organization are able to see each other's tickets"
    },
    "shared_comments": {
      "type": "boolean",
      "description": "End users in this organization are able to comment on each other's tickets"
    },
    "organization_fields": {
      "type": "object",
      "nullable": true,
      "description": "Custom fields for this organization. See [Custom organization fields](/api-reference/ticketing/organizations/organizations/#custom-organization-fields)",
      "additionalProperties": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          }
        ]
      }
    }
  }
}
object OrganizationResponse
{
  "type": "object",
  "properties": {
    "organization": {
      "$ref": "#/components/schemas/OrganizationObject"
    }
  }
}
object OrganizationSubscriptionCreateRequest
{
  "type": "object",
  "properties": {
    "organization_subscription": {
      "$ref": "#/components/schemas/OrganizationSubscriptionInput"
    }
  }
}
object OrganizationSubscriptionInput
{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "integer",
      "description": "The ID of the user"
    },
    "organization_id": {
      "type": "integer",
      "description": "The ID of the organization"
    }
  }
}
object OrganizationSubscriptionObject
{
  "type": "object",
  "title": "Organization Subscriptions",
  "example": {
    "id": 1234,
    "user_id": 482,
    "created_at": "2009-07-20T22:55:29Z",
    "organization_id": 32
  },
  "properties": {
    "id": {
      "type": "integer",
      "description": "The ID of the organization subscription"
    },
    "user_id": {
      "type": "integer",
      "description": "The ID of the user"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date the organization subscription was created"
    },
    "organization_id": {
      "type": "integer",
      "description": "The ID of the organization"
    }
  }
}
object OrganizationSubscriptionResponse
{
  "type": "object",
  "properties": {
    "organization_subscription": {
      "$ref": "#/components/schemas/OrganizationSubscriptionObject"
    }
  }
}
object OrganizationSubscriptionsResponse
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/OffsetPaginationObject"
    },
    {
      "type": "object",
      "properties": {
        "organization_subscriptions": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/OrganizationSubscriptionObject"
          },
          "description": "An array of organization subscriptions"
        }
      }
    }
  ]
}
object OrganizationsRelatedResponse
{
  "type": "object",
  "properties": {
    "organization_related": {
      "$ref": "#/components/schemas/OrganizationMetadataObject"
    }
  }
}
object OrganizationsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "next_page": {
      "type": "string",
      "nullable": true
    },
    "organizations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OrganizationObject"
      }
    },
    "previous_page": {
      "type": "string",
      "nullable": true
    }
  }
}
object Pagination
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "has_more": {
          "type": "boolean"
        },
        "after_cursor": {
          "type": "string"
        },
        "before_cursor": {
          "type": "string"
        }
      }
    },
    "links": {
      "type": "object",
      "properties": {
        "next": {
          "type": "string"
        },
        "prev": {
          "type": "string"
        }
      }
    }
  }
}
string PushNotificationDevicesBulkUnregisterResponse
{
  "type": "string",
  "example": "",
  "description": "empty"
}
array PushNotificationDevicesInput
{
  "type": "array",
  "items": {
    "type": "string",
    "description": "Mobile device token"
  }
}
object PushNotificationDevicesRequest
{
  "type": "object",
  "properties": {
    "push_notification_devices": {
      "$ref": "#/components/schemas/PushNotificationDevicesInput"
    }
  }
}
object QueueObject
{
  "type": "object",
  "example": {
    "id": "01HG80ATNNZK1N7XRFVKX48XD6",
    "url": "https://company.zendesk.com/api/v2/queues/01HG80ATNNZK1N7XRFVKX48XD6.json",
    "name": "New queue with valid definition",
    "order": 1,
    "priority": 1,
    "created_at": "2023-11-27T09:03:59Z",
    "definition": {
      "all": [
        {
          "field": "priority",
          "value": "urgent",
          "operator": "is"
        }
      ],
      "any": []
    },
    "updated_at": "2023-11-27T09:03:59Z",
    "description": "Queue description",
    "primary_groups": {
      "count": 2,
      "groups": [
        {
          "id": 6784729637757,
          "name": "EWR"
        },
        {
          "id": 5399674286077,
          "name": "test"
        }
      ]
    },
    "secondary_groups": {
      "count": 0,
      "groups": []
    }
  },
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned when creating queue"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API URL of the queue"
    },
    "name": {
      "type": "string",
      "description": "The name of the queue"
    },
    "order": {
      "type": "integer",
      "description": "The queue-applied order"
    },
    "priority": {
      "type": "integer",
      "description": "The queue-applied priority"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the queue was created"
    },
    "definition": {
      "type": "object",
      "properties": {
        "all": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "value": {
                "type": "string"
              },
              "operator": {
                "type": "string"
              }
            }
          }
        },
        "any": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "field": {
                "type": "string"
              },
              "value": {
                "type": "string"
              },
              "operator": {
                "type": "string"
              }
            }
          }
        }
      },
      "description": "Conditions when queue could be applied"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the queue's last update"
    },
    "description": {
      "type": "string",
      "description": "The description of the queue"
    },
    "primary_groups": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              }
            }
          }
        }
      },
      "description": "Primary group ids linked to the queue"
    },
    "secondary_groups": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              }
            }
          }
        }
      },
      "description": "Secondary group ids linked to the queue"
    }
  }
}
object QueueResponse
{
  "type": "object",
  "properties": {
    "queue": {
      "$ref": "#/components/schemas/QueueObject"
    }
  }
}
object QueuesResponse
{
  "type": "object",
  "properties": {
    "queues": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/QueueObject"
      }
    }
  }
}
object RecoverSuspendedTicketResponse
{
  "type": "object",
  "properties": {
    "ticket": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SuspendedTicketObject"
      }
    }
  }
}
object RecoverSuspendedTicketUnprocessableContentResponse
{
  "type": "object",
  "properties": {
    "ticket": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SuspendedTicketObject"
      }
    }
  }
}
object RecoverSuspendedTicketsResponse
{
  "type": "object",
  "properties": {
    "tickets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SuspendedTicketObject"
      }
    }
  }
}
object RelationshipFilterDefinition
{
  "type": "object",
  "properties": {
    "conditions_all": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerConditionDefinitionObjectAll"
      }
    },
    "conditions_any": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerConditionDefinitionObjectAny"
      }
    }
  }
}
object RelationshipFilterDefinitionResponse
{
  "type": "object",
  "properties": {
    "definitions": {
      "$ref": "#/components/schemas/RelationshipFilterDefinition"
    }
  }
}
object RenewSessionResponse
{
  "type": "object",
  "properties": {
    "authenticity_token": {
      "type": "string",
      "description": "A token of authenticity for the request"
    }
  }
}
object RequestObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "url": "https://company.zendesk.com/api/v2/requests/35436.json",
    "via": {
      "channel": "web"
    },
    "type": "problem",
    "due_at": "2011-05-24T12:00:00Z",
    "status": "open",
    "subject": "Help, my printer is on fire!",
    "group_id": 8665,
    "priority": "normal",
    "created_at": "2009-07-20T22:55:29Z",
    "updated_at": "2011-05-05T10:38:52Z",
    "assignee_id": 72983,
    "description": "The fire is very colorful.",
    "requester_id": 1462,
    "ticket_form_id": 2,
    "organization_id": 509974,
    "collaborator_ids": [],
    "can_be_solved_by_me": false
  },
  "required": [
    "subject"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when creating requests"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this request"
    },
    "via": {
      "$ref": "#/components/schemas/TicketAuditViaObject"
    },
    "type": {
      "type": "string",
      "description": "The type of the request, \"question\", \"incident\", \"problem\", \"task\""
    },
    "due_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the task is due (only applies if the request is of type \"task\")"
    },
    "solved": {
      "type": "boolean",
      "description": "Whether or not request is solved (an end user can set this if \"can_be_solved_by_me\", above, is true for that user)"
    },
    "status": {
      "type": "string",
      "description": "The state of the request, \"new\", \"open\", \"pending\", \"hold\", \"solved\", \"closed\""
    },
    "subject": {
      "type": "string",
      "description": "The value of the subject field for this request if the subject field is visible to end users; a truncated version of the description otherwise"
    },
    "group_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the assigned group if the field is visible to end users"
    },
    "priority": {
      "type": "string",
      "description": "The priority of the request, \"low\", \"normal\", \"high\", \"urgent\""
    },
    "is_public": {
      "type": "boolean",
      "readOnly": true,
      "description": "Is true if any comments are public, false otherwise"
    },
    "recipient": {
      "type": "string",
      "description": "The original recipient e-mail address of the request"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record last got updated"
    },
    "assignee_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the assignee if the field is visible to end users"
    },
    "description": {
      "type": "string",
      "readOnly": true,
      "description": "Read-only first comment on the request. When [creating a request](https://developer.zendesk.com), use `comment` to set the description"
    },
    "email_cc_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "readOnly": true,
      "description": "The ids of users who are currently email CCs on the ticket. See [CCs and followers resources](https://support.zendesk.com/hc/en-us/articles/360020585233) in the Support Help Center"
    },
    "requester_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the requester"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "description": "Custom fields for the request. See [Setting custom field values](/api-reference/ticketing/tickets/tickets/#setting-custom-field-values) in the Tickets doc"
    },
    "ticket_form_id": {
      "type": "integer",
      "description": "The numeric id of the ticket form associated with this request if the form is visible to end users - only applicable for enterprise accounts"
    },
    "organization_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The organization of the requester"
    },
    "collaborator_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "readOnly": true,
      "description": "The ids of users currently CC'ed on the ticket"
    },
    "custom_status_id": {
      "type": "integer",
      "description": "The custom ticket status id of the ticket"
    },
    "followup_source_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the original ticket if this request is a follow-up ticket. See [Create Request](https://developer.zendesk.com)"
    },
    "can_be_solved_by_me": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, an end user can mark the request as solved. See [Update Request](/api-reference/ticketing/tickets/ticket-requests/#update-request)"
    }
  }
}
object RequestResponse
{
  "type": "object",
  "properties": {
    "request": {
      "$ref": "#/components/schemas/RequestObject"
    }
  }
}
object RequestsResponse
{
  "type": "object",
  "properties": {
    "requests": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RequestObject"
      }
    }
  }
}
object ResellerCheckSubdomainAvailabilityResponse
{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    }
  }
}
object ResourceCollectionObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "resources": [
      {
        "type": "triggers",
        "deleted": false,
        "identifier": "email_on_ticket_solved",
        "resource_id": 10824486485524
      },
      {
        "type": "ticket_fields",
        "deleted": false,
        "identifier": "support_description",
        "resource_id": 10824486482580
      }
    ],
    "created_at": "2011-07-20T22:55:29Z",
    "updated_at": "2011-07-20T22:55:29Z"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "id for the resource collection. Automatically assigned upon creation"
    },
    "resources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean"
          },
          "identifier": {
            "type": "string"
          },
          "resource_id": {
            "type": "integer"
          }
        }
      },
      "readOnly": true,
      "description": "Array of resource metadata objects. See [Resource objects](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the resource collection was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Last time the resource collection was updated"
    }
  }
}
object ResourceCollectionResponse
{
  "type": "object",
  "properties": {
    "resource_collection": {
      "$ref": "#/components/schemas/ResourceCollectionObject"
    }
  }
}
object ResourceCollectionsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "resource_collections": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ResourceCollectionObject"
      }
    }
  }
}
object ReverseLookupResponse
{
  "type": "object",
  "anyOf": [
    {
      "$ref": "#/components/schemas/UsersResponse"
    }
  ]
}
object SLAPoliciesResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "sla_policies": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SLAPolicyObject"
      }
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object SLAPolicyFilterConditionObject
{
  "type": "object",
  "properties": {
    "field": {
      "type": "string",
      "description": "The name of a ticket field"
    },
    "value": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          }
        }
      ],
      "description": "The value of a ticket field"
    },
    "operator": {
      "type": "string",
      "description": "A comparison operator"
    }
  }
}
object SLAPolicyFilterDefinitionResponse
{
  "type": "object",
  "properties": {
    "definitions": {
      "type": "object",
      "properties": {
        "all": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "group": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "value": {
                "type": "string"
              },
              "target": {
                "type": "string",
                "nullable": true
              },
              "values": {
                "type": "object",
                "properties": {
                  "list": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string",
                          "nullable": true
                        }
                      }
                    }
                  },
                  "type": {
                    "type": "string"
                  }
                }
              },
              "operators": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "any": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "group": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "value": {
                "type": "string"
              },
              "target": {
                "type": "string",
                "nullable": true
              },
              "values": {
                "type": "object",
                "properties": {
                  "list": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "title": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string",
                          "nullable": true
                        }
                      }
                    }
                  },
                  "type": {
                    "type": "string"
                  }
                }
              },
              "operators": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
object SLAPolicyFilterObject
{
  "type": "object",
  "properties": {
    "all": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SLAPolicyFilterConditionObject"
      }
    },
    "any": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SLAPolicyFilterConditionObject"
      }
    }
  },
  "description": "An object that describes the conditions that a ticket must match in order for an SLA policy to be applied to that ticket. See [Filter](https://developer.zendesk.com)."
}
object SLAPolicyMetricObject
{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string",
      "description": "The definition of the time that is being measured"
    },
    "target": {
      "type": "integer",
      "description": "The time within which the end-state for a metric should be met"
    },
    "priority": {
      "type": "string",
      "description": "Priority that a ticket must match"
    },
    "business_hours": {
      "type": "boolean",
      "description": "Whether the metric targets are being measured in business hours or calendar hours"
    }
  }
}
object SLAPolicyObject
{
  "type": "object",
  "example": {
    "id": 25,
    "url": "https://company.zendesk.com/api/v2/slas/policies/25.json",
    "title": "Silver Plan",
    "filter": {
      "all": [
        {
          "field": "type",
          "value": "incident",
          "operator": "is"
        },
        {
          "field": "via_id",
          "value": "4",
          "operator": "is"
        },
        {
          "field": "custom_status_id",
          "value": [
            "1",
            "2"
          ],
          "operator": "includes"
        }
      ],
      "any": []
    },
    "position": 3,
    "created_at": "2015-03-17T22:50:26Z",
    "updated_at": "2015-03-17T22:50:26Z",
    "description": "Organizations: Silver Plan",
    "policy_metrics": [
      {
        "metric": "first_reply_time",
        "target": 60,
        "priority": "low",
        "business_hours": false
      }
    ]
  },
  "required": [
    "title",
    "filter"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "URL of the SLA Policy reacord"
    },
    "title": {
      "type": "string",
      "description": "The title of the SLA policy"
    },
    "filter": {
      "$ref": "#/components/schemas/SLAPolicyFilterObject"
    },
    "position": {
      "type": "integer",
      "description": "Position of the SLA policy that determines the order they will be matched. If not specified, the SLA policy is added as the last position"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the SLA policy was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the SLA policy"
    },
    "description": {
      "type": "string",
      "description": "The description of the SLA policy"
    },
    "policy_metrics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SLAPolicyMetricObject"
      },
      "description": "Array of [Policy Metric](https://developer.zendesk.com) objects"
    }
  }
}
object SLAPolicyResponse
{
  "type": "object",
  "properties": {
    "sla_policy": {
      "$ref": "#/components/schemas/SLAPolicyObject"
    }
  }
}
object SatisfactionRatingObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "url": "https://company.zendesk.com/api/v2/satisfaction_ratings/62.json",
    "score": "good",
    "group_id": 44,
    "ticket_id": 208,
    "created_at": "2011-07-20T22:55:29Z",
    "updated_at": "2011-07-20T22:55:29Z",
    "assignee_id": 135,
    "requester_id": 7881
  },
  "required": [
    "assignee_id",
    "group_id",
    "requester_id",
    "ticket_id",
    "score"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this rating"
    },
    "score": {
      "type": "string",
      "description": "The rating \"offered\", \"unoffered\", \"good\" or \"bad\""
    },
    "reason": {
      "type": "string",
      "description": "The reason for a bad rating given by the requester in a follow-up question. Satisfaction reasons must be [enabled](https://support.zendesk.com/hc/en-us/articles/223152967)"
    },
    "comment": {
      "type": "string",
      "description": "The comment received with this rating, if available"
    },
    "group_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of group assigned to at the time of rating"
    },
    "reason_id": {
      "type": "integer",
      "description": "id for the reason the user gave a negative rating. Can only be set on ratings with a `score` of \"bad\". To get a descriptive value for the id, use the [Show Reason for Satisfaction Rating](/api-reference/ticketing/ticket-management/satisfaction_reasons/#show-reason-for-satisfaction-rating) endpoint"
    },
    "ticket_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of ticket being rated"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the satisfaction rating got created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the satisfaction rating got updated"
    },
    "assignee_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of agent assigned to at the time of rating"
    },
    "reason_code": {
      "type": "integer",
      "description": "The default reasons the user can select from a list menu for giving a negative rating. See [Reason codes](/api-reference/ticketing/ticket-management/satisfaction_reasons/#reason-codes) in the Satisfaction Reasons API. Can only be set on ratings with a `score` of \"bad\". Responses don't include this property"
    },
    "requester_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of ticket requester submitting the rating"
    }
  }
}
object SatisfactionRatingResponse
{
  "type": "object",
  "properties": {
    "satisfaction_rating": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SatisfactionRatingObject"
      }
    }
  }
}
object SatisfactionRatingsCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}
object SatisfactionRatingsResponse
{
  "type": "object",
  "properties": {
    "satisfaction_ratings": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SatisfactionRatingObject"
      }
    }
  }
}
object SatisfactionReasonObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "url": "https://example.zendesk.com/api/v2/satisfaction_reasons/35436.json",
    "value": "Agent did not respond quickly",
    "raw_value": "{{dc.reason_code_1003}}",
    "created_at": "2011-07-20T22:55:29Z",
    "deleted_at": "2012-03-12T12:45:32Z",
    "updated_at": "2011-07-20T22:55:29Z",
    "reason_code": 1003
  },
  "required": [
    "value"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "API URL for the resource"
    },
    "value": {
      "type": "string",
      "description": "Translated value of the reason in the account locale"
    },
    "raw_value": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the current \"value\", if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the reason was created"
    },
    "deleted_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the reason was deleted"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the reason was updated"
    },
    "reason_code": {
      "type": "integer",
      "readOnly": true,
      "description": "An account-level code for referencing the reason. Custom reasons are assigned an auto-incrementing integer (non-system reason codes begin at 1000). See [Reason codes](https://developer.zendesk.com)"
    }
  }
}
object SatisfactionReasonResponse
{
  "type": "object",
  "properties": {
    "reason": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SatisfactionReasonObject"
      }
    }
  }
}
object SatisfactionReasonsResponse
{
  "type": "object",
  "properties": {
    "reasons": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SatisfactionReasonObject"
      }
    }
  }
}
object SearchCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    }
  }
}
object SearchExportResponse
{
  "type": "object",
  "example": {
    "meta": {
      "has_more": true,
      "after_cursor": "eyJmaWVsZCI6ImNyZWF0ZWRfYXQiLCJkZXNjIjp0cnVlLCJ0aWVCcmVha0ZpZWxkIjoiaWQiLCJ0aWVCcmVha0Rlc2MiOmZhbHNlLCJzb3J0VmFsdWVzIjpudWxsLCJleHBvcnRlZFRodXNGYXIiOjAsInNlc3Npb25TdGFydCI6MTYwNzAzOTI1Mzk4NSwiY3JlYXRlZEF0IjoxNjA3MDM5MjUzOTg1LCJzYWx0ZWRSZXF1ZXN0SGFzaCI6LTQ5ODM0ODc3LCJzYWx0ZWRDdXJzb3JIYXNoIjotMjQwMzQ4MjgwfQ==",
      "before_cursor": null
    },
    "links": {
      "next": "https://example.zendesk.com/api/v2/search/export.json?filter%5Btype%5D=ticket&page%5Bafter%5D=eyJmaWVsZCI6ImNyZWF0ZWRfYXQiLCJkZXNjIjp0cnVlLCJ0aWVCcmVha0ZpZWxkIjoiaWQiLCJ0aWVCcmVha0Rlc2MiOmZhbHNlLCJzb3J0VmFsdWVzIjpudWxsLCJleHBvcnRlZFRodXNGYXIiOjAsInNlc3Npb25TdGFydCI6MTYwNzAzOTI1Mzk4NSwiY3JlYXRlZEF0IjoxNjA3MDM5MjUzOTg1LCJzYWx0ZWRSZXF1ZXN0SGFzaCI6LTQ5ODM0ODc3LCJzYWx0ZWRDdXJzb3JIYXNoIjotMjQwMzQ4MjgwfQ%3D%3D&page%5Bsize%5D=100&query=hello%26page%5Bsize%5D%3D100%26filter%5Btype%5D%3Dticket",
      "prev": null
    },
    "facets": null,
    "results": []
  },
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "has_more": {
          "type": "boolean",
          "readOnly": true,
          "description": "Whether there are more items yet to be returned by the cursor."
        },
        "after_cursor": {
          "type": "string",
          "nullable": true,
          "readOnly": true,
          "description": "The cursor id for the next object."
        },
        "before_cursor": {
          "type": "string",
          "nullable": true,
          "readOnly": true,
          "description": "The cursor id for the previous object."
        }
      },
      "description": "Metadata for the export query response."
    },
    "links": {
      "type": "object",
      "properties": {
        "next": {
          "type": "string",
          "nullable": true,
          "readOnly": true,
          "description": "The url to the next entry via the cursor."
        },
        "prev": {
          "type": "string",
          "nullable": true,
          "readOnly": true,
          "description": "The url to the previous entry via the cursor."
        }
      },
      "description": "The links to the previous and next entries via the cursor ids in the metadata."
    },
    "facets": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "The facets corresponding to the search query"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SearchResultObject"
      },
      "readOnly": true,
      "description": "May consist of tickets, users, groups, or organizations, as specified by the `result_type` property in each result object"
    }
  }
}
object SearchResponse
{
  "type": "object",
  "example": {
    "count": 1,
    "facets": null,
    "results": [
      {
        "id": 1835972,
        "url": "https://example.zendesk.com/api/v2/groups/1835972.json",
        "name": "Ragtail",
        "default": false,
        "deleted": false,
        "created_at": "2018-04-06T03:17:05Z",
        "updated_at": "2018-04-06T03:17:05Z",
        "description": "",
        "result_type": "group"
      }
    ],
    "next_page": null,
    "previous_page": null
  },
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "The number of resources returned by the query corresponding to this page of results in the paginated response"
    },
    "facets": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "The facets corresponding to the search query"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SearchResultObject"
      },
      "readOnly": true,
      "description": "May consist of tickets, users, groups, or organizations, as specified by the `result_type` property in each result object"
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "URL to the next page of results"
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "URL to the previous page of results"
    }
  }
}
object SearchResultObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "The ID of the resource"
    },
    "url": {
      "type": "string",
      "description": "The url of the resource"
    },
    "name": {
      "type": "string",
      "description": "The name of the resource"
    },
    "default": {
      "type": "boolean",
      "description": "Flag to indicate whether this is the default resource"
    },
    "deleted": {
      "type": "boolean",
      "description": "Flag to indicate whether or not resource has been deleted"
    },
    "created_at": {
      "type": "string",
      "description": "When the resource was created"
    },
    "updated_at": {
      "type": "string",
      "description": "When the resource was last updated"
    },
    "description": {
      "type": "string",
      "description": "The description of the resource"
    },
    "result_type": {
      "type": "string",
      "description": "The type of the resource"
    }
  }
}
object SessionObject
{
  "type": "object",
  "example": {
    "id": 3432,
    "url": "https://company.zendesk.com/api/v2/users/12345/sessions/3432.json",
    "user_id": 12345,
    "last_seen_at": "2014-11-18T17:30:52Z",
    "authenticated_at": "2014-11-18T17:24:29Z"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "Automatically assigned when the session is created"
    },
    "url": {
      "type": "string",
      "nullable": true,
      "description": "The API URL of this session"
    },
    "user_id": {
      "type": "integer",
      "nullable": true,
      "description": "The id of the user"
    },
    "last_seen_at": {
      "type": "string",
      "nullable": true,
      "description": "The last approximate time this session was seen. This does not update on every request."
    },
    "authenticated_at": {
      "type": "string",
      "nullable": true,
      "description": "When the session was created"
    }
  }
}
object SessionResponse
{
  "type": "object",
  "properties": {
    "session": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SessionObject"
      }
    }
  }
}
object SessionsResponse
{
  "type": "object",
  "properties": {
    "sessions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SessionObject"
      }
    }
  }
}
object SharingAgreementObject
{
  "type": "object",
  "example": {
    "id": 88335,
    "url": "https://company.zendesk.com/api/v2/agreements/88335.json",
    "name": "Ticket Sharing",
    "type": "inbound",
    "status": "accepted",
    "created_at": "2012-02-20T22:55:29Z",
    "updated_at": "2013-02-20T22:55:29Z",
    "partner_name": "jira"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "URL of the sharing agreement record"
    },
    "name": {
      "type": "string",
      "description": "Name of this sharing agreement"
    },
    "type": {
      "type": "string",
      "description": "Can be one of the following: \"inbound\", \"outbound\""
    },
    "status": {
      "type": "string",
      "description": "Can be one of the following: \"accepted\", \"declined\", \"pending\", \"inactive\", \"failed\", \"ssl_error\", \"configuration_error\""
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the record was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the record was updated"
    },
    "partner_name": {
      "type": "string",
      "nullable": true,
      "description": "Can be one of the following: \"jira\", null"
    },
    "remote_subdomain": {
      "type": "string",
      "description": "Subdomain of the remote account or null if not associated with an account"
    }
  }
}
object SharingAgreementResponse
{
  "type": "object",
  "properties": {
    "sharing_agreement": {
      "$ref": "#/components/schemas/SharingAgreementObject"
    }
  }
}
object SharingAgreementsResponse
{
  "type": "object",
  "properties": {
    "sharing_agreements": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SharingAgreementObject"
      }
    }
  }
}
object SkillBasedRoutingAttributeDefinitions
{
  "type": "object",
  "properties": {
    "definitions": {
      "type": "object",
      "properties": {
        "conditions_all": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "subject": {
                "type": "string"
              }
            }
          }
        },
        "conditions_any": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "subject": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}
object SkillBasedRoutingAttributeObject
{
  "type": "object",
  "example": {
    "id": "15821cba-7326-11e8-b07e-950ba849aa27",
    "url": "https://{subdomain}.zendesk.com/api/v2/routing/attributes/15821cba-7326-11e8-b07e-950ba849aa27.json",
    "name": "color",
    "created_at": "2017-12-01T19:29:31Z",
    "updated_at": "2017-12-01T19:29:31Z"
  },
  "required": [
    "name"
  ],
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned when an attribute is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "URL of the attribute"
    },
    "name": {
      "type": "string",
      "description": "The name of the attribute"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was last updated"
    }
  }
}
object SkillBasedRoutingAttributeResponse
{
  "type": "object",
  "properties": {
    "attribute": {
      "$ref": "#/components/schemas/SkillBasedRoutingAttributeObject"
    }
  }
}
object SkillBasedRoutingAttributeValueObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true,
      "description": "Automatically assigned when an attribute value is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "URL of the attribute value"
    },
    "name": {
      "type": "string",
      "description": "The name of the attribute value"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was last updated"
    },
    "attribute_id": {
      "type": "string",
      "description": "Id of the associated attribute"
    }
  }
}
object SkillBasedRoutingAttributeValueResponse
{
  "type": "object",
  "properties": {
    "attribute_value": {
      "$ref": "#/components/schemas/SkillBasedRoutingAttributeValueObject"
    }
  }
}
object SkillBasedRoutingAttributeValuesResponse
{
  "type": "object",
  "properties": {
    "attribute_values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SkillBasedRoutingAttributeValueObject"
      }
    }
  }
}
object SkillBasedRoutingAttributesResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "attributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SkillBasedRoutingAttributeObject"
      }
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object SkillBasedRoutingTicketFulfilledResponse
{
  "type": "object",
  "properties": {
    "fulfilled_ticket_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      }
    }
  }
}
string SlaPoliciesReorderSlaPoliciesResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object SupportAddressObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "name": "all",
    "email": "support@example.zendesk.com",
    "default": true,
    "brand_id": 123,
    "created_at": "2015-07-20T22:55:29Z",
    "spf_status": "verified",
    "updated_at": "2016-09-21T20:15:20Z",
    "cname_status": "verified",
    "forwarding_status": "unknown",
    "domain_verification_status": "verified"
  },
  "required": [
    "email"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "name": {
      "type": "string",
      "description": "The name for the address"
    },
    "email": {
      "type": "string",
      "description": "The email address. You can't change the email address of an existing support address."
    },
    "default": {
      "type": "boolean",
      "description": "Whether the address is the account's default support address"
    },
    "brand_id": {
      "type": "integer",
      "description": "The ID of the [brand](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the address was created"
    },
    "spf_status": {
      "enum": [
        "unknown",
        "verified",
        "failed"
      ],
      "type": "string",
      "readOnly": true,
      "description": "Whether the SPF record is set up correctly. Possible values: \"unknown\", \"verified\", \"failed\""
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the address was updated"
    },
    "dns_results": {
      "enum": [
        "verified",
        "failed"
      ],
      "type": "string",
      "readOnly": true,
      "description": "Verification statuses for the domain and CNAME records. Possible types: \"verified\", \"failed\""
    },
    "cname_status": {
      "enum": [
        "unknown",
        "verified",
        "failed"
      ],
      "type": "string",
      "readOnly": true,
      "description": "Whether all of the required CNAME records are set. Possible values: \"unknown\", \"verified\", \"failed\""
    },
    "forwarding_status": {
      "enum": [
        "unknown",
        "waiting",
        "verified",
        "failed"
      ],
      "type": "string",
      "readOnly": true,
      "description": "Status of email forwarding. Possible values: \"unknown\", \"waiting\", \"verified\", or \"failed\""
    },
    "domain_verification_code": {
      "type": "string",
      "readOnly": true,
      "description": "Verification string to be added as a TXT record to the domain. Possible types: string or null."
    },
    "domain_verification_status": {
      "enum": [
        "unknown",
        "verified",
        "failed"
      ],
      "type": "string",
      "readOnly": true,
      "description": "Whether the domain verification record is valid. Possible values: \"unknown\", \"verified\", \"failed\""
    }
  }
}
object SupportAddressResponse
{
  "type": "object",
  "properties": {
    "recipient_address": {
      "$ref": "#/components/schemas/SupportAddressObject"
    }
  }
}
object SupportAddressesResponse
{
  "type": "object",
  "properties": {
    "recipient_addresses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SupportAddressObject"
      }
    }
  }
}
string SupportAddressesVerifyForwardingResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object SuspendedTicketObject
{
  "type": "object",
  "example": {
    "id": 435,
    "url": "https://example.zendesk.com/api/v2/tickets/35436.json",
    "via": {
      "source": {
        "to": {
          "name": "Example Account",
          "address": "support@example.zendesk.com"
        },
        "rel": null,
        "from": {
          "name": "TotallyLegit",
          "address": "totallylegit@emailaddress.com"
        }
      },
      "channel": "email"
    },
    "cause": "Detected as spam",
    "author": {
      "id": 1111,
      "name": "Mr. Roboto",
      "email": "styx@example.com"
    },
    "content": "Out Of Office Reply",
    "subject": "Help, my printer is on fire!",
    "brand_id": 123,
    "cause_id": 0,
    "recipient": "john@example.com",
    "ticket_id": 67321,
    "created_at": "2009-07-20T22:55:29Z",
    "message_id": "Spambot@spam.co.evil",
    "updated_at": "2011-05-05T10:38:52Z",
    "attachments": [],
    "error_messages": null
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this ticket"
    },
    "via": {
      "$ref": "#/components/schemas/ViaObject"
    },
    "cause": {
      "type": "string",
      "readOnly": true,
      "description": "Why the ticket was suspended"
    },
    "author": {
      "$ref": "#/components/schemas/AuthorObject"
    },
    "content": {
      "type": "string",
      "readOnly": true,
      "description": "The content that was flagged"
    },
    "subject": {
      "type": "string",
      "readOnly": true,
      "description": "The value of the subject field for this ticket"
    },
    "brand_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the brand this ticket is associated with. Only applicable for Enterprise accounts"
    },
    "cause_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The ID of the cause"
    },
    "recipient": {
      "type": "string",
      "readOnly": true,
      "description": "The original recipient e-mail address of the ticket"
    },
    "ticket_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The ticket ID this suspended email is associated with, if available"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The ticket ID this suspended email is associated with, if available"
    },
    "message_id": {
      "type": "string",
      "readOnly": true,
      "description": "The ID of the email, if available"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the ticket was assigned"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AttachmentObject"
      },
      "nullable": true,
      "readOnly": true,
      "description": "The attachments, if any associated to this suspended ticket. See [Attachments](https://developer.zendesk.com)"
    },
    "error_messages": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "nullable": true,
      "readOnly": true,
      "description": "The error messages if any associated to this suspended ticket"
    }
  },
  "x-konfig-properties": {
    "author": {
      "type": "object",
      "readOnly": true,
      "description": "The author id (if available), name and email"
    }
  }
}
object SuspendedTicketResponse
{
  "type": "object",
  "properties": {
    "suspended_ticket": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SuspendedTicketObject"
      }
    }
  }
}
object SuspendedTicketsAttachmentsResponse
{
  "type": "object",
  "properties": {
    "upload": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "readOnly": true,
          "description": "Token for subsequent request"
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/AttachmentObject"
          }
        }
      }
    }
  }
}
object SuspendedTicketsExportResponse
{
  "type": "object",
  "properties": {
    "export": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "readOnly": true
        },
        "view_id": {
          "type": "string",
          "readOnly": true
        }
      }
    }
  }
}
object SuspendedTicketsResponse
{
  "type": "object",
  "properties": {
    "suspended_tickets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SuspendedTicketObject"
      }
    }
  }
}
object SystemFieldOptionObject
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "Name of the system field option"
    },
    "value": {
      "type": "string",
      "readOnly": true,
      "description": "Value of the system field option"
    }
  }
}
object TagCountObject
{
  "type": "object",
  "properties": {
    "value": {
      "type": "integer",
      "readOnly": true,
      "description": "The count of tags created in the last 24 hours"
    },
    "refreshed_at": {
      "type": "string",
      "readOnly": true,
      "description": "The time that the count value was last refreshed"
    }
  }
}
object TagCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "$ref": "#/components/schemas/TagCountObject"
    }
  }
}
object TagListTagObject
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "A name for the tag"
    },
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "The number of tags"
    }
  }
}
object TagUrlObject
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The url associated to the api request"
    }
  }
}
object TagsByObjectIdResponse
{
  "type": "object",
  "required": [
    "tags"
  ],
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of strings"
    }
  }
}
object TagsResponse
{
  "type": "object",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TagListTagObject"
      }
    },
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "The number of pages"
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "The url of the previous page"
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "The url of the next page"
    }
  }
}
object TargetBasecamp
{
  "type": "object",
  "required": [
    "target_url",
    "token",
    "project_id",
    "resource"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Get the API token from My info > Show your tokens > Token for feed readers or the Basecamp API in your Basecamp account"
    },
    "password": {
      "type": "string",
      "description": "The 37Signals password for the Basecamp account (only writable)"
    },
    "resource": {
      "type": "string",
      "description": "\"todo\" or \"message\""
    },
    "username": {
      "type": "string",
      "description": "The 37Signals username of the account you use to log in to Basecamp"
    },
    "message_id": {
      "type": "string",
      "description": "Can be filled if it is a \"message\" resource"
    },
    "project_id": {
      "type": "string",
      "description": "The ID of the project in Basecamp where updates should be pushed"
    },
    "target_url": {
      "type": "string",
      "description": "The URL of your Basecamp account, including protocol and path"
    },
    "todo_list_id": {
      "type": "string",
      "description": "Can be filled if it is a \"todo\" resource"
    }
  }
}
object TargetCampfire
{
  "type": "object",
  "required": [
    "subdomain",
    "room",
    "token"
  ],
  "properties": {
    "ssl": {
      "type": "boolean"
    },
    "room": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "subdomain": {
      "type": "string"
    },
    "preserve_format": {
      "type": "boolean"
    }
  }
}
object TargetClickatell
{
  "type": "object",
  "required": [
    "username",
    "password",
    "api_id",
    "to"
  ],
  "properties": {
    "to": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "api_id": {
      "type": "string"
    },
    "method": {
      "type": "string",
      "description": "Read-only"
    },
    "password": {
      "type": "string",
      "description": "only writable"
    },
    "username": {
      "type": "string"
    },
    "attribute": {
      "type": "string",
      "description": "Read-only"
    },
    "target_url": {
      "type": "string",
      "description": "Read-only"
    },
    "us_small_business_account": {
      "type": "string"
    }
  }
}
object TargetCommonFields
{
  "type": "object",
  "required": [
    "title",
    "type"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "type": {
      "type": "string",
      "description": "A pre-defined target, such as \"basecamp_target\". See the additional attributes for the type that follow"
    },
    "title": {
      "type": "string",
      "description": "A name for the target"
    },
    "active": {
      "type": "boolean",
      "description": "Whether or not the target is activated"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the target was created"
    }
  }
}
object TargetEmail
{
  "type": "object",
  "required": [
    "email",
    "subject"
  ],
  "properties": {
    "email": {
      "type": "string"
    },
    "subject": {
      "type": "string"
    }
  }
}
object TargetFailureObject
{
  "type": "object",
  "example": {
    "id": 6001326,
    "url": "https://example.zendesk.com/api/v2/target_failures/6001326.json",
    "created_at": "2017-09-05T10:38:52Z",
    "raw_request": "GET /api/v2/tickets.json HTTP/1.1\r\nUser-Agent: Zendesk Target\r\n ...",
    "status_code": 401,
    "target_name": "My URL Target",
    "raw_response": "HTTP/1.1 401 Unauthorized\r\nServer: nginx\r\n ...",
    "consecutive_failure_count": 1
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "The ID of the target failure"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of the failure record"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Time of the failure"
    },
    "raw_request": {
      "type": "string",
      "readOnly": true,
      "description": "The raw message of the target request"
    },
    "status_code": {
      "type": "integer",
      "readOnly": true,
      "description": "HTTP status code of the target failure"
    },
    "target_name": {
      "type": "string",
      "readOnly": true,
      "description": "Name of the target failure"
    },
    "raw_response": {
      "type": "string",
      "readOnly": true,
      "description": "The raw response of the failure"
    },
    "consecutive_failure_count": {
      "type": "integer",
      "readOnly": true,
      "description": "Number of times the target failed consecutively"
    }
  }
}
object TargetFailureResponse
{
  "type": "object",
  "properties": {
    "target_failure": {
      "$ref": "#/components/schemas/TargetFailureObject"
    }
  }
}
object TargetFailuresResponse
{
  "type": "object",
  "properties": {
    "target_failures": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TargetFailureObject"
      }
    }
  }
}
object TargetFlowdock
{
  "type": "object",
  "required": [
    "api_token"
  ],
  "properties": {
    "api_token": {
      "type": "string"
    }
  }
}
object TargetGetSatisfaction
{
  "type": "object",
  "required": [
    "email",
    "password",
    "account_name"
  ],
  "properties": {
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string",
      "description": "only writable"
    },
    "target_url": {
      "type": "string"
    },
    "account_name": {
      "type": "string"
    }
  }
}
object TargetHTTP
{
  "type": "object",
  "required": [
    "target_url",
    "method",
    "content_type"
  ],
  "properties": {
    "method": {
      "type": "string",
      "description": "\"get\", \"patch\", \"put\", \"post\", or \"delete\""
    },
    "password": {
      "type": "string",
      "description": "only writable"
    },
    "username": {
      "type": "string"
    },
    "target_url": {
      "type": "string"
    },
    "content_type": {
      "type": "string",
      "description": "\"application/json\", \"application/xml\", or \"application/x-www-form-urlencoded\""
    }
  }
}
object TargetJira
{
  "type": "object",
  "required": [
    "target_url",
    "username",
    "password"
  ],
  "properties": {
    "password": {
      "type": "string",
      "description": "only writable"
    },
    "username": {
      "type": "string"
    },
    "target_url": {
      "type": "string"
    }
  }
}
object TargetObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/TargetCommonFields"
    },
    {
      "anyOf": [
        {
          "$ref": "#/components/schemas/TargetBasecamp"
        },
        {
          "$ref": "#/components/schemas/TargetCampfire"
        },
        {
          "$ref": "#/components/schemas/TargetClickatell"
        },
        {
          "$ref": "#/components/schemas/TargetEmail"
        },
        {
          "$ref": "#/components/schemas/TargetFlowdock"
        },
        {
          "$ref": "#/components/schemas/TargetGetSatisfaction"
        },
        {
          "$ref": "#/components/schemas/TargetJira"
        },
        {
          "$ref": "#/components/schemas/TargetPivotal"
        },
        {
          "$ref": "#/components/schemas/TargetTwitter"
        },
        {
          "$ref": "#/components/schemas/TargetURL"
        },
        {
          "$ref": "#/components/schemas/TargetHTTP"
        },
        {
          "$ref": "#/components/schemas/TargetYammer"
        }
      ]
    }
  ],
  "example": {
    "id": 88335,
    "url": "https://company.zendesk.com/api/v2/targets/88335.json",
    "type": "basecamp_target",
    "title": "basecamp target",
    "active": false,
    "created_at": "2012-02-20T22:55:29Z"
  },
  "additionalProperties": true
}
object TargetPivotal
{
  "type": "object",
  "required": [
    "token",
    "project_id",
    "story_type",
    "story_title"
  ],
  "properties": {
    "token": {
      "type": "string"
    },
    "owner_by": {
      "type": "string"
    },
    "project_id": {
      "type": "string"
    },
    "story_type": {
      "type": "string"
    },
    "story_title": {
      "type": "string"
    },
    "requested_by": {
      "type": "string"
    },
    "story_labels": {
      "type": "string"
    }
  }
}
object TargetResponse
{
  "type": "object",
  "properties": {
    "target": {
      "$ref": "#/components/schemas/TargetObject"
    }
  }
}
object TargetTwitter
{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    },
    "secret": {
      "type": "string",
      "description": "only writable"
    }
  }
}
object TargetURL
{
  "type": "object",
  "required": [
    "target_url",
    "attribute"
  ],
  "properties": {
    "method": {
      "type": "string",
      "description": "\"get\""
    },
    "password": {
      "type": "string",
      "description": "only writable"
    },
    "username": {
      "type": "string"
    },
    "attribute": {
      "type": "string"
    },
    "target_url": {
      "type": "string"
    }
  }
}
object TargetYammer
{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    },
    "group_id": {
      "type": "string"
    }
  }
}
object TargetsResponse
{
  "type": "object",
  "properties": {
    "targets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TargetObject"
      }
    }
  }
}
object TicketAuditObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "via": {
      "channel": "web"
    },
    "events": [
      {
        "id": 1564245,
        "body": "Thanks for your help!",
        "type": "Comment",
        "public": true,
        "attachments": []
      },
      {
        "id": 1564246,
        "body": "Ticket #47 has been updated",
        "type": "Notification",
        "subject": "Your ticket has been updated"
      }
    ],
    "metadata": {
      "custom": {
        "time_spent": "3m22s"
      },
      "system": {
        "ip_address": "184.106.40.75"
      }
    },
    "author_id": 35436,
    "ticket_id": 47,
    "created_at": "2009-07-20T22:55:29Z"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when creating audits"
    },
    "via": {
      "$ref": "#/components/schemas/TicketAuditViaObject"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "An array of the events that happened in this audit. See the [Ticket Audit events reference](https://developer.zendesk.com)"
    },
    "metadata": {
      "type": "object",
      "readOnly": true,
      "description": "Metadata for the audit, custom and system data",
      "additionalProperties": true
    },
    "author_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The user who created the audit"
    },
    "ticket_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The ID of the associated ticket"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the audit was created"
    }
  }
}
object TicketAuditResponse
{
  "type": "object",
  "properties": {
    "audit": {
      "$ref": "#/components/schemas/TicketAuditObject"
    }
  }
}
object TicketAuditViaObject
{
  "type": "object",
  "properties": {
    "source": {
      "type": "object",
      "readOnly": true,
      "description": "For some channels a source object gives more information about how or why the ticket or event was created",
      "additionalProperties": true
    },
    "channel": {
      "type": "string",
      "readOnly": true,
      "description": "This tells you how the ticket or event was created. Examples: \"web\", \"mobile\", \"rule\", \"system\""
    }
  },
  "description": "Describes how the object was created. See the [Via object reference](https://developer.zendesk.com)"
}
string TicketAuditsConvertToPrivateResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object TicketAuditsCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}
object TicketAuditsResponse
{
  "type": "object",
  "properties": {
    "audits": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketAuditObject"
      }
    },
    "after_url": {
      "type": "string",
      "readOnly": true
    },
    "before_url": {
      "type": "string",
      "readOnly": true
    },
    "after_cursor": {
      "type": "string",
      "readOnly": true
    },
    "before_cursor": {
      "type": "string",
      "readOnly": true
    }
  }
}
object TicketAuditsResponseNoneCursor
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "audits": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketAuditObject"
      }
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object TicketBulkImportRequest
{
  "type": "object",
  "properties": {
    "tickets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketImportInput"
      }
    }
  }
}
object TicketChatCommentRedactionResponse
{
  "type": "object",
  "example": {
    "chat_event": {
      "id": 1932802680168,
      "type": "ChatStartedEvent",
      "value": {
        "chat_id": "2109.10502823.Sjuj2YrBpXwei",
        "history": [
          {
            "type": "ChatJoin",
            "actor_id": 1900448983828,
            "timestamp": 1632470783218,
            "actor_name": "Visitor 36044085",
            "actor_type": "end-user",
            "chat_index": 0
          }
        ],
        "visitor_id": "10502823-16EkM3T6VNq7KMd"
      }
    }
  },
  "properties": {
    "chat_event": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "id": {
          "type": "integer",
          "readOnly": true,
          "description": "Id assigned to the chat event object"
        },
        "type": {
          "type": "string",
          "readOnly": true,
          "description": "Type of chat event"
        },
        "value": {
          "type": "object",
          "readOnly": true,
          "properties": {
            "chat_id": {
              "type": "string",
              "readOnly": true,
              "description": "Id of the chat session"
            },
            "history": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": true
              },
              "description": "Chat events within the chat session"
            },
            "visitor_id": {
              "type": "string",
              "readOnly": true,
              "description": "Id assigned to the visitor"
            }
          },
          "description": "The value of the chat event object"
        }
      },
      "description": "Chat event object"
    }
  }
}
object TicketCommentObject
{
  "type": "object",
  "example": {
    "id": 1274,
    "body": "Thanks for your help!",
    "type": "Comment",
    "public": true,
    "metadata": {
      "via": {
        "source": {
          "to": {},
          "rel": "web_widget",
          "from": {}
        },
        "channel": "web"
      },
      "system": {
        "client": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
        "latitude": -37.000000000001,
        "location": "Melbourne, 07, Australia",
        "longitude": 144.0000000000002,
        "ip_address": "1.1.1.1"
      }
    },
    "author_id": 123123,
    "created_at": "2009-07-20T22:55:29Z",
    "attachments": [
      {
        "id": 498483,
        "size": 2532,
        "file_name": "crash.log",
        "thumbnails": [],
        "content_url": "https://company.zendesk.com/attachments/crash.log",
        "content_type": "text/plain"
      }
    ]
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the comment is created"
    },
    "via": {
      "$ref": "#/components/schemas/TicketAuditViaObject"
    },
    "body": {
      "type": "string",
      "description": "The comment string. See [Bodies](https://developer.zendesk.com)"
    },
    "type": {
      "type": "string",
      "readOnly": true,
      "description": "`Comment` or `VoiceComment`. The JSON object for adding voice comments to tickets is different. See [Adding voice comments to tickets](https://developer.zendesk.com)"
    },
    "public": {
      "type": "boolean",
      "description": "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"
    },
    "uploads": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "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"
    },
    "audit_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the ticket audit record. See [Show Audit](/api-reference/ticketing/tickets/ticket_audits/#show-audit)"
    },
    "metadata": {
      "type": "object",
      "readOnly": true,
      "description": "System information (web client, IP address, etc.) and comment flags, if any. See [Comment flags](https://developer.zendesk.com)",
      "additionalProperties": true
    },
    "author_id": {
      "type": "integer",
      "description": "The id of the comment author. See [Author id](https://developer.zendesk.com)"
    },
    "html_body": {
      "type": "string",
      "description": "The comment formatted as HTML. See [Bodies](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the comment was created"
    },
    "plain_body": {
      "type": "string",
      "readOnly": true,
      "description": "The comment presented as plain text. See [Bodies](https://developer.zendesk.com)"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AttachmentObject"
      },
      "readOnly": true,
      "description": "Attachments, if any. See [Attachment](https://developer.zendesk.com)"
    }
  }
}
object TicketCommentResponse
{
  "type": "object",
  "properties": {
    "comment": {
      "$ref": "#/components/schemas/TicketCommentObject"
    }
  }
}
object TicketCommentsCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}
string TicketCommentsMakePrivateResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object TicketCommentsResponse
{
  "type": "object",
  "properties": {
    "comments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketCommentObject"
      }
    }
  }
}
object TicketCreateInput
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/TicketUpdateInput"
    },
    {
      "type": "object",
      "required": [
        "comment"
      ],
      "properties": {
        "via": {
          "$ref": "#/components/schemas/ViaObject"
        },
        "brand_id": {
          "type": "integer",
          "description": "Enterprise only. The id of the brand this ticket is associated with"
        },
        "macro_ids": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "POST requests only. List of macro IDs to be recorded in the ticket audit"
        },
        "recipient": {
          "type": "string",
          "description": "The original recipient e-mail address of the ticket"
        },
        "raw_subject": {
          "type": "string",
          "description": "The dynamic content placeholder, if present, or the \"subject\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)\n"
        },
        "email_cc_ids": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "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": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "The ids of agents currently following the ticket. See [CCs and followers resources](https://support.zendesk.com/hc/en-us/articles/360020585233)"
        },
        "submitter_id": {
          "type": "integer",
          "description": "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket"
        },
        "collaborators": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CollaboratorObject"
          },
          "description": "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)"
        },
        "ticket_form_id": {
          "type": "integer",
          "description": "Enterprise only. The id of the ticket form to render for the ticket"
        },
        "via_followup_source_id": {
          "type": "integer",
          "description": "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)"
        }
      }
    }
  ],
  "example": {
    "comment": {
      "body": "The smoke is very colorful."
    },
    "subject": "My printer is on fire!",
    "priority": "urgent"
  }
}
object TicketCreateRequest
{
  "type": "object",
  "properties": {
    "ticket": {
      "$ref": "#/components/schemas/TicketCreateInput"
    }
  }
}
object TicketCreateVoicemailTicketInput
{
  "type": "object",
  "properties": {
    "via_id": {
      "enum": [
        44,
        45,
        46
      ],
      "type": "integer",
      "description": "Required for Create Ticket operation"
    },
    "comment": {
      "$ref": "#/components/schemas/TicketCommentObject"
    },
    "priority": {
      "enum": [
        "urgent",
        "high",
        "normal",
        "low"
      ],
      "type": "string",
      "description": "The urgency with which the ticket should be addressed."
    },
    "voice_comment": {
      "$ref": "#/components/schemas/TicketCreateVoicemailTicketVoiceCommentInput"
    }
  },
  "x-konfig-properties": {
    "voice_comment": {
      "type": "object",
      "description": "Required if creating voicemail ticket"
    }
  }
}
object TicketCreateVoicemailTicketRequest
{
  "type": "object",
  "properties": {
    "ticket": {
      "$ref": "#/components/schemas/TicketCreateVoicemailTicketInput"
    },
    "display_to_agent": {
      "type": "integer",
      "description": "Optional value such as the ID of the agent that will see the newly created ticket."
    }
  },
  "x-konfig-properties": {
    "ticket": {
      "type": "object",
      "description": "Ticket object that lists the values to set when the ticket is created"
    }
  }
}
object TicketCreateVoicemailTicketVoiceCommentInput
{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Dialed phone number"
    },
    "from": {
      "type": "string",
      "description": "Incoming phone number"
    },
    "location": {
      "type": "string",
      "description": "Location of the caller (optional)"
    },
    "started_at": {
      "type": "string",
      "format": "date-time",
      "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp of the call starting time"
    },
    "call_duration": {
      "type": "integer",
      "description": "Duration in seconds of the call"
    },
    "recording_url": {
      "type": "string",
      "description": "Incoming phone number"
    },
    "answered_by_id": {
      "type": "integer",
      "description": "The agent who answered the call"
    },
    "transcription_text": {
      "type": "string",
      "description": "Transcription of the call (optional)"
    }
  }
}
object TicketFieldCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}
object TicketFieldCustomStatusObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the custom ticket status is created"
    },
    "active": {
      "type": "boolean",
      "description": "If true, if the custom status is set to active. If false, the custom status is set to inactive"
    },
    "default": {
      "type": "boolean",
      "description": "If true, the custom status is set to default. If false, the custom status is set to non-default"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The date and time at which the custom ticket status was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The date and time at which the custom ticket status was last updated"
    },
    "agent_label": {
      "type": "string",
      "description": "The label displayed to agents"
    },
    "description": {
      "type": "string",
      "description": "The description of when the user should select this custom ticket status"
    },
    "end_user_label": {
      "type": "string",
      "description": "The label displayed to end users"
    },
    "status_category": {
      "enum": [
        "new",
        "open",
        "pending",
        "hold",
        "solved"
      ],
      "type": "string",
      "description": "The status category the custom ticket status belongs to"
    },
    "end_user_description": {
      "type": "string",
      "description": "The description displayed to end users"
    }
  }
}
object TicketFieldObject
{
  "type": "object",
  "example": {
    "id": 34,
    "tag": null,
    "url": "https://company.zendesk.com/api/v2/ticket_fields/34.json",
    "type": "subject",
    "title": "Subject",
    "active": true,
    "position": 21,
    "required": true,
    "raw_title": "{{dc.my_title}}",
    "removable": false,
    "created_at": "2009-07-20T22:55:29Z",
    "updated_at": "2011-05-05T10:38:52Z",
    "description": "This is the subject field of a ticket",
    "raw_description": "This is the subject field of a ticket",
    "title_in_portal": "Subject",
    "agent_description": "This is the agent only description for the subject field",
    "visible_in_portal": true,
    "editable_in_portal": true,
    "required_in_portal": true,
    "raw_title_in_portal": "{{dc.my_title_in_portal}}",
    "collapsed_for_agents": false,
    "regexp_for_validation": null
  },
  "required": [
    "type",
    "title"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "tag": {
      "type": "string",
      "nullable": true,
      "description": "For \"checkbox\" fields only. A tag added to tickets when the checkbox field is selected"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The URL for this resource"
    },
    "type": {
      "type": "string",
      "description": "System or custom field type. Editable for custom field types and only on creation. See [Create Ticket Field](https://developer.zendesk.com)"
    },
    "title": {
      "type": "string",
      "description": "The title of the ticket field"
    },
    "active": {
      "type": "boolean",
      "description": "Whether this field is available"
    },
    "position": {
      "type": "integer",
      "description": "The relative position of the ticket field on a ticket. Note that for accounts with ticket forms, positions are controlled by the different forms"
    },
    "required": {
      "type": "boolean",
      "description": "If true, agents must enter a value in the field to change the ticket status to solved"
    },
    "raw_title": {
      "type": "string",
      "description": "The dynamic content placeholder if present, or the `title` value if not. See [Dynamic Content](https://developer.zendesk.com)"
    },
    "removable": {
      "type": "boolean",
      "readOnly": true,
      "description": "If false, this field is a system field that must be present on all tickets"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the custom ticket field was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the custom ticket field was last updated"
    },
    "description": {
      "type": "string",
      "description": "Describes the purpose of the ticket field to users"
    },
    "sub_type_id": {
      "type": "integer",
      "description": "For system ticket fields of type \"priority\" and \"status\". Defaults to 0. A \"priority\" sub type of 1 removes the \"Low\" and \"Urgent\" options. A \"status\" sub type of 1 adds the \"On-Hold\" option"
    },
    "creator_user_id": {
      "type": "integer",
      "description": "The id of the user that created the ticket field, or a value of \"-1\" if an app created the ticket field"
    },
    "custom_statuses": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketFieldCustomStatusObject"
      },
      "readOnly": true,
      "description": "List of customized ticket statuses. Only presented for a system ticket field of type \"custom_status\""
    },
    "raw_description": {
      "type": "string",
      "description": "The dynamic content placeholder if present, or the `description` value if not. See [Dynamic Content](https://developer.zendesk.com)"
    },
    "title_in_portal": {
      "type": "string",
      "description": "The title of the ticket field for end users in Help Center"
    },
    "creator_app_name": {
      "type": "string",
      "description": "Name of the app that created the ticket field, or a null value if no app created the ticket field"
    },
    "agent_description": {
      "type": "string",
      "description": "A description of the ticket field that only agents can see"
    },
    "visible_in_portal": {
      "type": "boolean",
      "description": "Whether this field is visible to end users in Help Center"
    },
    "editable_in_portal": {
      "type": "boolean",
      "description": "Whether this field is editable by end users in Help Center"
    },
    "required_in_portal": {
      "type": "boolean",
      "description": "If true, end users must enter a value in the field to create the request"
    },
    "raw_title_in_portal": {
      "type": "string",
      "description": "The dynamic content placeholder if present, or the \"title_in_portal\" value if not. See [Dynamic Content](https://developer.zendesk.com)"
    },
    "relationship_filter": {
      "type": "object",
      "description": "A filter definition that allows your autocomplete to filter down results"
    },
    "collapsed_for_agents": {
      "type": "boolean",
      "description": "If true, the field is shown to agents by default. If false, the field is hidden alongside infrequently used fields. Classic interface only"
    },
    "custom_field_options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldOptionObject"
      },
      "description": "Required and presented for a custom ticket field of type \"multiselect\" or \"tagger\""
    },
    "system_field_options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SystemFieldOptionObject"
      },
      "readOnly": true,
      "description": "Presented for a system ticket field of type \"tickettype\", \"priority\" or \"status\""
    },
    "regexp_for_validation": {
      "type": "string",
      "nullable": true,
      "description": "For \"regexp\" fields only. The validation pattern for a field value to be deemed valid"
    },
    "relationship_target_type": {
      "type": "string",
      "description": "A representation of what type of object the field references. Options are \"zen:user\", \"zen:organization\", \"zen:ticket\", or \"zen:custom_object:{key}\" where key is a custom object key. For example \"zen:custom_object:apartment\"."
    }
  }
}
object TicketFieldResponse
{
  "type": "object",
  "properties": {
    "ticket_field": {
      "$ref": "#/components/schemas/TicketFieldObject"
    }
  }
}
object TicketFieldsResponse
{
  "type": "object",
  "properties": {
    "ticket_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketFieldObject"
      }
    }
  }
}
object TicketFormObject
{
  "type": "object",
  "example": {
    "id": 47,
    "url": "https://company.zendesk.com/api/v2/ticket_forms/47.json",
    "name": "Snowboard Problem",
    "active": true,
    "default": true,
    "position": 9999,
    "raw_name": "Snowboard Problem",
    "created_at": "2012-04-02T22:55:29Z",
    "updated_at": "2012-04-02T22:55:29Z",
    "display_name": "Snowboard Damage",
    "in_all_brands": false,
    "agent_conditions": [
      {
        "value": "matching_value",
        "child_fields": [
          {
            "id": 101,
            "is_required": false,
            "required_on_statuses": {
              "type": "SOME_STATUSES",
              "statuses": [
                "new",
                "open",
                "pending",
                "hold"
              ]
            }
          },
          {
            "id": 200,
            "is_required": true,
            "required_on_statuses": {
              "type": "SOME_STATUSES",
              "statuses": [
                "solved"
              ]
            }
          }
        ],
        "parent_field_id": 100
      },
      {
        "value": "matching_value_2",
        "child_fields": [
          {
            "id": 102,
            "is_required": true,
            "required_on_statuses": {
              "type": "ALL_STATUSES"
            }
          },
          {
            "id": 200,
            "is_required": false,
            "required_on_statuses": {
              "type": "NO_STATUSES"
            }
          }
        ],
        "parent_field_id": 101
      }
    ],
    "end_user_visible": true,
    "raw_display_name": "{{dc.my_display_name}}",
    "ticket_field_ids": [
      2,
      4,
      5,
      10,
      100,
      101,
      102,
      200
    ],
    "end_user_conditions": [
      {
        "value": "matching_value",
        "child_fields": [
          {
            "id": 101,
            "is_required": true
          }
        ],
        "parent_field_id": 100
      },
      {
        "value": "matching_value",
        "child_fields": [
          {
            "id": 202,
            "is_required": false
          }
        ],
        "parent_field_id": 200
      }
    ],
    "restricted_brand_ids": [
      47,
      33,
      22
    ]
  },
  "required": [
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when creating ticket form"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "URL of the ticket form"
    },
    "name": {
      "type": "string",
      "description": "The name of the form"
    },
    "active": {
      "type": "boolean",
      "description": "If the form is set as active"
    },
    "default": {
      "type": "boolean",
      "description": "Is the form the default form for this account"
    },
    "position": {
      "type": "integer",
      "description": "The position of this form among other forms in the account, i.e. dropdown"
    },
    "raw_name": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"name\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the ticket form was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the ticket form"
    },
    "display_name": {
      "type": "string",
      "description": "The name of the form that is displayed to an end user"
    },
    "in_all_brands": {
      "type": "boolean",
      "description": "Is the form available for use in all brands on this account"
    },
    "agent_conditions": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Array of condition sets for agent workspaces"
    },
    "end_user_visible": {
      "type": "boolean",
      "description": "Is the form visible to the end user"
    },
    "raw_display_name": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"display_name\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)"
    },
    "ticket_field_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "ids of all ticket fields which are in this ticket form. The products use the order of the ids to show the field values in the tickets"
    },
    "end_user_conditions": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "Array of condition sets for end user products"
    },
    "restricted_brand_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "readOnly": true,
      "description": "ids of all brands that this ticket form is restricted to"
    }
  }
}
object TicketFormResponse
{
  "type": "object",
  "properties": {
    "ticket_form": {
      "$ref": "#/components/schemas/TicketFormObject"
    }
  }
}
object TicketFormsResponse
{
  "type": "object",
  "properties": {
    "ticket_forms": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketFormObject"
      }
    }
  }
}
object TicketImportInput
{
  "type": "object",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The array of tags applied to this ticket"
    },
    "subject": {
      "type": "string",
      "description": "The value of the subject field for this ticket"
    },
    "comments": {
      "type": "array",
      "items": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "value": {
                "type": "string",
                "description": "The comment string value"
              }
            }
          },
          {
            "$ref": "#/components/schemas/TicketCommentObject"
          }
        ]
      },
      "description": "The conversation between requesters, collaborators, and agents",
      "additionalProperties": true
    },
    "assignee_id": {
      "type": "integer",
      "description": "The agent currently assigned to the ticket"
    },
    "description": {
      "type": "string",
      "description": "Read-only first comment on the ticket. When [creating a ticket](https://developer.zendesk.com), use `comment` to set the description. See [Description and first comment](https://developer.zendesk.com)"
    },
    "requester_id": {
      "type": "integer",
      "description": "The user who requested this ticket"
    }
  }
}
object TicketImportRequest
{
  "type": "object",
  "properties": {
    "ticket": {
      "$ref": "#/components/schemas/TicketImportInput"
    }
  }
}
object TicketMergeInput
{
  "type": "object",
  "required": [
    "ids"
  ],
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "Ids of tickets to merge into the target ticket"
    },
    "source_comment": {
      "type": "string",
      "description": "Private comment to add to the source ticket"
    },
    "target_comment": {
      "type": "string",
      "description": "Private comment to add to the target ticket"
    },
    "source_comment_is_public": {
      "type": "boolean",
      "description": "Whether comment in source tickets are public or private"
    },
    "target_comment_is_public": {
      "type": "boolean",
      "description": "Whether comment in target ticket is public or private"
    }
  }
}
object TicketMetricEventBaseObject
{
  "type": "object",
  "title": "Ticket Metric Events",
  "example": {
    "id": 926256957613,
    "time": "2020-10-26T12:53:12Z",
    "type": "measure",
    "metric": "agent_work_time",
    "ticket_id": 155,
    "instance_id": 1
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the record is created"
    },
    "time": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the event occurred"
    },
    "type": {
      "enum": [
        "activate",
        "pause",
        "fulfill",
        "apply_sla",
        "breach",
        "update_status",
        "measure"
      ],
      "type": "string",
      "readOnly": true,
      "description": "The type of the metric event. See [Ticket metric event types reference](https://developer.zendesk.com)"
    },
    "metric": {
      "enum": [
        "agent_work_time",
        "pausable_update_time",
        "periodic_update_time",
        "reply_time",
        "requester_wait_time",
        "resolution_time"
      ],
      "type": "string",
      "readOnly": true,
      "description": "The metric being tracked"
    },
    "ticket_id": {
      "type": "integer",
      "readOnly": true,
      "description": "Id of the associated ticket"
    },
    "instance_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The instance of the metric associated with the event. See [instance_id](https://developer.zendesk.com)"
    }
  }
}
object TicketMetricEventBreachObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/TicketMetricEventBaseObject"
    },
    {
      "type": "object",
      "properties": {
        "deleted": {
          "type": "boolean",
          "readOnly": true,
          "description": "Available if `type` is `breach`. In general, you can ignore any breach event when `deleted` is true. See [deleted](https://developer.zendesk.com)"
        }
      }
    }
  ],
  "title": "Ticket Metric Event"
}
object TicketMetricEventGroupSLAObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/TicketMetricEventBaseObject"
    },
    {
      "type": "object",
      "properties": {
        "group_sla": {
          "type": "object",
          "readOnly": true,
          "description": "Available if `type` is \"apply_group_sla\". The Group SLA policy and target being enforced on the ticket and metric in question, if any. See [group_sla](https://developer.zendesk.com)"
        }
      }
    }
  ],
  "title": "Ticket Metric Event"
}
object TicketMetricEventSLAObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/TicketMetricEventBaseObject"
    },
    {
      "type": "object",
      "properties": {
        "sla": {
          "type": "object",
          "readOnly": true,
          "description": "Available if `type` is `apply_sla`. The SLA policy and target being enforced on the ticket and metric in question, if any. See [sla](https://developer.zendesk.com)"
        }
      }
    }
  ],
  "title": "Ticket Metric Event"
}
object TicketMetricEventUpdateStatusObject
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/TicketMetricEventBaseObject"
    },
    {
      "type": "object",
      "properties": {
        "status": {
          "type": "object",
          "readOnly": true,
          "description": "Available if `type` is `update_status`. Minutes since the metric has been open. See [status](https://developer.zendesk.com)"
        }
      }
    }
  ],
  "title": "Ticket Metric Event"
}
object TicketMetricEventsResponse
{
  "type": "object",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "ticket_metric_events": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TicketMetricEventBaseObject"
          }
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer"
        },
        "end_time": {
          "type": "integer"
        },
        "next_page": {
          "type": "string"
        }
      }
    }
  ]
}
object TicketMetricObject
{
  "type": "object",
  "example": {
    "id": 33,
    "reopens": 55,
    "replies": 322,
    "solved_at": "2011-05-09T10:38:52Z",
    "ticket_id": 4343,
    "created_at": "2009-07-20T22:55:29Z",
    "updated_at": "2011-05-05T10:38:52Z",
    "assigned_at": "2011-05-05T10:38:52Z",
    "group_stations": 7,
    "assignee_stations": 1,
    "status_updated_at": "2011-05-04T10:38:52Z",
    "assignee_updated_at": "2011-05-06T10:38:52Z",
    "requester_updated_at": "2011-05-07T10:38:52Z",
    "initially_assigned_at": "2011-05-03T10:38:52Z",
    "reply_time_in_minutes": {
      "business": 737,
      "calendar": 2391
    },
    "reply_time_in_seconds": {
      "calendar": 143460
    },
    "latest_comment_added_at": "2011-05-09T10:38:52Z",
    "on_hold_time_in_minutes": {
      "business": 637,
      "calendar": 2290
    },
    "custom_status_updated_at": "2011-05-09T10:38:52Z",
    "agent_wait_time_in_minutes": {
      "business": 737,
      "calendar": 2391
    },
    "requester_wait_time_in_minutes": {
      "business": 737,
      "calendar": 2391
    },
    "full_resolution_time_in_minutes": {
      "business": 737,
      "calendar": 2391
    },
    "first_resolution_time_in_minutes": {
      "business": 737,
      "calendar": 2391
    }
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the client is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of the ticket metric"
    },
    "reopens": {
      "type": "integer",
      "readOnly": true,
      "description": "Total number of times the ticket was reopened"
    },
    "replies": {
      "type": "integer",
      "readOnly": true,
      "description": "The number of public replies added to a ticket by an agent"
    },
    "solved_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the ticket was solved"
    },
    "ticket_id": {
      "type": "integer",
      "readOnly": true,
      "description": "Id of the associated ticket"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the record was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the record was last updated"
    },
    "assigned_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the ticket was assigned"
    },
    "group_stations": {
      "type": "integer",
      "readOnly": true,
      "description": "Number of groups the ticket passed through"
    },
    "assignee_stations": {
      "type": "integer",
      "readOnly": true,
      "description": "Number of assignees the ticket had"
    },
    "status_updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the status of the ticket was last updated"
    },
    "assignee_updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the assignee last updated the ticket"
    },
    "requester_updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the requester last updated the ticket"
    },
    "initially_assigned_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the ticket was initially assigned"
    },
    "reply_time_in_minutes": {
      "$ref": "#/components/schemas/TicketMetricTimeObject"
    },
    "reply_time_in_seconds": {
      "$ref": "#/components/schemas/TicketMetricTimeObject"
    },
    "latest_comment_added_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When the latest comment was added"
    },
    "on_hold_time_in_minutes": {
      "$ref": "#/components/schemas/TicketMetricTimeObject"
    },
    "custom_status_updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The date and time the ticket's custom status was last updated"
    },
    "agent_wait_time_in_minutes": {
      "$ref": "#/components/schemas/TicketMetricTimeObject"
    },
    "requester_wait_time_in_minutes": {
      "$ref": "#/components/schemas/TicketMetricTimeObject"
    },
    "full_resolution_time_in_minutes": {
      "$ref": "#/components/schemas/TicketMetricTimeObject"
    },
    "first_resolution_time_in_minutes": {
      "$ref": "#/components/schemas/TicketMetricTimeObject"
    }
  },
  "x-konfig-properties": {
    "reply_time_in_minutes": {
      "type": "object",
      "readOnly": true,
      "description": "Number of minutes to the first reply during calendar and business hours"
    },
    "reply_time_in_seconds": {
      "type": "object",
      "readOnly": true,
      "description": "Number of seconds to the first reply during calendar hours, only available for Messaging tickets"
    },
    "on_hold_time_in_minutes": {
      "type": "object",
      "readOnly": true,
      "description": "Number of minutes on hold"
    },
    "agent_wait_time_in_minutes": {
      "type": "object",
      "readOnly": true,
      "description": "Number of minutes the agent spent waiting during calendar and business hours"
    },
    "requester_wait_time_in_minutes": {
      "type": "object",
      "readOnly": true,
      "description": "Number of minutes the requester spent waiting during calendar and business hours"
    },
    "full_resolution_time_in_minutes": {
      "type": "object",
      "readOnly": true,
      "description": "Number of minutes to the full resolution during calendar and business hours"
    },
    "first_resolution_time_in_minutes": {
      "type": "object",
      "readOnly": true,
      "description": "Number of minutes to the first resolution time during calendar and business hours"
    }
  }
}
object TicketMetricTimeObject
{
  "type": "object",
  "properties": {
    "business": {
      "type": "integer",
      "readOnly": true,
      "description": "Time in business hours"
    },
    "calendar": {
      "type": "integer",
      "readOnly": true,
      "description": "Time in calendar hours"
    }
  }
}
object TicketMetricsByTicketMetricIdResponse
{
  "type": "object",
  "properties": {
    "ticket_metric": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketMetricObject"
      }
    }
  }
}
object TicketMetricsResponse
{
  "type": "object",
  "properties": {
    "ticket_metrics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketMetricObject"
      }
    }
  }
}
object TicketObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "url": "https://company.zendesk.com/api/v2/tickets/35436.json",
    "via": {
      "channel": "web"
    },
    "tags": [
      "enterprise",
      "other_tag"
    ],
    "type": "incident",
    "due_at": null,
    "status": "open",
    "subject": "Help, my printer is on fire!",
    "group_id": 98738,
    "priority": "high",
    "recipient": "support@company.com",
    "created_at": "2009-07-20T22:55:29Z",
    "problem_id": 9873764,
    "updated_at": "2011-05-05T10:38:52Z",
    "assignee_id": 235323,
    "description": "The fire is very colorful.",
    "external_id": "ahg35h3jh",
    "raw_subject": "{{dc.printer_on_fire}}",
    "follower_ids": [
      35334,
      234
    ],
    "requester_id": 20978392,
    "submitter_id": 76872,
    "custom_fields": [
      {
        "id": 27642,
        "value": "745"
      },
      {
        "id": 27648,
        "value": "yes"
      }
    ],
    "has_incidents": false,
    "organization_id": 509974,
    "collaborator_ids": [
      35334,
      234
    ],
    "custom_status_id": 123,
    "satisfaction_rating": {
      "id": 1234,
      "score": "good",
      "comment": "Great support!"
    },
    "sharing_agreement_ids": [
      84432
    ],
    "from_messaging_channel": false
  },
  "required": [
    "requester_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the ticket is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this ticket"
    },
    "via": {
      "type": "object",
      "properties": {
        "source": {
          "type": "object",
          "description": "For some channels a source object gives more information about how or why the ticket or event was created\n",
          "additionalProperties": true
        },
        "channel": {
          "type": "string",
          "description": "This tells you how the ticket or event was created. Examples: \"web\", \"mobile\", \"rule\", \"system\"\n"
        }
      },
      "description": "For more information, see the [Via object reference](https://developer.zendesk.com)"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "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"
    },
    "type": {
      "enum": [
        "problem",
        "incident",
        "question",
        "task"
      ],
      "type": "string",
      "description": "The type of this ticket"
    },
    "due_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "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"
    },
    "status": {
      "enum": [
        "new",
        "open",
        "pending",
        "hold",
        "solved",
        "closed"
      ],
      "type": "string",
      "description": "The state of the ticket.\n\nIf your account has activated custom ticket statuses, this is the ticket's\nstatus category. See [custom ticket statuses](https://developer.zendesk.com)\n"
    },
    "via_id": {
      "type": "integer",
      "writeOnly": true,
      "description": "Write only. For more information, see the [Via object reference](https://developer.zendesk.com)"
    },
    "comment": {
      "type": "object",
      "writeOnly": true,
      "description": "Write only. An object that adds a comment to the ticket. See [Ticket comments](https://developer.zendesk.com). To include an attachment with the comment, see [Attaching files](/documentation/ticketing/managing-tickets/creating-and-updating-tickets/#attaching-files)"
    },
    "subject": {
      "type": "string",
      "description": "The value of the subject field for this ticket. See [Subject](/api-reference/ticketing/tickets/tickets/#subject)\n"
    },
    "brand_id": {
      "type": "integer",
      "description": "The id of the brand this ticket is associated with. See [Setting up multiple brands](https://support.zendesk.com/hc/en-us/articles/4408829476378)"
    },
    "group_id": {
      "type": "integer",
      "description": "The group this ticket is assigned to"
    },
    "macro_id": {
      "type": "integer",
      "writeOnly": true,
      "description": "Write only. A macro ID to be recorded in the ticket audit"
    },
    "metadata": {
      "type": "object",
      "writeOnly": true,
      "description": "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)"
    },
    "priority": {
      "enum": [
        "urgent",
        "high",
        "normal",
        "low"
      ],
      "type": "string",
      "description": "The urgency with which the ticket should be addressed"
    },
    "email_ccs": {
      "type": "object",
      "writeOnly": true,
      "description": "Write only. 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)"
    },
    "followers": {
      "type": "object",
      "writeOnly": true,
      "description": "Write only. 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)"
    },
    "is_public": {
      "type": "boolean",
      "readOnly": true,
      "description": "Is true if any comments are public, false otherwise"
    },
    "macro_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "POST requests only. List of macro IDs to be recorded in the ticket audit"
    },
    "recipient": {
      "type": "string",
      "description": "The original recipient e-mail address of the ticket. Notification emails for the ticket are sent from this address"
    },
    "requester": {
      "type": "object",
      "writeOnly": true,
      "description": "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)"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record was created"
    },
    "problem_id": {
      "type": "integer",
      "description": "For tickets of type \"incident\", the ID of the problem the incident is linked to"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "When this record last got updated. It is updated only if the update generates a [ticket event](https://developer.zendesk.com)"
    },
    "assignee_id": {
      "type": "integer",
      "description": "The agent currently assigned to the ticket"
    },
    "description": {
      "type": "string",
      "readOnly": true,
      "description": "Read-only first comment on the ticket. When [creating a ticket](https://developer.zendesk.com), use `comment` to set the description. See [Description and first comment](https://developer.zendesk.com)\n"
    },
    "external_id": {
      "type": "string",
      "description": "An id you can use to link Zendesk Support tickets to local records"
    },
    "raw_subject": {
      "type": "string",
      "description": "The dynamic content placeholder, if present, or the \"subject\" value, if not. See [Dynamic Content Items](https://developer.zendesk.com)\n"
    },
    "safe_update": {
      "type": "boolean",
      "writeOnly": true,
      "description": "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"
    },
    "email_cc_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "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": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The ids of agents currently following the ticket. See [CCs and followers resources](https://support.zendesk.com/hc/en-us/articles/360020585233)"
    },
    "followup_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "readOnly": true,
      "description": "The ids of the followups created from this ticket. Ids are only visible once the ticket is closed"
    },
    "requester_id": {
      "type": "integer",
      "description": "The user who requested this ticket"
    },
    "submitter_id": {
      "type": "integer",
      "description": "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket"
    },
    "collaborators": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CollaboratorObject"
      },
      "description": "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)"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The id of the custom field"
          },
          "value": {
            "type": "string",
            "description": "The value of the custom field"
          }
        }
      },
      "description": "Custom fields for the ticket. See [Setting custom field values](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-custom-field-values)"
    },
    "has_incidents": {
      "type": "boolean",
      "readOnly": true,
      "description": "Is true if a ticket is a problem type and has one or more incidents linked to it. Otherwise, the value is false."
    },
    "updated_stamp": {
      "type": "string",
      "writeOnly": true,
      "description": "Write only. Datetime of last update received from API. See the `safe_update` property"
    },
    "voice_comment": {
      "type": "object",
      "writeOnly": true,
      "description": "Write only. See [Creating voicemail ticket](/api-reference/voice/talk-partner-edition-api/reference/#creating-voicemail-tickets)"
    },
    "assignee_email": {
      "type": "string",
      "writeOnly": true,
      "description": "Write only. The email address of the agent to assign the ticket to"
    },
    "forum_topic_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The topic in the Zendesk Web portal this ticket originated from, if any. The Web portal is deprecated"
    },
    "ticket_form_id": {
      "type": "integer",
      "description": "Enterprise only. The id of the ticket form to render for the ticket"
    },
    "organization_id": {
      "type": "integer",
      "description": "The organization of the requester. You can only specify the ID of an organization associated with the requester. See [Organization Memberships](https://developer.zendesk.com)"
    },
    "collaborator_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The ids of users currently CC'ed on the ticket"
    },
    "custom_status_id": {
      "type": "integer",
      "description": "The custom ticket status id of the ticket. See [custom ticket statuses](https://developer.zendesk.com)"
    },
    "allow_attachments": {
      "type": "boolean",
      "readOnly": true,
      "description": "Permission for agents to add add attachments to a comment. Defaults to true"
    },
    "allow_channelback": {
      "type": "boolean",
      "readOnly": true,
      "description": "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket"
    },
    "attribute_value_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "writeOnly": true,
      "description": "Write only. An array of the IDs of attribute values to be associated with the ticket"
    },
    "satisfaction_rating": {
      "type": "object",
      "readOnly": true,
      "description": "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",
      "additionalProperties": true
    },
    "sharing_agreement_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "readOnly": true,
      "description": "The ids of the sharing agreements used for this ticket"
    },
    "from_messaging_channel": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the ticket's [via type](https://developer.zendesk.com) is a messaging channel."
    },
    "via_followup_source_id": {
      "type": "integer",
      "description": "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)"
    }
  }
}
object TicketRelatedInformation
{
  "type": "object",
  "properties": {
    "twitter": {
      "type": "object",
      "description": "X (formerly Twitter) information associated with the ticket",
      "additionalProperties": true
    },
    "topic_id": {
      "type": "string",
      "nullable": true,
      "description": "Related topic in the Web portal (deprecated feature)"
    },
    "incidents": {
      "type": "integer",
      "description": "A count of related incident occurrences"
    },
    "from_archive": {
      "type": "boolean",
      "description": "Is true if the current ticket is archived"
    },
    "followup_source_ids": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Sources to follow up"
      }
    }
  }
}
object TicketResponse
{
  "type": "object",
  "properties": {
    "ticket": {
      "$ref": "#/components/schemas/TicketObject"
    }
  }
}
object TicketSkipCreation
{
  "type": "object",
  "properties": {
    "skip": {
      "$ref": "#/components/schemas/TicketSkipObject"
    }
  }
}
object TicketSkipObject
{
  "type": "object",
  "example": {
    "id": 1,
    "reason": "I have no idea.",
    "ticket": {
      "id": 123,
      "url": "https://company.zendesk.com/api/v2/tickets/35436.json",
      "via": {
        "channel": "web"
      },
      "tags": [
        "enterprise",
        "other_tag"
      ],
      "type": "incident",
      "due_at": null,
      "status": "open",
      "subject": "Help, my printer is on fire!",
      "group_id": 98738,
      "priority": "high",
      "recipient": "support@company.com",
      "created_at": "2009-07-20T22:55:29Z",
      "problem_id": 9873764,
      "updated_at": "2011-05-05T10:38:52Z",
      "assignee_id": 235323,
      "description": "The fire is very colorful.",
      "external_id": "ahg35h3jh",
      "raw_subject": "{{dc.printer_on_fire}}",
      "follower_ids": [
        35334,
        234
      ],
      "requester_id": 20978392,
      "submitter_id": 76872,
      "custom_fields": [
        {
          "id": 27642,
          "value": "745"
        },
        {
          "id": 27648,
          "value": "yes"
        }
      ],
      "has_incidents": false,
      "organization_id": 509974,
      "collaborator_ids": [
        35334,
        234
      ],
      "satisfaction_rating": {
        "id": 1234,
        "score": "good",
        "comment": "Great support!"
      },
      "sharing_agreement_ids": [
        84432
      ],
      "from_messaging_channel": false
    },
    "user_id": 456,
    "ticket_id": 123,
    "created_at": "2015-09-30T21:44:03Z",
    "updated_at": "2015-09-30T21:44:03Z"
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "reason": {
      "type": "string",
      "readOnly": true,
      "description": "Reason for skipping the ticket"
    },
    "ticket": {
      "$ref": "#/components/schemas/TicketObject"
    },
    "user_id": {
      "type": "integer",
      "readOnly": true,
      "description": "ID of the skipping agent"
    },
    "ticket_id": {
      "type": "integer",
      "readOnly": true,
      "description": "ID of the skipped ticket"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Time the skip was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "Time the skip was last updated"
    }
  },
  "x-konfig-properties": {
    "ticket": {
      "type": "object",
      "description": "The skipped ticket. See the [Ticket object reference](/api-reference/ticketing/tickets/tickets/#json-format)"
    }
  }
}
object TicketSkipsResponse
{
  "type": "object",
  "properties": {
    "skips": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketSkipObject"
      }
    }
  }
}
object TicketUpdateInput
{
  "type": "object",
  "example": {
    "comment": {
      "body": "The smoke is very colorful."
    },
    "subject": "My printer is on fire!",
    "priority": "urgent"
  },
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The array of tags applied to this ticket"
    },
    "type": {
      "enum": [
        "problem",
        "incident",
        "question",
        "task"
      ],
      "type": "string",
      "description": "The type of this ticket."
    },
    "due_at": {
      "type": "string",
      "format": "date-time",
      "nullable": true,
      "description": "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."
    },
    "status": {
      "enum": [
        "new",
        "open",
        "pending",
        "hold",
        "solved",
        "closed"
      ],
      "type": "string",
      "description": "The state of the ticket.\n\nIf your account has activated custom ticket statuses, this is the ticket's\nstatus category. See [custom ticket statuses](https://developer.zendesk.com).\n"
    },
    "comment": {
      "$ref": "#/components/schemas/TicketCommentObject"
    },
    "subject": {
      "type": "string",
      "description": "The value of the subject field for this ticket"
    },
    "group_id": {
      "type": "integer",
      "description": "The group this ticket is assigned to"
    },
    "priority": {
      "enum": [
        "urgent",
        "high",
        "normal",
        "low"
      ],
      "type": "string",
      "description": "The urgency with which the ticket should be addressed."
    },
    "email_ccs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailCCObject"
      },
      "description": "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)"
    },
    "followers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FollowerObject"
      },
      "description": "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)"
    },
    "problem_id": {
      "type": "integer",
      "description": "For tickets of type \"incident\", the ID of the problem the incident is linked to"
    },
    "assignee_id": {
      "type": "integer",
      "description": "The agent currently assigned to the ticket"
    },
    "external_id": {
      "type": "string",
      "description": "An id you can use to link Zendesk Support tickets to local records"
    },
    "safe_update": {
      "type": "boolean",
      "description": "Optional boolean. Prevents updates with outdated ticket data (`updated_stamp` property required when true)"
    },
    "requester_id": {
      "type": "integer",
      "description": "The user who requested this ticket"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldObject"
      },
      "description": "Custom fields for the ticket. See [Setting custom field values](/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-custom-field-values)"
    },
    "updated_stamp": {
      "type": "string",
      "format": "date-time",
      "description": "Datetime of last update received from API. See the safe_update property"
    },
    "assignee_email": {
      "type": "string",
      "format": "email",
      "description": "The email address of the agent to assign the ticket to"
    },
    "organization_id": {
      "type": "integer",
      "description": "The organization of the requester. You can only specify the ID of an organization associated with the requester. See [Organization Memberships](https://developer.zendesk.com)"
    },
    "collaborator_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The ids of users currently CC'ed on the ticket"
    },
    "custom_status_id": {
      "type": "integer",
      "description": "The custom ticket status id of the ticket. See [custom ticket statuses](https://developer.zendesk.com)"
    },
    "attribute_value_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "An array of the IDs of attribute values to be associated with the ticket"
    },
    "sharing_agreement_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "An array of the numeric IDs of sharing agreements. Note that this replaces any existing agreements"
    },
    "additional_collaborators": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CollaboratorObject"
      },
      "description": "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"
    }
  }
}
object TicketUpdateRequest
{
  "type": "object",
  "properties": {
    "ticket": {
      "$ref": "#/components/schemas/TicketUpdateInput"
    }
  }
}
object TicketUpdateResponse
{
  "type": "object",
  "properties": {
    "audit": {
      "$ref": "#/components/schemas/AuditObject"
    },
    "ticket": {
      "$ref": "#/components/schemas/TicketObject"
    }
  }
}
object TicketsAutocompleteProblemsRequest
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The text to search for"
    }
  }
}
object TicketsCountTicketsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}
object TicketsCreateRequest
{
  "type": "object",
  "properties": {
    "tickets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketCreateInput"
      }
    }
  }
}
string TicketsMarkAsSpamAndSuspendRequesterResponse
{
  "type": "string",
  "example": ""
}
object TicketsResponse
{
  "type": "object",
  "properties": {
    "tickets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketObject"
      }
    }
  }
}
string TicketsRestoreBulkTicketsResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
string TicketsRestoreTicketResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object TimeBasedExportIncrementalTicketsResponse
{
  "type": "object",
  "example": {
    "count": 2,
    "tickets": [
      {
        "id": 35436,
        "url": "https://company.zendesk.com/api/v2/tickets/35436.json",
        "via": {
          "channel": "web"
        },
        "tags": [
          "enterprise",
          "other_tag"
        ],
        "type": "incident",
        "due_at": null,
        "status": "open",
        "subject": "Help, my printer is on fire!",
        "group_id": 98738,
        "priority": "high",
        "recipient": "support@company.com",
        "created_at": "2009-07-20T22:55:29Z",
        "problem_id": 9873764,
        "updated_at": "2011-05-05T10:38:52Z",
        "assignee_id": 235323,
        "description": "The fire is very colorful.",
        "external_id": "ahg35h3jh",
        "raw_subject": "{{dc.printer_on_fire}}",
        "follower_ids": [
          35334,
          234
        ],
        "requester_id": 20978392,
        "submitter_id": 76872,
        "custom_fields": [
          {
            "id": 27642,
            "value": "745"
          },
          {
            "id": 27648,
            "value": "yes"
          }
        ],
        "has_incidents": false,
        "organization_id": 509974,
        "collaborator_ids": [
          35334,
          234
        ],
        "satisfaction_rating": {
          "id": 1234,
          "score": "good",
          "comment": "Great support!"
        },
        "sharing_agreement_ids": [
          84432
        ]
      }
    ],
    "end_time": 1390362485,
    "next_page": "https://{subdomain}.zendesk.com/api/v2/incremental/tickets.json?per_page=3&start_time=1390362485",
    "end_of_stream": true
  },
  "properties": {
    "count": {
      "type": "integer"
    },
    "tickets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TicketObject"
      }
    },
    "end_time": {
      "type": "integer"
    },
    "next_page": {
      "type": "string",
      "nullable": true
    },
    "end_of_stream": {
      "type": "boolean"
    }
  },
  "description": "See [Tickets](https://developer.zendesk.com) for a detailed example.\n"
}
object TimeBasedExportIncrementalUsersResponse
{
  "type": "object",
  "example": {
    "count": 1,
    "users": [
      {
        "id": 35436,
        "url": "https://company.zendesk.com/api/v2/users/35436.json",
        "name": "Johnny Agent",
        "role": "agent",
        "tags": [
          "enterprise",
          "other_tag"
        ],
        "alias": "Mr. Johnny",
        "email": "johnny@example.com",
        "notes": "Johnny is a nice guy!",
        "phone": "+15551234567",
        "photo": {
          "id": 928374,
          "name": "my_funny_profile_pic.png",
          "size": 166144,
          "thumbnails": [
            {
              "id": 928375,
              "name": "my_funny_profile_pic_thumb.png",
              "size": 58298,
              "content_url": "https://company.zendesk.com/photos/my_funny_profile_pic_thumb.png",
              "content_type": "image/png"
            }
          ],
          "content_url": "https://company.zendesk.com/photos/my_funny_profile_pic.png",
          "content_type": "image/png"
        },
        "active": true,
        "locale": "en-US",
        "shared": false,
        "details": "",
        "verified": true,
        "locale_id": 1,
        "moderator": true,
        "role_type": 0,
        "signature": "Have a nice day, Johnny",
        "suspended": true,
        "time_zone": "Copenhagen",
        "created_at": "2009-07-20T22:55:29Z",
        "updated_at": "2011-05-05T10:38:52Z",
        "external_id": "sai989sur98w9",
        "user_fields": {
          "user_date": "2012-07-23T00:00:00Z",
          "user_decimal": 5.1,
          "user_dropdown": "option_1"
        },
        "shared_agent": false,
        "last_login_at": "2011-05-05T10:38:52Z",
        "custom_role_id": 9373643,
        "organization_id": 57542,
        "restricted_agent": true,
        "ticket_restriction": "assigned",
        "only_private_comments": false
      }
    ],
    "end_time": 1601357503,
    "next_page": "https://example.zendesk.com/api/v2/incremental/ticket_events.json?start_time=1601357503",
    "end_of_stream": true
  },
  "properties": {
    "count": {
      "type": "integer"
    },
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserObject"
      }
    },
    "end_time": {
      "type": "integer"
    },
    "next_page": {
      "type": "string",
      "nullable": true
    },
    "end_of_stream": {
      "type": "boolean"
    }
  }
}
object TrialAccountObject
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The URL of the account"
    },
    "name": {
      "type": "string",
      "description": "The name of the account"
    },
    "subdomain": {
      "type": "string",
      "description": "The subdomain of the account"
    }
  }
}
object TrialAccountResponse
{
  "type": "object",
  "properties": {
    "account": {
      "$ref": "#/components/schemas/TrialAccountObject"
    }
  }
}
object TriggerActionDefinitionObject
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "group": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "values": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      }
    },
    "subject": {
      "type": "string"
    },
    "nullable": {
      "type": "boolean"
    },
    "repeatable": {
      "type": "boolean"
    }
  }
}
object TriggerActionDiffObject
{
  "type": "object",
  "example": {
    "field": [
      {
        "change": "+",
        "content": "solved"
      }
    ],
    "value": [
      {
        "change": "-",
        "content": "open"
      }
    ]
  },
  "properties": {
    "field": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerChangeObject"
      },
      "description": "An array of [change](https://developer.zendesk.com) objects."
    },
    "value": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerChangeObject"
      },
      "description": "An array of [change](https://developer.zendesk.com) objects."
    }
  }
}
object TriggerActionObject
{
  "type": "object",
  "example": {
    "field": "status",
    "value": "solved"
  },
  "properties": {
    "field": {
      "type": "string"
    },
    "value": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          }
        }
      ]
    }
  }
}
object TriggerBatchRequest
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "active": {
      "type": "boolean"
    },
    "position": {
      "type": "integer",
      "format": "int64"
    },
    "category_id": {
      "type": "string"
    }
  }
}
object TriggerBulkUpdateItem
{
  "type": "object",
  "example": {
    "id": 25,
    "active": true,
    "position": 8,
    "category_id": "10026"
  },
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The ID of the trigger to update"
    },
    "active": {
      "type": "boolean",
      "description": "The active status of the trigger (true or false)"
    },
    "position": {
      "type": "integer",
      "description": "The new position of the trigger"
    },
    "category_id": {
      "type": "string",
      "description": "The ID of the new category the trigger is to be moved to"
    }
  }
}
object TriggerBulkUpdateRequest
{
  "type": "object",
  "properties": {
    "triggers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerBulkUpdateItem"
      }
    }
  }
}
object TriggerCategoriesCreateCategoryRequest
{
  "type": "object",
  "properties": {
    "trigger_category": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TriggerCategoryRequest"
        },
        {
          "$ref": "#/components/schemas/TriggerCategoryRequestRequired"
        }
      ]
    }
  }
}
object TriggerCategoriesGetListResponse
{
  "allOf": [
    {
      "$ref": "#/components/schemas/TriggerCategoriesResponse"
    },
    {
      "$ref": "#/components/schemas/Pagination"
    }
  ]
}
object TriggerCategoriesResponse
{
  "type": "object",
  "properties": {
    "trigger_categories": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerCategory"
      }
    }
  }
}
object TriggerCategoriesUpdateCategoryByIdRequest
{
  "type": "object",
  "properties": {
    "trigger_category": {
      "$ref": "#/components/schemas/TriggerCategoryRequest"
    }
  }
}
object TriggerCategory
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "readOnly": true
    },
    "name": {
      "type": "string"
    },
    "position": {
      "type": "integer",
      "format": "int64"
    },
    "created_at": {
      "type": "string",
      "readOnly": true
    },
    "updated_at": {
      "type": "string",
      "readOnly": true
    }
  }
}
object TriggerCategoryBatchRequest
{
  "type": "object",
  "required": [
    "id",
    "position"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "position": {
      "type": "integer",
      "format": "int64"
    }
  }
}
string TriggerCategoryId
{
  "type": "string"
}
object TriggerCategoryRequest
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "position": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object TriggerCategoryRequestRequired
{
  "type": "object",
  "required": [
    "name"
  ]
}
object TriggerCategoryResponse
{
  "type": "object",
  "properties": {
    "trigger_category": {
      "$ref": "#/components/schemas/TriggerCategory"
    }
  }
}
object TriggerCategoryRuleCounts
{
  "type": "object",
  "properties": {
    "active_count": {
      "type": "integer",
      "format": "int64"
    },
    "inactive_count": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object TriggerChangeObject
{
  "type": "object",
  "example": {
    "change": "+",
    "content": "solved"
  },
  "properties": {
    "change": {
      "type": "string",
      "description": "One of `-`, `+`, `=` representing the type of change"
    },
    "content": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "boolean"
              }
            ]
          }
        }
      ],
      "description": "The value of the item it represents"
    }
  }
}
object TriggerConditionDefinitionObjectAll
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "group": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "values": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      }
    },
    "subject": {
      "type": "string"
    },
    "nullable": {
      "type": "boolean"
    },
    "operators": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "terminal": {
            "type": "boolean"
          }
        }
      }
    },
    "repeatable": {
      "type": "boolean"
    }
  }
}
object TriggerConditionDefinitionObjectAny
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "group": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "subject": {
      "type": "string"
    },
    "nullable": {
      "type": "boolean"
    },
    "operators": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "terminal": {
            "type": "boolean"
          }
        }
      }
    },
    "repeatable": {
      "type": "boolean"
    }
  }
}
object TriggerConditionDiffObject
{
  "type": "object",
  "example": {
    "field": [
      {
        "change": "=",
        "content": "status"
      }
    ],
    "value": [
      {
        "change": "+",
        "content": "solved"
      }
    ],
    "operator": [
      {
        "change": "=",
        "content": "less_than"
      }
    ]
  },
  "properties": {
    "field": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerChangeObject"
      },
      "description": "An array of [change](https://developer.zendesk.com) objects"
    },
    "value": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerChangeObject"
      },
      "description": "An array of [change](https://developer.zendesk.com) objects"
    },
    "operator": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerChangeObject"
      },
      "description": "An array of [change](https://developer.zendesk.com) objects"
    }
  }
}
object TriggerConditionObject
{
  "type": "object",
  "example": {
    "field": "status",
    "value": "solved",
    "operator": "less_than"
  },
  "properties": {
    "field": {
      "type": "string"
    },
    "value": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              }
            ]
          }
        }
      ]
    },
    "operator": {
      "type": "string"
    }
  }
}
object TriggerConditionsDiffObject
{
  "type": "object",
  "properties": {
    "all": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerConditionDiffObject"
      },
      "nullable": true
    },
    "any": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerConditionDiffObject"
      },
      "nullable": true
    }
  }
}
object TriggerConditionsObject
{
  "type": "object",
  "example": {
    "all": [
      {
        "field": "status",
        "value": "solved",
        "operator": "less_than"
      },
      {
        "field": "assignee_id",
        "value": "296220096",
        "operator": "is"
      },
      {
        "field": "custom_status_id",
        "value": [
          "1",
          "2"
        ],
        "operator": "includes"
      }
    ],
    "any": [
      {
        "field": "status",
        "value": "solved",
        "operator": "less_than"
      },
      {
        "field": "custom_status_id",
        "value": [
          "1",
          "2"
        ],
        "operator": "includes"
      }
    ]
  },
  "properties": {
    "all": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerConditionObject"
      },
      "nullable": true
    },
    "any": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerConditionObject"
      },
      "nullable": true
    }
  },
  "description": "An object that describes the conditions under which the trigger will execute. See [Conditions reference](https://developer.zendesk.com)"
}
object TriggerDefinitionObject
{
  "type": "object",
  "properties": {
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerActionDefinitionObject"
      }
    },
    "conditions_all": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerConditionDefinitionObjectAll"
      }
    },
    "conditions_any": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerConditionDefinitionObjectAny"
      }
    }
  }
}
object TriggerDefinitionResponse
{
  "type": "object",
  "properties": {
    "definitions": {
      "$ref": "#/components/schemas/TriggerDefinitionObject"
    }
  }
}
object TriggerObject
{
  "type": "object",
  "example": {
    "id": 25,
    "url": "http://{subdomain}.zendesk.com/api/v2/triggers/25.json",
    "title": "Close and Save",
    "active": true,
    "actions": [
      {}
    ],
    "default": false,
    "position": 8,
    "raw_title": "Close and Save",
    "conditions": {},
    "created_at": "2012-09-25T22:50:26Z",
    "updated_at": "2012-09-25T22:50:26Z",
    "category_id": "10026",
    "description": "Close and save a ticket"
  },
  "required": [
    "conditions",
    "actions",
    "title"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The url of the trigger"
    },
    "title": {
      "type": "string",
      "description": "The title of the trigger"
    },
    "active": {
      "type": "boolean",
      "description": "Whether the trigger is active"
    },
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerActionObject"
      },
      "description": "An array of actions describing what the trigger will do. See [Actions reference](https://developer.zendesk.com)"
    },
    "default": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the trigger is a default trigger"
    },
    "position": {
      "type": "integer",
      "description": "Position of the trigger, determines the order they will execute in"
    },
    "raw_title": {
      "type": "string",
      "description": "The raw format of the title of the trigger"
    },
    "conditions": {
      "$ref": "#/components/schemas/TriggerConditionsObject"
    },
    "created_at": {
      "type": "string",
      "readOnly": true,
      "description": "The time the trigger was created"
    },
    "updated_at": {
      "type": "string",
      "readOnly": true,
      "description": "The time of the last update of the trigger"
    },
    "category_id": {
      "type": "string",
      "description": "The ID of the category the trigger belongs to"
    },
    "description": {
      "type": "string",
      "description": "The description of the trigger"
    }
  }
}
object TriggerResponse
{
  "type": "object",
  "properties": {
    "trigger": {
      "$ref": "#/components/schemas/TriggerObject"
    }
  }
}
object TriggerRevisionResponse
{
  "type": "object",
  "properties": {
    "trigger_revision": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "url": {
          "type": "string"
        },
        "snapshot": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string"
            },
            "active": {
              "type": "boolean"
            },
            "actions": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TriggerActionObject"
              }
            },
            "conditions": {
              "$ref": "#/components/schemas/TriggerConditionsObject"
            },
            "description": {
              "type": "string",
              "nullable": true
            }
          }
        },
        "author_id": {
          "type": "integer"
        },
        "created_at": {
          "type": "string"
        }
      }
    }
  }
}
object TriggerRevisionsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "after_url": {
      "type": "string"
    },
    "before_url": {
      "type": "string"
    },
    "after_cursor": {
      "type": "string"
    },
    "before_cursor": {
      "type": "string"
    },
    "trigger_revisions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          },
          "diff": {
            "type": "object",
            "properties": {
              "title": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TriggerChangeObject"
                },
                "description": "An array of [change](https://developer.zendesk.com) objects"
              },
              "active": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TriggerChangeObject"
                },
                "description": "An array of [change](https://developer.zendesk.com) objects"
              },
              "actions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TriggerActionDiffObject"
                },
                "description": "An array that contain [action diff objects](#Action Diffs)"
              },
              "source_id": {
                "type": "integer",
                "description": "ID of the source revision"
              },
              "target_id": {
                "type": "integer",
                "description": "ID of the target revision"
              },
              "conditions": {
                "$ref": "#/components/schemas/TriggerConditionDiffObject"
              },
              "description": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TriggerChangeObject"
                },
                "description": "An array of [change](https://developer.zendesk.com) objects"
              }
            }
          },
          "snapshot": {
            "$ref": "#/components/schemas/TriggerSnapshotObject"
          },
          "author_id": {
            "type": "integer"
          },
          "created_at": {
            "type": "string"
          }
        }
      }
    }
  }
}
object TriggerSnapshotObject
{
  "type": "object",
  "example": {
    "title": "Notify requester of comment update",
    "active": true,
    "actions": [],
    "conditions": {},
    "description": "Notifies requester that a comment was updated"
  },
  "properties": {
    "title": {
      "type": "string",
      "description": "The title of the trigger"
    },
    "active": {
      "type": "boolean",
      "description": "Whether the trigger is active"
    },
    "actions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerActionObject"
      },
      "description": "An array of [Actions](https://developer.zendesk.com) describing what the trigger will do"
    },
    "conditions": {
      "$ref": "#/components/schemas/TriggerConditionsObject"
    },
    "description": {
      "type": "string",
      "nullable": true,
      "description": "The description of the trigger"
    }
  }
}
object TriggerWithCategoryRequest
{
  "type": "object",
  "properties": {
    "trigger": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TriggerObject"
        },
        {
          "anyOf": [
            {
              "$ref": "#/components/schemas/TriggerCategory"
            },
            {
              "$ref": "#/components/schemas/TriggerCategoryId"
            }
          ]
        }
      ]
    }
  }
}
object TriggersResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "triggers": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TriggerObject"
      }
    },
    "next_page": {
      "type": "string",
      "nullable": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true
    }
  }
}
object TwitterChannelObject
{
  "type": "object",
  "title": "Monitored X handles",
  "example": {
    "id": 211,
    "created_at": "2009-05-13T00:07:08Z",
    "updated_at": "2011-07-22T00:11:12Z",
    "screen_name": "@zendesk",
    "twitter_user_id": 67462376832
  },
  "required": [
    "id",
    "screen_name",
    "twitter_user_id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned upon creation"
    },
    "name": {
      "type": "string",
      "readOnly": true,
      "description": "The profile name of the handle"
    },
    "brand_id": {
      "type": "integer",
      "readOnly": true,
      "description": "What brand the handle is associated with"
    },
    "can_reply": {
      "type": "boolean",
      "readOnly": true,
      "description": "If replies are allowed for this handle"
    },
    "avatar_url": {
      "type": "string",
      "readOnly": true,
      "description": "The profile image url of the handle"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the handle was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time of the last update of the handle"
    },
    "allow_reply": {
      "type": "boolean",
      "readOnly": true,
      "description": "If replies are allowed for this handle"
    },
    "screen_name": {
      "type": "string",
      "readOnly": true,
      "description": "The X handle"
    },
    "twitter_user_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The country's code"
    }
  }
}
object TwitterChannelResponse
{
  "type": "object",
  "properties": {
    "monitored_twitter_handle": {
      "$ref": "#/components/schemas/TwitterChannelObject"
    }
  }
}
object TwitterChannelTwicketStatusResponse
{
  "type": "object",
  "properties": {
    "statuses": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "favorited": {
            "type": "boolean"
          },
          "retweeted": {
            "type": "boolean"
          },
          "user_followed": {
            "type": "boolean"
          }
        }
      }
    }
  }
}
object TwitterChannelsResponse
{
  "type": "object",
  "properties": {
    "monitored_twitter_handles": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TwitterChannelObject"
      }
    }
  }
}
object UpdateResourceResult
{
  "type": "object",
  "required": [
    "id",
    "action",
    "success",
    "status"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "description": "the id of the resource the job attempted to update"
    },
    "action": {
      "type": "string",
      "description": "the action the job attempted (`\"action\": \"update\"`)\n"
    },
    "status": {
      "type": "string",
      "description": "the status (`\"status\": \"Updated\"`)\n"
    },
    "success": {
      "type": "boolean",
      "description": "whether the action was successful or not (`\"success\": true`)\n"
    }
  }
}
object UrlObject
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "readOnly": true
    }
  }
}
object UserCreateInput
{
  "type": "object",
  "required": [
    "name",
    "email"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "role": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "identities": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type",
          "value"
        ],
        "properties": {
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      }
    },
    "external_id": {
      "type": "string"
    },
    "organization": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "custom_role_id": {
      "type": "integer"
    },
    "organization_id": {
      "type": "integer"
    }
  }
}
object UserFieldResponse
{
  "type": "object",
  "properties": {
    "user_field": {
      "$ref": "#/components/schemas/CustomFieldObject"
    }
  }
}
string UserFieldsReorderFieldResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object UserFieldsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true,
      "description": "Total count of records retrieved"
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "URL of the next page"
    },
    "user_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomFieldObject"
      }
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true,
      "description": "URL of the previous page"
    }
  }
}
object UserForAdmin
{
  "type": "object",
  "title": "Users",
  "example": {
    "id": 35436,
    "url": "https://company.zendesk.com/api/v2/users/35436.json",
    "name": "Johnny Agent",
    "role": "agent",
    "tags": [
      "enterprise",
      "other_tag"
    ],
    "alias": "Mr. Johnny",
    "email": "johnny@example.com",
    "notes": "Johnny is a nice guy!",
    "phone": "+15551234567",
    "photo": {
      "id": 928374,
      "name": "my_funny_profile_pic.png",
      "size": 166144,
      "thumbnails": [
        {
          "id": 928375,
          "name": "my_funny_profile_pic_thumb.png",
          "size": 58298,
          "content_url": "https://company.zendesk.com/photos/my_funny_profile_pic_thumb.png",
          "content_type": "image/png"
        }
      ],
      "content_url": "https://company.zendesk.com/photos/my_funny_profile_pic.png",
      "content_type": "image/png"
    },
    "active": true,
    "locale": "en-US",
    "shared": false,
    "details": "",
    "verified": true,
    "locale_id": 1,
    "moderator": true,
    "role_type": 0,
    "signature": "Have a nice day, Johnny",
    "suspended": true,
    "time_zone": "Copenhagen",
    "created_at": "2009-07-20T22:55:29Z",
    "updated_at": "2011-05-05T10:38:52Z",
    "external_id": "sai989sur98w9",
    "user_fields": {
      "user_date": "2012-07-23T00:00:00Z",
      "user_decimal": 5.1,
      "user_dropdown": "option_1"
    },
    "shared_agent": false,
    "last_login_at": "2011-05-05T10:38:52Z",
    "custom_role_id": 9373643,
    "iana_time_zone": "Pacific/Pago_Pago",
    "organization_id": 57542,
    "restricted_agent": true,
    "ticket_restriction": "assigned",
    "only_private_comments": false
  },
  "required": [
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when the user is created"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The user's API url"
    },
    "name": {
      "type": "string",
      "description": "The user's name"
    },
    "role": {
      "type": "string",
      "description": "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\""
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The user's tags. Only present if your account has user tagging enabled"
    },
    "alias": {
      "type": "string",
      "description": "An alias displayed to end users"
    },
    "email": {
      "type": "string",
      "description": "The user's primary email address. *Writeable on create only. On update, a secondary email is added. See [Email Address](https://developer.zendesk.com)"
    },
    "notes": {
      "type": "string",
      "description": "Any notes you want to store about the user"
    },
    "phone": {
      "type": "string",
      "nullable": true,
      "description": "The user's primary phone number. See [Phone Number](https://developer.zendesk.com) below"
    },
    "photo": {
      "type": "object",
      "nullable": true,
      "description": "The user's profile picture represented as an [Attachment](https://developer.zendesk.com) object",
      "additionalProperties": true
    },
    "active": {
      "type": "boolean",
      "readOnly": true,
      "description": "false if the user has been deleted"
    },
    "locale": {
      "type": "string",
      "description": "The user's locale. A BCP-47 compliant tag for the locale. If both \"locale\" and \"locale_id\" are present on create or update, \"locale_id\" is ignored and only \"locale\" is used."
    },
    "shared": {
      "type": "boolean",
      "readOnly": true,
      "description": "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only"
    },
    "details": {
      "type": "string",
      "description": "Any details you want to store about the user, such as an address"
    },
    "verified": {
      "type": "boolean",
      "description": "Any of the user's identities is verified. See [User Identities](https://developer.zendesk.com)"
    },
    "chat_only": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether or not the user is a chat-only agent"
    },
    "locale_id": {
      "type": "integer",
      "description": "The user's language identifier"
    },
    "moderator": {
      "type": "boolean",
      "description": "Designates whether the user has forum moderation capabilities"
    },
    "role_type": {
      "type": "integer",
      "nullable": true,
      "readOnly": true,
      "description": "The user's role id. 0 for a custom agent, 1 for a light agent, 2 for a chat agent, 3 for a chat agent added to the Support account as a contributor ([Chat Phase 4](https://support.zendesk.com/hc/en-us/articles/360022365373#topic_djh_1zk_4fb)), 4 for an admin, and 5 for a billing admin"
    },
    "signature": {
      "type": "string",
      "description": "The user's signature. Only agents and admins can have signatures"
    },
    "suspended": {
      "type": "boolean",
      "description": "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal"
    },
    "time_zone": {
      "type": "string",
      "description": "The user's time zone. See [Time Zone](https://developer.zendesk.com)"
    },
    "created_at": {
      "type": "string",
      "format": "datetime",
      "readOnly": true,
      "description": "The time the user was created"
    },
    "report_csv": {
      "type": "boolean",
      "readOnly": true,
      "description": "This parameter is inert and has no effect. It may be deprecated in the\nfuture.\n\nPreviously, this parameter determined whether a user could access a CSV\nreport in a legacy Guide dashboard. This dashboard has been removed. See\n[Announcing Guide legacy reporting upgrade to\nExplore](https://support.zendesk.com/hc/en-us/articles/4762263171610-Announcing-Guide-legacy-reporting-upgrade-to-Explore-)\n"
    },
    "updated_at": {
      "type": "string",
      "format": "datetime",
      "readOnly": true,
      "description": "The time the user was last updated"
    },
    "external_id": {
      "type": "string",
      "nullable": true,
      "description": "A unique identifier from another system. The API treats the id as case insensitive. Example: \"ian1\" and \"IAN1\" are the same value."
    },
    "user_fields": {
      "type": "object",
      "description": "Values of custom fields in the user's profile. See [User Fields](https://developer.zendesk.com)",
      "additionalProperties": true
    },
    "shared_agent": {
      "type": "boolean",
      "readOnly": true,
      "description": "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only"
    },
    "last_login_at": {
      "type": "string",
      "format": "datetime",
      "readOnly": true,
      "description": "Last time the user signed in to Zendesk Support or made an API request\nusing an API token or basic authentication\n"
    },
    "custom_role_id": {
      "type": "integer",
      "nullable": true,
      "description": "A custom role if the user is an agent on the Enterprise plan or above"
    },
    "iana_time_zone": {
      "type": "string",
      "readOnly": true,
      "description": "The time zone for the user"
    },
    "organization_id": {
      "type": "integer",
      "nullable": true,
      "description": "The id of the user's organization. If the user has more than one [organization memberships](https://developer.zendesk.com), the id of the user's default organization. If updating, see [Organization ID](https://developer.zendesk.com)"
    },
    "default_group_id": {
      "type": "integer",
      "description": "The id of the user's default group"
    },
    "remote_photo_url": {
      "type": "string",
      "description": "A URL pointing to the user's profile picture."
    },
    "restricted_agent": {
      "type": "boolean",
      "description": "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents"
    },
    "ticket_restriction": {
      "type": "string",
      "nullable": true,
      "description": "Specifies which tickets the user has access to. Possible values are: \"organization\", \"groups\", \"assigned\", \"requested\", null. \"groups\" and \"assigned\" are valid only for agents. If you pass an invalid value to an end user (for example, \"groups\"), they will be assigned to \"requested\", regardless of their previous access"
    },
    "shared_phone_number": {
      "type": "boolean",
      "nullable": true,
      "description": "Whether the `phone` number is shared or not. See [Phone Number](https://developer.zendesk.com) below"
    },
    "only_private_comments": {
      "type": "boolean",
      "description": "true if the user can only create private comments"
    },
    "two_factor_auth_enabled": {
      "type": "boolean",
      "nullable": true,
      "readOnly": true,
      "description": "If two factor authentication is enabled"
    }
  }
}
object UserForEndUser
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when creating users"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this user"
    },
    "name": {
      "type": "string",
      "description": "The name of the user"
    },
    "role": {
      "type": "string",
      "description": "The role of the user. Possible values: `\"end-user\"`, `\"agent\"`, `\"admin\"`"
    },
    "email": {
      "type": "string",
      "description": "The primary email address of this user. If the primary email address is not [verified](https://support.zendesk.com/hc/en-us/articles/4408886752410), the secondary email address is used"
    },
    "phone": {
      "type": "string",
      "description": "The primary phone number of this user. See [Phone Number](/api-reference/ticketing/users/users/#phone-number) in the Users API"
    },
    "photo": {
      "type": "object",
      "description": "The user's profile picture represented as an [Attachment](https://developer.zendesk.com) object",
      "additionalProperties": true
    },
    "locale": {
      "type": "string",
      "readOnly": true,
      "description": "The locale for this user"
    },
    "verified": {
      "type": "boolean",
      "description": "Any of the user's identities is verified. See [User Identities](https://developer.zendesk.com)"
    },
    "locale_id": {
      "type": "integer",
      "description": "The language identifier for this user"
    },
    "time_zone": {
      "type": "string",
      "description": "The time-zone of this user"
    },
    "created_at": {
      "type": "string",
      "format": "datetime",
      "readOnly": true,
      "description": "The time the user was created"
    },
    "updated_at": {
      "type": "string",
      "format": "datetime",
      "readOnly": true,
      "description": "The time of the last update of the user"
    },
    "iana_time_zone": {
      "type": "string",
      "readOnly": true,
      "description": "The time zone for the user"
    },
    "organization_id": {
      "type": "integer",
      "description": "The id of the user's organization. If the user has more than one [organization memberships](https://developer.zendesk.com), the id of the user's default organization. If updating, see [Organization ID](/api-reference/ticketing/users/users/#organization-id)"
    },
    "shared_phone_number": {
      "type": "boolean",
      "description": "Whether the `phone` number is shared or not. See [Phone Number](/api-reference/ticketing/users/users/#phone-number) in the Users API"
    }
  }
}
string UserIdentitiesRequestVerificationEmailResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object UserIdentitiesResponse
{
  "type": "object",
  "properties": {
    "identities": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserIdentityObject"
      }
    }
  }
}
object UserIdentityObject
{
  "type": "object",
  "example": {
    "id": 35436,
    "url": "https://company.zendesk.com/api/v2/users/135/identities/35436.json",
    "type": "email",
    "value": "someone@example.com",
    "primary": true,
    "user_id": 135,
    "verified": true,
    "created_at": "2011-07-20T22:55:29Z",
    "updated_at": "2011-07-20T22:55:29Z",
    "deliverable_state": "deliverable"
  },
  "required": [
    "user_id",
    "type",
    "value"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned on creation"
    },
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of this identity"
    },
    "type": {
      "enum": [
        "email",
        "twitter",
        "facebook",
        "google",
        "phone_number",
        "agent_forwarding",
        "any_channel",
        "foreign",
        "sdk"
      ],
      "type": "string",
      "readOnly": true,
      "description": "The type of this identity"
    },
    "value": {
      "type": "string",
      "readOnly": true,
      "description": "The identifier for this identity, such as an email address"
    },
    "primary": {
      "type": "boolean",
      "description": "If the identity is the primary identity. *Writable only when creating, not when updating. Use the [Make Identity Primary](https://developer.zendesk.com) endpoint instead"
    },
    "user_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the user"
    },
    "verified": {
      "type": "boolean",
      "description": "If the identity has been verified"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the identity was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the identity was updated"
    },
    "deliverable_state": {
      "type": "string",
      "readOnly": true,
      "description": "Email identity type only. Indicates if Zendesk sends notifications to the email address. See [Deliverable state](https://developer.zendesk.com)"
    },
    "undeliverable_count": {
      "type": "integer",
      "readOnly": true,
      "description": "The number of times a soft-bounce response was received at that address"
    }
  }
}
object UserIdentityResponse
{
  "type": "object",
  "properties": {
    "identity": {
      "$ref": "#/components/schemas/UserIdentityObject"
    }
  }
}
object UserInput
{
  "anyOf": [
    {
      "$ref": "#/components/schemas/UserCreateInput"
    },
    {
      "$ref": "#/components/schemas/UserMergePropertiesInput"
    },
    {
      "$ref": "#/components/schemas/UserMergeByIdInput"
    }
  ],
  "additionalProperties": true
}
object UserMergeByIdInput
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    }
  }
}
object UserMergePropertiesInput
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "password": {
      "type": "string"
    },
    "organization_id": {
      "type": "integer"
    }
  }
}
object UserObject
{
  "anyOf": [
    {
      "$ref": "#/components/schemas/UserForAdmin"
    },
    {
      "$ref": "#/components/schemas/UserForEndUser"
    }
  ],
  "additionalProperties": true
}
object UserPasswordRequirementsResponse
{
  "type": "object",
  "properties": {
    "requirements": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
string UserPasswordsChangePasswordResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
string UserPasswordsSetNewPasswordResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object UserRelatedObject
{
  "type": "object",
  "properties": {
    "ccd_tickets": {
      "type": "integer",
      "description": "Count of collaborated tickets"
    },
    "assigned_tickets": {
      "type": "integer",
      "description": "Count of assigned tickets"
    },
    "requested_tickets": {
      "type": "integer",
      "description": "Count of requested tickets"
    },
    "organization_subscriptions": {
      "type": "integer",
      "description": "Count of organization subscriptions"
    }
  }
}
object UserRelatedResponse
{
  "type": "object",
  "properties": {
    "user_related": {
      "$ref": "#/components/schemas/UserRelatedObject"
    }
  }
}
object UserRequest
{
  "type": "object",
  "required": [
    "user"
  ],
  "properties": {
    "user": {
      "$ref": "#/components/schemas/UserInput"
    }
  }
}
object UserResponse
{
  "type": "object",
  "properties": {
    "user": {
      "$ref": "#/components/schemas/UserObject"
    }
  }
}
string UsersLogoutManyUsersResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object UsersRequest
{
  "type": "object",
  "required": [
    "users"
  ],
  "properties": {
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserInput"
      }
    }
  }
}
string UsersRequestCreateReminderResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object UsersResponse
{
  "type": "object",
  "properties": {
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserObject"
      }
    }
  }
}
object UsersUpdateManyRequest
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/UserRequest"
    },
    {
      "$ref": "#/components/schemas/UsersRequest"
    }
  ],
  "additionalProperties": true
}
object ViaObject
{
  "type": "object",
  "example": {
    "source": {
      "to": {},
      "rel": "trigger",
      "from": {
        "id": 22472716,
        "title": "Assign to first responder"
      }
    },
    "channel": "rule"
  },
  "readOnly": true,
  "properties": {
    "source": {
      "type": "object",
      "properties": {
        "to": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "address": {
              "type": "string"
            }
          }
        },
        "rel": {
          "type": "string",
          "nullable": true
        },
        "from": {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer",
              "nullable": true
            },
            "name": {
              "type": "string",
              "nullable": true
            },
            "title": {
              "type": "string",
              "nullable": true
            },
            "address": {
              "type": "string",
              "nullable": true
            }
          }
        }
      },
      "description": "For some channels a source object gives more information about how or why the ticket or event was created\n",
      "additionalProperties": true
    },
    "channel": {
      "type": "string",
      "description": "This tells you how the ticket or event was created. Examples: \"web\", \"mobile\", \"rule\", \"system\"\n"
    }
  },
  "description": "An object explaining how the ticket was created. See the [Via object reference](https://developer.zendesk.com)\n"
}
object ViewCountObject
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "readOnly": true,
      "description": "The API url of the count"
    },
    "fresh": {
      "type": "boolean",
      "readOnly": true,
      "description": "false if the cached data is stale and the system is still loading and caching new data"
    },
    "value": {
      "type": "integer",
      "nullable": true,
      "readOnly": true,
      "description": "The cached number of tickets in the view. Can also be null if the system is loading and caching new data. Not to be confused with 0 tickets"
    },
    "active": {
      "type": "boolean",
      "readOnly": true,
      "description": "Only active views if true, inactive views if false, all views if null."
    },
    "pretty": {
      "type": "string",
      "readOnly": true,
      "description": "A pretty-printed text approximation of the view count"
    },
    "view_id": {
      "type": "integer",
      "readOnly": true,
      "description": "The id of the view"
    }
  }
}
object ViewCountResponse
{
  "type": "object",
  "properties": {
    "view_count": {
      "$ref": "#/components/schemas/ViewCountObject"
    }
  }
}
object ViewCountsResponse
{
  "type": "object",
  "properties": {
    "view_counts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ViewCountObject"
      }
    }
  }
}
object ViewExportResponse
{
  "type": "object",
  "properties": {
    "export": {
      "type": "object",
      "properties": {
        "status": {
          "type": "string",
          "readOnly": true
        },
        "view_id": {
          "type": "integer",
          "readOnly": true
        }
      }
    }
  }
}
object ViewObject
{
  "type": "object",
  "example": {
    "id": 25,
    "title": "Tickets updated <12 Hours",
    "active": true,
    "default": false,
    "position": 8,
    "execution": {
      "sort": {
        "id": "updatedX",
        "order": "desc",
        "title": "Updated"
      },
      "group": {
        "id": "statusX",
        "order": "desc",
        "title": "Status"
      },
      "columns": [
        {
          "id": "status",
          "title": "Status"
        },
        {
          "id": "updated",
          "title": "Updated"
        },
        {
          "id": 5,
          "url": "https://example.zendesk.com/api/v2/ticket_fields/5.json",
          "type": "text",
          "title": "Account"
        }
      ]
    },
    "conditions": {
      "all": [
        {
          "field": "status",
          "value": "solved",
          "operator": "less_than"
        },
        {
          "field": "assignee_id",
          "value": "296220096",
          "operator": "is"
        }
      ],
      "any": []
    },
    "description": "View for recent tickets",
    "restriction": {
      "id": 4,
      "type": "User"
    }
  },
  "properties": {
    "id": {
      "type": "integer",
      "readOnly": true,
      "description": "Automatically assigned when created"
    },
    "title": {
      "type": "string",
      "description": "The title of the view"
    },
    "active": {
      "type": "boolean",
      "description": "Whether the view is active"
    },
    "default": {
      "type": "boolean",
      "readOnly": true,
      "description": "If true, the view is a default view"
    },
    "position": {
      "type": "integer",
      "description": "The position of the view"
    },
    "execution": {
      "type": "object",
      "description": "Describes how the view should be executed. See [Execution](https://developer.zendesk.com)",
      "additionalProperties": true
    },
    "conditions": {
      "type": "object",
      "description": "Describes how the view is constructed. See [Conditions reference](https://developer.zendesk.com)",
      "additionalProperties": true
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the view was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "readOnly": true,
      "description": "The time the view was last updated"
    },
    "description": {
      "type": "string",
      "description": "The description of the view"
    },
    "restriction": {
      "type": "object",
      "description": "Who may access this account. Is null when everyone in the account can access it",
      "additionalProperties": true
    }
  }
}
object ViewResponse
{
  "type": "object",
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "view": {
      "$ref": "#/components/schemas/ViewObject"
    },
    "groups": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    }
  }
}
object ViewsCountResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer"
        },
        "refreshed_at": {
          "type": "string",
          "format": "date-time"
        }
      }
    }
  }
}
object ViewsResponse
{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer",
      "readOnly": true
    },
    "views": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ViewObject"
      }
    },
    "next_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "previous_page": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    }
  }
}
object WorkspaceInput
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "The title of the workspace"
    },
    "macros": {
      "type": "array",
      "items": {
        "type": "number"
      }
    },
    "conditions": {
      "$ref": "#/components/schemas/ConditionsObject"
    },
    "description": {
      "type": "string",
      "description": "User-defined description of this workspace's purpose"
    },
    "ticket_form_id": {
      "type": "number"
    }
  }
}
object WorkspaceObject
{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Automatically assigned upon creation"
    },
    "url": {
      "type": "string",
      "description": "The URL for this resource"
    },
    "apps": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      },
      "description": "The apps associated to this workspace"
    },
    "title": {
      "type": "string",
      "description": "The title of the workspace"
    },
    "macros": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The ids of the macros associated to this workspace"
    },
    "position": {
      "type": "integer",
      "description": "Ordering of the workspace relative to other workspaces"
    },
    "activated": {
      "type": "boolean",
      "description": "If true, this workspace is available for use"
    },
    "macro_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "The ids of the macros associated to this workspace"
    },
    "conditions": {
      "$ref": "#/components/schemas/ConditionsObject"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time the workspace was created"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The time of the last update of the workspace"
    },
    "description": {
      "type": "string",
      "description": "User-defined description of this workspace's purpose"
    },
    "ticket_form_id": {
      "type": "integer",
      "description": "The id of the ticket web form associated to this workspace"
    },
    "selected_macros": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MacroObject"
      },
      "description": "An array of the macro objects that will be used in this workspace. See [Macros](https://developer.zendesk.com)"
    },
    "prefer_workspace_app_order": {
      "type": "boolean",
      "description": "If true, the order of apps within the workspace will be preserved"
    }
  }
}
object WorkspaceResponse
{
  "type": "object",
  "allOf": [
    {
      "type": "object",
      "properties": {
        "workspaces": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/WorkspaceObject"
          }
        }
      }
    },
    {
      "$ref": "#/components/schemas/OffsetPaginationObject"
    }
  ]
}
string WorkspacesBulkDeleteResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object WorkspacesCreateNewRequest
{
  "type": "object",
  "properties": {
    "workspace": {
      "$ref": "#/components/schemas/WorkspaceInput"
    }
  }
}
object WorkspacesCreateNewResponse
{
  "type": "object",
  "properties": {
    "workspace": {
      "$ref": "#/components/schemas/WorkspaceObject"
    }
  }
}
object WorkspacesGetWorkspaceResponse
{
  "type": "object",
  "properties": {
    "workspace": {
      "$ref": "#/components/schemas/WorkspaceObject"
    }
  }
}
object WorkspacesReorderWorkspacesRequest
{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "number"
      }
    }
  }
}
string WorkspacesReorderWorkspacesResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}
object WorkspacesUpdateWorkspaceRequest
{
  "type": "object",
  "properties": {
    "workspace": {
      "$ref": "#/components/schemas/WorkspaceInput"
    }
  }
}
object WorkspacesUpdateWorkspaceResponse
{
  "type": "object",
  "properties": {
    "workspace": {
      "$ref": "#/components/schemas/WorkspaceObject"
    }
  }
}
string XChannelTweetToTicketResponse
{
  "type": "string",
  "example": "",
  "description": "Empty response"
}