/api/v2/custom_objects/{custom_object_key}/records
Deletes a record with the specified external id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
| external_id | query | optional | string | The external id of a custom object record |
No content response
DELETE /api/v2/custom_objects/{custom_object_key}/records
/api/v2/custom_objects/{custom_object_key}/records
Lists all undeleted custom object records for the specified object
#### Pagination
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
| filter[ids] | query | optional | string | Optional comma-separated list of ids to filter records by. If one or more ids are specified, only matching records are returned. The ids must be unique and are case sensitive. |
| filter[external_ids] | query | optional | string | Optional comma-separated list of external ids to filter records by. If one or more ids are specified, only matching records are returned. The ids must be unique and are case sensitive. |
| sort | query | optional | string | One of |
| page[before] | query | optional | string | A pagination cursor that tells the endpoint which page to start on. It should be a |
| page[after] | query | optional | string | A pagination cursor that tells the endpoint which page to start on. It should be a |
| page[size] | query | optional | integer | Specifies how many records should be returned in the response. You can specify up to 100 records per page. |
Success response
GET /api/v2/custom_objects/{custom_object_key}/records
/api/v2/custom_objects/{custom_object_key}/records
If a record exists for the given external id, updates it. Only the specified attributes are updated. Otherwise, creates a new record with the provided external id and attributes.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
| external_id | query | optional | string | The external id of a custom object record |
application/json
CustomObjectRecordsUpsertRequest
| Property | Type | Required |
|---|---|---|
| custom_object_record | object | optional |
| └ id | string | optional |
| └ url | string | optional |
| └ name | string | required |
| └ created_at | string | optional |
| └ updated_at | string | optional |
| └ external_id | string | optional |
| └ custom_object_key | string | optional |
| └ created_by_user_id | string | optional |
| └ updated_by_user_id | string | optional |
| └ custom_object_fields | object | optional |
Success
PATCH /api/v2/custom_objects/{custom_object_key}/records
/api/v2/custom_objects/{custom_object_key}/records
Creates a custom object record according to all the properties described by a custom object definition
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
application/json
CustomObjectRecordsCreateRequest
| Property | Type | Required |
|---|---|---|
| custom_object_record | object | optional |
| └ id | string | optional |
| └ url | string | optional |
| └ name | string | required |
| └ created_at | string | optional |
| └ updated_at | string | optional |
| └ external_id | string | optional |
| └ custom_object_key | string | optional |
| └ created_by_user_id | string | optional |
| └ updated_by_user_id | string | optional |
| └ custom_object_fields | object | optional |
Created
POST /api/v2/custom_objects/{custom_object_key}/records
/api/v2/custom_objects/{custom_object_key}/records/autocomplete
Retrieves an array of custom object records that have a field value that matches the value specified in the name parameter.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
| name | query | optional | string | Part of a name of the record you are searching for |
| page[before] | query | optional | string | A pagination cursor that tells the endpoint which page to start on. It should be a |
| page[after] | query | optional | string | A pagination cursor that tells the endpoint which page to start on. It should be a |
| page[size] | query | optional | integer | The number of records to return in the response. You can specify up to 100 records per page. |
| field_id | query | optional | string | The id of the lookup field. If the field has a relationship filter, the filter is applied to the results. Must be used with |
| source | query | optional | string | One of “zen:user”, “zen:ticket”, “zen:organization”, or “zen:custom_object:CUSTOM_OBJECT_KEY”. Represents the object |
| requester_id | query | optional | integer | The id of the requester. For use with dynamic filters. |
| assignee_id | query | optional | integer | The id of the selected assignee. For use with dynamic filters. |
| organization_id | query | optional | integer | The id of the organization the requester belongs to. For use with dynamic filters. |
Success response
GET /api/v2/custom_objects/{custom_object_key}/records/autocomplete
/api/v2/custom_objects/{custom_object_key}/records/count
Returns a total count of records for a specific custom object as well as the time the count was refreshed.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
Success response
GET /api/v2/custom_objects/{custom_object_key}/records/count
/api/v2/custom_objects/{custom_object_key}/records/search
Returns an array of custom object records that meet the search criteria
sort parameter, only the first 10,000 records are returned. With a sort parameter, all records are returned.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
| query | query | optional | string | The query parameter is used to search text-based fields for records that match specific query terms. Fuzzy search is supported for the following text-based field types: : Text fields, Multi Line Text fields, and RegExp fields. For example, you might want to search for records related to Tesla vehicles: You can include multiple words or numbers in your search. For example: |
| sort | query | optional | string | One of |
| page[before] | query | optional | string | A pagination cursor that tells the endpoint which page to start on. It should be a |
| page[after] | query | optional | string | A pagination cursor that tells the endpoint which page to start on. It should be a |
| page[size] | query | optional | integer | Specifies how many records should be returned in the response. You can specify up to 100 records per page. |
Success response
GET /api/v2/custom_objects/{custom_object_key}/records/search
/api/v2/custom_objects/{custom_object_key}/records/{custom_object_record_id}
Deletes a record with the specified id
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
| custom_object_record_id | path | optional | string | The id of a custom object record |
No content response
DELETE /api/v2/custom_objects/{custom_object_key}/records/{custom_object_record_id}
/api/v2/custom_objects/{custom_object_key}/records/{custom_object_record_id}
Returns a custom record for a specific object using a provided id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
| custom_object_record_id | path | optional | string | The id of a custom object record |
Custom Object Record
GET /api/v2/custom_objects/{custom_object_key}/records/{custom_object_record_id}
/api/v2/custom_objects/{custom_object_key}/records/{custom_object_record_id}
Updates an individual custom object record. The updating rules are as follows:
custom_object_record object that specifies the properties to updatecustom_object_fields object
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
| custom_object_record_id | path | optional | string | The id of a custom object record |
Success response
PATCH /api/v2/custom_objects/{custom_object_key}/records/{custom_object_record_id}
/api/v2/custom_objects
Lists all undeleted custom objects for the account
Success response
GET /api/v2/custom_objects
/api/v2/custom_objects
Creates an object describing all the properties required to create a custom object record
application/json
CustomObjectsCreateRequest
| Property | Type | Required |
|---|---|---|
| custom_object | object | optional |
| └ key | string | optional |
| └ title | string | optional |
| └ title_pluralized | string | optional |
Created
POST /api/v2/custom_objects
/api/v2/custom_objects/limits/object_limit
List the current count and the limit for custom objects
Success response
GET /api/v2/custom_objects/limits/object_limit
/api/v2/custom_objects/{custom_object_key}
Permanently deletes the custom object with the specified key
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
No content response
DELETE /api/v2/custom_objects/{custom_object_key}
/api/v2/custom_objects/{custom_object_key}
Returns an object with the specified key
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
Custom Object
GET /api/v2/custom_objects/{custom_object_key}
/api/v2/custom_objects/{custom_object_key}
Updates an individual custom object. The updating rules are as follows:
custom_object object that specifies the properties to updatekey property cannot be updated
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_object_key | path | optional | string | The key of a custom object |
Success response
PATCH /api/v2/custom_objects/{custom_object_key}
/api/v2/custom_roles
Success response
GET /api/v2/custom_roles
/api/v2/custom_roles
manage_roles permissionCreated response
POST /api/v2/custom_roles
/api/v2/custom_roles/{custom_role_id}
manage_roles permission| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_role_id | path | optional | integer | The ID of the custom agent role |
No Contetnt response
DELETE /api/v2/custom_roles/{custom_role_id}
/api/v2/custom_roles/{custom_role_id}
manage_roles permission| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_role_id | path | optional | integer | The ID of the custom agent role |
Success response
GET /api/v2/custom_roles/{custom_role_id}
/api/v2/custom_roles/{custom_role_id}
manage_roles permission| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_role_id | path | optional | integer | The ID of the custom agent role |
Success response
PUT /api/v2/custom_roles/{custom_role_id}
/api/v2/custom_status/default
Updates the default values for many custom ticket statuses at once.
application/json
BulkUpdateDefaultCustomStatusRequest
| Property | Type | Required |
|---|---|---|
| ids | string | optional |
Updated
PUT /api/v2/custom_status/default
/api/v2/custom_statuses
Lists all undeleted custom ticket statuses for the account. No pagination is provided.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| status_categories | query | optional | string | Filter the list of custom ticket statuses by a comma-separated list of status categories |
| active | query | optional | boolean | If true, show only active custom ticket statuses. If false, show only inactive custom ticket statuses. If the filter is not used, show all custom ticket statuses |
| default | query | optional | boolean | If true, show only default custom ticket statuses. If false, show only non-default custom ticket statuses. If the filter is not used, show all custom ticket statuses |
List custom ticket statuses
GET /api/v2/custom_statuses
/api/v2/custom_statuses
Takes a custom_status object that specifies the custom ticket status properties to create.
application/json
CustomStatusCreateRequest
| Property | Type | Required |
|---|---|---|
| custom_status | object | optional |
| └ active | boolean | optional |
| └ agent_label | string | optional |
| └ description | string | optional |
| └ end_user_label | string | optional |
| └ end_user_description | string | optional |
| └ status_category | string | optional |
Created
POST /api/v2/custom_statuses
/api/v2/custom_statuses/{custom_status_id}
Returns the custom ticket status object.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_status_id | path | optional | integer | The id of the custom status |
Custom Status
GET /api/v2/custom_statuses/{custom_status_id}
/api/v2/custom_statuses/{custom_status_id}
Takes a custom_status object that specifies the properties to update.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| custom_status_id | path | optional | integer | The id of the custom status |
application/json
CustomStatusUpdateRequest
| Property | Type | Required |
|---|---|---|
| custom_status | object | optional |
| └ active | boolean | optional |
| └ agent_label | string | optional |
| └ description | string | optional |
| └ end_user_label | string | optional |
| └ end_user_description | string | optional |
Updated
PUT /api/v2/custom_statuses/{custom_status_id}
/api/v2/dynamic_content/items
Returns a list of all dynamic content items for your account if accessed as an admin or agents who have permission to manage dynamic content.
See Pagination.
Success response
GET /api/v2/dynamic_content/items
/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.
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 endpoint.
Created response
POST /api/v2/dynamic_content/items
/api/v2/dynamic_content/items/show_many
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| identifiers | query | optional | string | Identifiers for the dynamic contents |
Success response
GET /api/v2/dynamic_content/items/show_many
/api/v2/dynamic_content/items/{dynamic_content_item_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
No Content response
DELETE /api/v2/dynamic_content/items/{dynamic_content_item_id}
/api/v2/dynamic_content/items/{dynamic_content_item_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Success response
GET /api/v2/dynamic_content/items/{dynamic_content_item_id}
/api/v2/dynamic_content/items/{dynamic_content_item_id}
The only attribute you can change is the name.
To add a variant to the item, or to update or delete the variants of the item, use the Item Variants API.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Success response
PUT /api/v2/dynamic_content/items/{dynamic_content_item_id}
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants
Returns all the variants of the specified dynamic content item.
See Pagination.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Success response
GET /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants
/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.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Created response
POST /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/create_many
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Created response
POST /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/create_many
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/update_many
Updates one or more variants. See Update Variant.
You must specify the variants by id in the body. To get the variant ids, see List Variants.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
Success response
PUT /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/update_many
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
| dynammic_content_variant_id | path | optional | integer | The ID of the variant |
No Content response
DELETE /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
| dynammic_content_variant_id | path | optional | integer | The ID of the variant |
Success response
GET /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
/api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
Updates the specified variant. You don’t need to include all the properties. If you just want to update content, for example, then include just that.
You can’t switch the active state of the default variant of an item. Similarly, you can’t switch the default to false if the variant is the default. You must make another variant default instead.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| dynamic_content_item_id | path | optional | integer | The ID of the dynamic content item |
| dynammic_content_variant_id | path | optional | integer | The ID of the variant |
Success response
PUT /api/v2/dynamic_content/items/{dynamic_content_item_id}/variants/{dynammic_content_variant_id}
/api/v2/object_layouts/essentials_cards
Gets the list of essentials cards.
Success response
GET /api/v2/object_layouts/essentials_cards
/api/v2/object_layouts/{object_type}/essentials_card
Delete the essentials card for an object type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| object_type | path | optional | string | Essentials card type. Example: |
Success response
DELETE /api/v2/object_layouts/{object_type}/essentials_card
/api/v2/object_layouts/{object_type}/essentials_card
Gets the essentials card for an object type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| object_type | path | optional | string | Essentials card type. Example: |
Success response
GET /api/v2/object_layouts/{object_type}/essentials_card
/api/v2/object_layouts/{object_type}/essentials_card
Updates the essentials card for an object type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| object_type | path | optional | string | Essentials card type. Example: |
Success response
PUT /api/v2/object_layouts/{object_type}/essentials_card
/api/v2/group_memberships
See Pagination.
Returns a maximum of 100 records per page.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| group_id | path | optional | integer | The ID of the group |
| user_id | path | optional | integer | The id of the user |
Success response
GET /api/v2/group_memberships
/api/v2/group_memberships
Assigns an agent to a given group.
Created response
POST /api/v2/group_memberships
/api/v2/group_memberships/assignable
Returns a maximum of 100 group memberships per page.
See Pagination.
Returns a maximum of 100 records per page.
Success response
GET /api/v2/group_memberships/assignable
/api/v2/group_memberships/create_many
Assigns up to 100 agents to given groups.
This endpoint returns a job_status JSON object and queues a background job to do the work. Use the Show Job Status endpoint to check for the job’s completion.
Success response
POST /api/v2/group_memberships/create_many
/api/v2/group_memberships/destroy_many
Immediately removes users from groups and schedules a job to unassign all working tickets that are assigned to the given user and group combinations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | optional | string | Id of the group memberships to delete. Comma separated |
Success response
DELETE /api/v2/group_memberships/destroy_many
/api/v2/group_memberships/{group_membership_id}
Immediately removes a user from a group and schedules a job to unassign all working tickets that are assigned to the given user and group combination.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| group_membership_id | path | optional | integer | The ID of the group membership |
| user_id | path | optional | integer | The id of the user |
No content response
DELETE /api/v2/group_memberships/{group_membership_id}
/api/v2/group_memberships/{group_membership_id}
The ‘id’ is the group membership id, not a group id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| group_membership_id | path | optional | integer | The ID of the group membership |
| user_id | path | optional | integer | The id of the user |
Success response
GET /api/v2/group_memberships/{group_membership_id}