Adds the specified tags.
Organization ID
Type: number
Type: object
{
"tags" : [ "string" ]
}
Adds the specified tags.
Adds the specified tags.
Returns an array of organizations whose name starts with the value specified in the name parameter.
Returns tickets whose type is "Problem" and whose subject contains the string specified in the text parameter.
Returns an array of registered and recent tag names that start with the specified name. The name must be at least 2 characters in length.
Returns an array of users whose name starts with the value specified in the name parameter. It only returns users with no foreign identities.
Returns a JSON object determining whether a host mapping is valid for a given subdomain.
Returns a JSON object determining whether a host mapping is valid for a given subdomain.
Clone an already existing ticket form
Create automation
Type: object
{
"automation" : {
"updated_at" : "The time of the last update of the automation",
"active" : "Whether the automation is active",
"created_at" : "The time the automation was created",
"id" : "Automatically assigned when created",
"position" : "Position of the automation, determines the order they will execute in",
"title" : "The title of the automation",
"conditions" : {
"all" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ],
"any" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ]
},
"actions" : {
"actions" : [ {
"field" : "The name of a field",
"value" : "The value of the field"
} ]
}
}
}
Create bookmark
Type: object
{
"bookmark" : {
"ticket" : {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
},
"created_at" : "The time the bookmark was created",
"id" : "Automatically assigned when the bookmark is created",
"url" : "The API url of this bookmark"
}
}
Create brand
Type: object
{
"brand" : {
"ticket_form_ids" : [ "integer" ],
"host_mapping" : "The hostmapping to this brand, if any (only admins view this key)",
"active" : "If the brand is set as active",
"created_at" : "The time the brand was created",
"help_center_state" : "The state of the Help Center",
"url" : "The API url of this brand",
"brand_url" : "The url of the brand",
"has_help_center" : "If the brand has a Help Center",
"default" : "Is the brand the default brand for this account",
"updated_at" : "The time of the last update of the brand",
"signature_template" : "The signature template for a brand",
"name" : "The name of the brand",
"logo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"subdomain" : "The subdomain of the brand",
"id" : "Automatically assigned when the brand is created"
}
}
Type: object
{
"custom_role" : {
"role_type" : "The value 0",
"updated_at" : "The time the record was last updated",
"configuration" : {
"voice_access" : "boolean",
"moderate_forums" : "boolean",
"user_view_access" : "string. Possible values: full | manage-group | manage-personal | none | readonly",
"ticket_merge" : "boolean",
"ticket_access" : "string. Possible values: all | assigned-only | within-groups | within-organization",
"light_agent" : "boolean",
"explore_access" : "string. Possible values: edit | full | none | readonly",
"macro_access" : "string. Possible values: full | manage-group | manage-personal | readonly",
"organization_notes_editing" : "boolean",
"view_deleted_tickets" : "boolean",
"end_user_list_access" : "string. Possible values: full | none",
"end_user_profile_access" : "string. Possible values: edit | edit-within-org | full | readonly",
"report_access" : "string. Possible values: full | none | readonly",
"manage_dynamic_content" : "boolean",
"forum_access" : "string. Possible values: edit-topics | full | readonly",
"ticket_comment_access" : "string. Possible values: public | none",
"twitter_search_access" : "boolean",
"forum_access_restricted_content" : "boolean",
"group_access" : "boolean",
"ticket_editing" : "boolean",
"manage_business_rules" : "boolean",
"ticket_deletion" : "boolean",
"view_access" : "string. Possible values: full | manage-group | manage-personal | playonly | readonly",
"ticket_tag_editing" : "boolean",
"manage_facebook" : "boolean",
"manage_extensions_and_channels" : "boolean",
"organization_editing" : "boolean",
"chat_access" : "boolean"
},
"name" : "Name of this custom role",
"description" : "A description of the role",
"created_at" : "The time the record was created",
"id" : "Automatically assigned upon creation"
}
}
Create dynamic content item
Type: object
{
"item" : {
"outdated" : "Indicates the item has outdated variants within it",
"updated_at" : "When this record last got updated",
"default_locale_id" : "The default locale for the item. Must be one of the locales the account has active.",
"name" : "The unique name of the item",
"created_at" : "When this record was created",
"id" : "Automatically assigned when creating items",
"placeholder" : "Automatically generated placeholder for the item, derived from name",
"variants" : [ {
"locale_id" : "An active locale",
"default" : "If the variant is the default for the item it belongs to",
"outdated" : "If the variant is outdated",
"updated_at" : "When the variant was last updated",
"active" : "If the variant is active and useable",
"created_at" : "When the variant was created",
"id" : "Automatically assigned when the variant is created",
"url" : "The API url of the variant",
"content" : "The content of the variant"
} ],
"url" : "The API url of this item"
}
}
Create dynamic content variant. You can only create one variant for each locale id. If a locale variant already exists, the request is rejected.
Variant ID
Type: number
Type: object
{
"variant" : {
"locale_id" : "An active locale",
"default" : "If the variant is the default for the item it belongs to",
"outdated" : "If the variant is outdated",
"updated_at" : "When the variant was last updated",
"active" : "If the variant is active and useable",
"created_at" : "When the variant was created",
"id" : "Automatically assigned when the variant is created",
"url" : "The API url of the variant",
"content" : "The content of the variant"
}
}
Create group
Type: object
{
"group" : {
"deleted" : "Deleted groups get marked as such",
"updated_at" : "The time of the last update of the group",
"name" : "The name of the group",
"created_at" : "The time the group was created",
"id" : "Automatically assigned when creating groups",
"url" : "The API url of this group"
}
}
Type: object
{
"group_membership" : {
"default" : "If true, tickets assigned directly to the agent will assume this membership's group.",
"updated_at" : "The time of the last update of the membership",
"user_id" : "The id of an agent",
"group_id" : "The id of a group",
"created_at" : "The time the membership was created",
"id" : "Automatically assigned upon creation",
"url" : "The API url of this record"
}
}
User ID
Type: number
Type: object
{
"group_membership" : {
"default" : "If true, tickets assigned directly to the agent will assume this membership's group.",
"updated_at" : "The time of the last update of the membership",
"user_id" : "The id of an agent",
"group_id" : "The id of a group",
"created_at" : "The time the membership was created",
"id" : "Automatically assigned upon creation",
"url" : "The API url of this record"
}
}
Create a holiday
Schedule ID
Type: number
Type: object
{
"holiday" : {
"end_date" : "ISO 8601 representation of the holiday end date.",
"name" : "Name of the holiday.",
"id" : "Automatically assigned upon creation.",
"start_date" : "ISO 8601 representation of the holiday start date."
}
}
Add a user identity to a given user id.
User ID
Type: number
Type: object
{
"identity" : {
"updated_at" : "The time the identity was updated",
"user_id" : "The id of the user",
"deliverable_state" : "string. Possible values: deliverable | undeliverable",
"verified" : "If the identity has been verified",
"undeliverable_count" : "The number of times a soft-bounce response was received at that address",
"created_at" : "The time the identity was created",
"id" : "Automatically assigned on creation",
"type" : "string. Possible values: email | twitter | facebook | google | phone_number | agent_fowarding | sdk",
"value" : "The identifier for this identity, such as an email address",
"url" : "The API url of this identity",
"primary" : "If the identity is the primary identity. *Writable only when creating, not when updating. Use the Make Identity Primary endpoint instead"
}
}
Add a user identity to a given user id.
User ID
Type: number
Type: object
{
"identity" : {
"updated_at" : "The time the identity was updated",
"user_id" : "The id of the user",
"deliverable_state" : "string. Possible values: deliverable | undeliverable",
"verified" : "If the identity has been verified",
"undeliverable_count" : "The number of times a soft-bounce response was received at that address",
"created_at" : "The time the identity was created",
"id" : "Automatically assigned on creation",
"type" : "string. Possible values: email | twitter | facebook | google | phone_number | agent_fowarding | sdk",
"value" : "The identifier for this identity, such as an email address",
"url" : "The API url of this identity",
"primary" : "If the identity is the primary identity. *Writable only when creating, not when updating. Use the Make Identity Primary endpoint instead"
}
}
Create macro
Type: object
{
"macro" : {
"updated_at" : "The time of the last update of the macro",
"restriction" : { },
"active" : "Useful for determining if the macro should be displayed",
"description" : "The description of the macro",
"created_at" : "The time the macro was created",
"id" : "Automatically assigned when created",
"position" : "The position of the macro",
"title" : "The title of the macro",
"actions" : {
"actions" : [ {
"field" : "The name of a field",
"value" : "The value of the field"
} ]
}
}
}
Create up to 100 dynamic content variants.
DynamicContentItem ID
Type: number
Type: object
{
"variants" : [ {
"locale_id" : "An active locale",
"default" : "If the variant is the default for the item it belongs to",
"outdated" : "If the variant is outdated",
"updated_at" : "When the variant was last updated",
"active" : "If the variant is active and useable",
"created_at" : "When the variant was created",
"id" : "Automatically assigned when the variant is created",
"url" : "The API url of the variant",
"content" : "The content of the variant"
} ]
}
Create up to 100 group memberships.
Type: object
{
"group_memberships" : [ {
"default" : "If true, tickets assigned directly to the agent will assume this membership's group.",
"updated_at" : "The time of the last update of the membership",
"user_id" : "The id of an agent",
"group_id" : "The id of a group",
"created_at" : "The time the membership was created",
"id" : "Automatically assigned upon creation",
"url" : "The API url of this record"
} ]
}
Create up to 100 organization memberships.
Type: object
{
"organization_memberships" : [ {
"default" : "Denotes whether this is the default organization membership for the user. If false, returns null",
"updated_at" : "When this record last got updated",
"user_id" : "The ID of the user for whom this memberships belongs",
"organization_id" : "The ID of the organization associated with this user, in this membership",
"created_at" : "When this record was created",
"id" : "Automatically assigned when the membership is created",
"url" : "The API url of this membership"
} ]
}
Bulk create up to 100 organizations.
Type: object
{
"organizations" : [ {
"shared_tickets" : "End users in this organization are able to see each other's tickets",
"notes" : "Any notes you have about the organization",
"created_at" : "The time the organization was created",
"external_id" : "A unique external id to associate organizations to an external record",
"url" : "The API url of this organization",
"domain_names" : [ "string" ],
"tags" : [ "string" ],
"organization_fields" : { },
"updated_at" : "The time of the last update of the organization",
"group_id" : "New tickets from users in this organization are automatically put in this group",
"name" : "A unique name for the organization",
"details" : "Any details obout the organization, such as the address",
"id" : "Automatically assigned when the organization is created",
"shared_comments" : "End users in this organization are able to see each other's comments on tickets"
} ]
}
Create up to 100 tickets.
Type: object
{
"tickets" : [ {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
} ]
}
Create up to 100 users.
Type: object
{
"users" : [ {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
} ]
}
Create Oauth client
Type: object
{
"client" : {
"identifier" : "The unique identifier for this client",
"logo_url" : "The API logo url of this record",
"description" : "A short description of your client that is displayed to users when they are considering approving access to your application.",
"created_at" : "The time the client was created",
"global" : "Whether this client is globally accessible. Learn more",
"secret" : "The client secret. Generated automatically on creation and returned in full only at that time.",
"url" : "The API url of this record",
"updated_at" : "The time of the last update of the client",
"user_id" : "The id of the admin who created the client",
"name" : "The name of this client",
"company" : "Choose a company name to display when users are asked to approve access to your application. The name will help users understand who they are granting access to.",
"id" : "Automatically assigned upon creation",
"redirect_uri" : [ "string" ]
}
}
Create token
Type: object
{
"token" : {
"refresh_token" : "The refresh token, if generated",
"used_at" : "The latest time this token was used for authentication",
"expires_at" : "The time the token will expire",
"user_id" : "The id of the user this token authenticates as",
"created_at" : "The time the token was created",
"id" : "Automatically assigned upon creation",
"scopes" : [ "string" ],
"client_id" : "The id of the client this token belongs to",
"url" : "The API url of this record",
"token" : "The access token"
}
}
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.
Type: object
{
"users" : [ {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
} ]
}
Creates an organization if it doesn't already exist, or updates an existing organization identified by ID or external ID. Using this method means one less call to check if an organization exists before creating it.
Type: object
{
"organization" : {
"shared_tickets" : "End users in this organization are able to see each other's tickets",
"notes" : "Any notes you have about the organization",
"created_at" : "The time the organization was created",
"external_id" : "A unique external id to associate organizations to an external record",
"url" : "The API url of this organization",
"domain_names" : [ "string" ],
"tags" : [ "string" ],
"organization_fields" : { },
"updated_at" : "The time of the last update of the organization",
"group_id" : "New tickets from users in this organization are automatically put in this group",
"name" : "A unique name for the organization",
"details" : "Any details obout the organization, such as the address",
"id" : "Automatically assigned when the organization is created",
"shared_comments" : "End users in this organization are able to see each other's comments on tickets"
}
}
Creates a user if the user does not already exist, or updates an existing user identified by e-mail address or external ID.
Type: object
{
"user" : {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
}
}
Create organization
Type: object
{
"organization" : {
"shared_tickets" : "End users in this organization are able to see each other's tickets",
"notes" : "Any notes you have about the organization",
"created_at" : "The time the organization was created",
"external_id" : "A unique external id to associate organizations to an external record",
"url" : "The API url of this organization",
"domain_names" : [ "string" ],
"tags" : [ "string" ],
"organization_fields" : { },
"updated_at" : "The time of the last update of the organization",
"group_id" : "New tickets from users in this organization are automatically put in this group",
"name" : "A unique name for the organization",
"details" : "Any details obout the organization, such as the address",
"id" : "Automatically assigned when the organization is created",
"shared_comments" : "End users in this organization are able to see each other's comments on tickets"
}
}
Create organization field
Type: object
{
"organization_field" : {
"raw_title" : "The dynamic content placeholder, if present, or the \"title\" value, if not.",
"custom_field_options" : [ "string" ],
"description" : "User-defined description of this field's purpose",
"active" : "If true, this field is available for use",
"created_at" : "The time the ticket field was created",
"type" : "string. Possible values: checkbox | date | decimal | dropdown | integer | regexp | text | textarea | tagger",
"title" : "The title of the custom field",
"raw_description" : "The dynamic content placeholder, if present, or the \"description\" value, if not.",
"url" : "The URL for this resource",
"system" : "If true, only active and position values of this field can be changed",
"updated_at" : "The time of the last update of the ticket field",
"regexp_for_validation" : "Regular expression field only. The validation pattern for a field value to be deemed valid.",
"id" : "Automatically assigned upon creation",
"position" : "Ordering of the field relative to other fields",
"tag" : "Optional for custom field of type \"checkbox\"; not presented otherwise.",
"key" : "A unique key that identifies this custom field. This is used for updating the field and referencing in placeholders."
}
}
Create organization membership
Type: object
{
"organization_membership" : {
"default" : "Denotes whether this is the default organization membership for the user. If false, returns null",
"updated_at" : "When this record last got updated",
"user_id" : "The ID of the user for whom this memberships belongs",
"organization_id" : "The ID of the organization associated with this user, in this membership",
"created_at" : "When this record was created",
"id" : "Automatically assigned when the membership is created",
"url" : "The API url of this membership"
}
}
Create organization membership for user
User ID
Type: number
Type: object
{
"organization_membership" : {
"default" : "Denotes whether this is the default organization membership for the user. If false, returns null",
"updated_at" : "When this record last got updated",
"user_id" : "The ID of the user for whom this memberships belongs",
"organization_id" : "The ID of the organization associated with this user, in this membership",
"created_at" : "When this record was created",
"id" : "Automatically assigned when the membership is created",
"url" : "The API url of this membership"
}
}
Create organization subscription
Type: object
{
"organization_subscription" : {
"updated_at" : "When this record last got updated",
"organization_id" : "The ID of the organization associated with this user, in this membership",
"created_at" : "When this record was created",
"id" : "Automatically assigned when the membership is created"
}
}
Create recipient address
Type: object
{
"recipient_address" : {
"cname_status" : "Whether all of the required CNAME records are set.",
"forwarding_status" : "Status of email forwarding.",
"created_at" : "When the address was created",
"spf_status" : "Whether the SPF record is set up correctly.",
"brand_id" : "The ID of the brand",
"default" : "Whether the address is the account's default support address",
"ses_status" : "Whether the SES domain verification is valid.",
"updated_at" : "When the address was updated",
"name" : "The name for the address",
"id" : "Automatically assigned when created",
"domain_verification_status" : "Whether the domain verification record is valid.",
"email" : "The email address (not updateable)",
"domain_verification_code" : "Verification string to be added as a TXT record to the domain. Possible types: string or null."
}
}
Create request
Type: object
{
"request" : {
"subject" : "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",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"email_cc_ids" : [ "integer" ],
"description" : "The first comment on the request",
"solved" : "Whether or not request is solved (an end user can set this if \"can_be_solved_by_me\", above, is true for that user)",
"created_at" : "When this record was created",
"priority" : "The priority of the request",
"type" : "The type of the request",
"collaborator_ids" : [ "integer" ],
"url" : "The API url of this request",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"ticket_form_id" : "The numeric id of the ticket form associated with this request if the form is visible to end users - only applicable for enterprise accounts",
"updated_at" : "When this record last got updated",
"followup_source_id" : "The id of the original ticket if this request is a follow-up ticket",
"group_id" : "The id of the assigned group if the field is visible to end users",
"can_be_solved_by_me" : "If true, end user can mark request as solved.",
"organization_id" : "The organization of the requester",
"is_public" : "Is true if any comments are public, false otherwise",
"recipient" : "The original recipient e-mail address of the request",
"due_at" : "When the task is due (only applies if the request is of type \"task\")",
"id" : "Automatically assigned when creating requests",
"status" : "The state of the request",
"requester_id" : "The id of the requester",
"assignee_id" : "The id of the assignee if the field is visible to end users"
}
}
Create resource collection
Type: object
{
"resource_collection" : {
"updated_at" : "The time the identity got updated",
"created_at" : "The time the identity got created",
"id" : "Automatically assigned upon creation"
}
}
Create a schedule
Type: object
{
"schedule" : {
"intervals" : [ {
"start_time" : "Integer representation of the interval start time",
"end_time" : "Integer representation of the interval end time"
} ],
"updated_at" : "Time the schedule was last updated",
"name" : "Name of the schedule",
"created_at" : "Time the schedule was created",
"id" : "Automatically assigned upon creation",
"time_zone" : "Time zone of the schedule"
}
}
Create sharing agreement
Type: object
{
"sharing_agreement" : {
"partner_name" : "Can be either 'jira' or null",
"remote_subdomain" : "Subdomain of the remote account or null if not associated with an account",
"name" : "Name of this sharing agreement",
"created_at" : "The time the record was created",
"id" : "Automatically assigned upon creation",
"type" : "string. Possible values: inbound | outbound",
"status" : "string. Possible values: accepted | declined | pending | inactive"
}
}
Create target
Type: object
{
"target" : {
"resource" : "string. Possible values: todo | message",
"target_url" : "The URL of your Basecamp account, including protocol and path",
"active" : "Whether or not the target is activated",
"created_at" : "The time the target was created",
"message_id" : "Can be filled if it is a \"todo\" resource",
"title" : "A name for the target",
"type" : "string",
"token" : "Get the API token from My info > Show your tokens > Token for feed readers or the Basecamp API in your Basecamp account",
"todo_list_id" : "Can be filled if it is a \"message\" resource",
"password" : "The 37Signals password for the Basecamp account (only writable)",
"project_id" : "The ID of the project in Basecamp where updates should be pushed",
"id" : "Automatically assigned when created",
"username" : "The 37Signals username of the account you use to log in to Basecamp"
}
}
Type: object
{
"ticket" : {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
}
}
Create ticket field
Type: object
{
"ticket_field" : {
"raw_title" : "The dynamic content placeholder, if present, or the \"title\" value, if not.",
"custom_field_options" : [ {
"raw_name" : "string",
"name" : "string",
"id" : "integer",
"position" : "integer",
"value" : "string",
"url" : "string"
} ],
"visible_in_portal" : "Whether this field is available to end users",
"description" : "The description of the purpose of this ticket field, shown to users",
"created_at" : "The time the ticket field was created",
"type" : "The type of the ticket field. Type is not editable once created.",
"title" : "The title of the ticket field",
"required" : "If it's required for this field to have a value when updated by agents",
"editable_in_portal" : "Whether this field is editable by end users",
"updated_at" : "The time of the last update of the ticket field",
"system_field_options" : [ {
"raw_name" : "string",
"name" : "string",
"id" : "integer",
"position" : "integer",
"value" : "string",
"url" : "string"
} ],
"regexp_for_validation" : "Regular expression field only. The validation pattern for a field value to be deemed valid.",
"id" : "Automatically assigned upon creation",
"tag" : "A tag value to set for checkbox fields when checked",
"collapsed_for_agents" : "If this field should be shown to agents by default or be hidden alongside infrequently used fields. Classic interface only",
"active" : "Whether this field is available",
"raw_title_in_portal" : "The dynamic content placeholder, if present, or the \"title_in_portal\" value, if not. See Dynamic Content",
"agent_description" : "A description of the ticket field that only agents can see",
"raw_description" : "The dynamic content placeholder, if present, or the \"description\" value, if not. See Dynamic Content",
"url" : "The URL for this resource",
"required_in_portal" : "If it's required for this field to have a value when updated by end users",
"removable" : "If this field is not a system basic field that must be present for all tickets on the account",
"sub_type_id" : "\"priority\" and \"status\" fields only, inaccessible to all other field types. 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.",
"position" : "A relative position for the ticket fields that determines the order of ticket fields on a ticket. Note that positions 0 to 7 are reserved for system fields",
"title_in_portal" : "The title of the ticket field is mandatory when it's visible to end users"
}
}
Create ticket form
Type: object
{
"ticket_form" : {
"raw_name" : "The dynamic content placeholder, if present, or the \"name\" value, if not. See Dynamic Content",
"in_all_brands" : "Is the form available for use in all brands on this account",
"ticket_field_ids" : [ "string" ],
"active" : "If the form is set as active",
"agent_conditions" : [ { } ],
"raw_display_name" : "The dynamic content placeholder, if present, or the \"display_name\" value, if not. See Dynamic Content",
"display_name" : "The name of the form that is displayed to an end user",
"default" : "Is the form the default form for this account",
"end_user_conditions" : [ { } ],
"end_user_visible" : "Is the form visible to the end user",
"name" : "The name of the form",
"position" : "The position of this form among other forms in the account, i.e. dropdown",
"restricted_brand_ids" : [ "number" ]
}
}
Create ticket from tweet
Type: object
{
"ticket" : {
"monitored_twitter_handle_id" : "number",
"twitter_status_message_id" : "string"
}
}
Create ticket_skip
Type: object
{
"ticket_skip" : {
"reason" : "Reason for skipping the ticket",
"ticket" : {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
},
"updated_at" : "Time the skip was last updated",
"user_id" : "ID of the skipping agent",
"created_at" : "Time the skip was created",
"id" : "Automatically assigned upon creation",
"ticket_id" : "ID of the skipped ticket"
}
}
Create trigger
Type: object
{
"trigger" : {
"updated_at" : "The time of the last update of the trigger",
"active" : "Whether the trigger is active",
"description" : "The description of the trigger",
"created_at" : "The time the trigger was created",
"id" : "Automatically assigned when created",
"position" : "Position of the trigger, determines the order they will execute in",
"title" : "The title of the trigger",
"conditions" : {
"all" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ],
"any" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ]
},
"actions" : [ {
"field" : "The name of a field",
"value" : "The value of the field"
} ]
}
}
Create user
Type: object
{
"user" : {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
}
}
Create user field
Type: object
{
"user_field" : {
"raw_title" : "The dynamic content placeholder, if present, or the \"title\" value, if not. See Dynamic Content",
"custom_field_options" : [ {
"raw_name" : "string",
"name" : "string",
"id" : "number",
"position" : "integer",
"value" : "string",
"url" : "string"
} ],
"description" : "User-defined description of this field's purpose",
"active" : "If true, this field is available for use",
"created_at" : "The time the ticket field was created",
"type" : "Type of the custom field",
"title" : "The title of the custom field",
"raw_description" : "The dynamic content placeholder, if present, or the \"description\" value, if not. See Dynamic Content",
"url" : "The URL for this resource",
"system" : "If true, only active and position values of this field can be changed",
"updated_at" : "The time of the last update of the ticket field",
"regexp_for_validation" : "Regular expression field only. The validation pattern for a field value to be deemed valid.",
"id" : "Automatically assigned upon creation",
"position" : "Ordering of the field relative to other fields",
"tag" : "Optional for custom field of type \"checkbox\"; not presented otherwise.",
"key" : "A unique key that identifies this custom field. This is used for updating the field and referencing in placeholders."
}
}
Create workspace
Type: object
{
"workspace" : {
"description" : "User-defined description of this workspace's purpose",
"created_at" : "The time the workspace was created",
"macro_ids" : [ "number" ],
"prefer_workspace_app_order" : "boolean",
"title" : "The title of the workspace",
"url" : "The URL for this resource",
"ticket_form_id" : "number",
"updated_at" : "The time of the last update of the workspace",
"selected_macros" : [ { } ],
"id" : "Automatically assigned upon creation",
"position" : "Ordering of the workspace relative to other workspaces",
"conditions" : { },
"activated" : "If true, this workspace is available for use",
"apps" : [ { } ]
}
}
Delete an automation
Delete an bookmark
Delete a brand
This operation has no parameters
Permanently delete user.
Delete a dynamic content item
Delete a dynamic content variant
DynamicContentItem ID
Type: number
Variant ID
Type: number
Delete a group
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.
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.
Group Membership ID
Type: number
User ID
Type: number
Delete a holiday
Holiday ID
Type: number
Schedule ID
Type: number
Delete identity from user
Delete a macro
Permanently deletes up to 100 soft-deleted tickets. See Soft delete in the Zendesk GDPR docs. To soft delete tickets, use the Bulk Delete Tickets endpoint.
This endpoint accepts a comma-separated list of up to 100 ticket ids. It enqueues a ticket deletion job and returns a payload with the jobs status.
If one ticket fails to be deleted, the endpoint still attempts to delete the others. If the job succeeds, the tickets that were successfully deleted are permanently deleted. This operation can't be undone.
Delete client
Delete token
Delete organization
Delete an organization field
Delete organization membership
Delete organization membership for user
Delete organization subscription
Delete recipient address
Delete resource collection
Delete a schedule
Delete sharing agreement
Delete suspended ticket
Delete target
Delete ticket field
Delete ticket field option
Delete ticket form.
Permanently deletes a soft-deleted ticket.
Delete trigger
Delete user
Delete user field
Delete user field option
Delete workspace
Deletes the automations corresponding to the provided comma-separated list of IDs.
Bulk destroy group memberships.
Bulk destroy macros.
Bulk destroy organization memberships.
Bulk destroy organizations.
External IDs to delete
Type: array
[ "number" ]
Organization IDs to delete
Type: array
[ "number" ]
Bulk destroy suspended tickets.
Bulk destroy tickets.
Bulk destroy triggers.
Bulk destroy users.
Bulk destroy workspaces.
Generate new client secret.
This operation has no parameters
Get attachment
Shows the properties of the specified macro attachment.
Get audit_log
This operation has no parameters
Get an automation
Get a brand
Returns a comment.
This operation has no parameters
These are users that have been deleted but not permanently yet.
Get a dynamic content item
Get a dynamic content variant
DynamicContentItem ID
Type: number
Variant ID
Type: number
Get end user
Get a group
Get a membership.
Get a membership.
Group Membership ID
Type: number
User ID
Type: number
Get a holiday
Holiday ID
Type: number
Schedule ID
Type: number
Get brand
Shows the status of a background job. A job may no longer exist to query. Zendesk only logs the last 100 jobs. Jobs also expire within an hour.
Get a macro
Returns an unpersisted macro representation derived from a ticket or macro.
ID of the macro to replicate
Type: integer
ID of the ticket from which to build a macro replica
Type: integer
Bulk show dynamic content items
Accepts a comma-separated list of job status ids.
Bulk show organizations
Bulk show ticket forms
Bulk show users
Get metrics for ticket
Get monitored Twitter handle
Get client
Get token
Get organization
Get an organization field
Get organization membership
Get organization membership for user
Get organization subscription
Get recipient address
Show Organization's related information.
Get request
Get resource collection
Get a schedule
Get sharing agreement
Get suspended ticket
Get target
Lists a specific activity.
Get ticket audit
Ticket Audit ID
Type: number
Ticket ID
Type: number
Get ticket field
Get ticket field option
Get ticket form.
Get ticket metric
Get trigger
Fetch a revision associated with a trigger.
Get user
Get user field
Get user field option
Get user related information
Get workspace
Import up to 100 legacy tickets.
Type: object
{
"tickets" : [ {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
} ]
}
Import a ticket from a legacy system
Type: object
{
"ticket" : {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
}
}
Returns the definitions of the actions a macro can perform. For example, one action can set the status of a ticket. The definition of the action includes a title ("Status"), a type ("list"), and possible values.
List supported actions for macros
Only macros with given access.
Type: string
Potential values: personal, shared, account
Only macros within given category
Type: string
Only macros belonging to given group
Type: integer
Defaults to alphabetical
Type: string
Potential values: alphabetical, created_at, updated_at, usage_1h, usage_24h, usage_7d
Type: string
Potential values: desc, asc
Lists all active shared and personal macros available to the current user.
Returns a list of all active triggers.
Defaults to position
Type: string
Potential values: alphabetical, created_at, updated_at, usage_1h, usage_24h, usage_7d
Type: string
Potential values: desc, asc
Group ID
Type: number
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
Returns a list of all assignable groups.
This operation has no parameters
Lists the attachments associated with a macro.
Returns a list of all audit logs for your account sorted by name.
Type: string
Type: string
Type: string
Type: string
Type: string
Potential values: desc, asc
Lists the audits for a specified ticket.
Ticket ID
Type: number
Type: string
Potential values: desc, asc
Lists all automations for the current account
Lists all bookmarks
Returns a list of all brands for your account sorted by name.
Lists all macro categories available to the current user.
Returns a list of ccd requests.
Type: string
Potential values: updated_at, created_at
Type: string
Potential values: desc, asc
Returns the changes the macro would make to a ticket. It doesn't actually change a ticket. You can use the response data in a subsequent API call to the Tickets endpoint to update the ticket. The response includes only the ticket fields that would be changed by the macro.
Returns a list of comments for a request.
Request ID
Type: number
Type: string
Potential values: agent, user
Type: string
Type: string
Potential values: updated_at, created_at
Type: string
Potential values: desc, asc
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
This operation has no parameters
List deleted tickets. The results includes all deleted (and not yet archived) tickets that have not yet been scrubbed in the past 30 days. Archived tickets are not included in the results. See About archived tickets in the Support Help Center.
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
Lists deleted users, including permanently deleted users. For permanently deleted users, all properties containing personal data, such as email and phone, are null. The name property is "Permanently Deleted User".
Returns a list of all dynamic content items for your account.
Returns all the variants of the specified dynamic content item.
Returns all the global clients that users on your account have authorized.
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
Group ID
Type: number
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
User ID
Type: number
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
Returns a list of all groups.
Returns a list of all groups a user is in.
List holidays for a schedule
Schedule ID
Type: number
Type: string
Potential values: desc, asc
Returns all user identities for a given user id.
This operation has no parameters
Lists all shared and personal macros available to the current user.
Returns a list of memberships for a user.
Returns a list of memberships in an organization.
Organization ID
Type: number
Type: string
Potential values: desc, asc
Returns a list of all monitored Twitter handles for your account.
Returns a list of all Oauth clients for this account.
Returns a list of all Oauth clients.
Returns a list of all tokens.
Returns a list of open requests.
Type: string
Potential values: updated_at, created_at
Type: string
Potential values: desc, asc
Returns a list of all custom organization fields.
Returns a list of all organization memberships.
Returns a list of all organization subscriptions.
Returns a list of all organization subscriptions for a user.
Returns a list of all organizations for your account sorted by name.
Returns a list of all organizations for a user.
Returns a maximum of 100 tickets per page.
Lists tickets that the requesting agent recently viewed in the agent interface, not recently created or updated tickets (unless by the agent recently in the agent interface).
Type: string
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
Returns a list of all recipient addresses for your account.
You can also include the brand for each Support address in the JSON objects returned by GET requests by sideloading it.
Type: string
Type: string
Potential values: desc, asc
Returns a list of all requests.
Type: string
Potential values: updated_at, created_at
Type: string
Potential values: desc, asc
Returns a list of requests for an organization.
Organization ID
Type: number
Type: string
Potential values: updated_at, created_at
Type: string
Potential values: desc, asc
Returns a list of requests for a user.
User ID
Type: number
Type: string
Potential values: updated_at, created_at
Type: string
Potential values: desc, asc
Returns a list of all resource collections.
List all schedules
Returns a list of all sharing agreements.
Returns a list of skips for a ticket.
Ticket ID
Type: number
Type: string
Potential values: desc, asc
Returns a list of skips for a user.
Returns a list of solved requests.
Type: string
Potential values: updated_at, created_at
Type: string
Potential values: desc, asc
Returns a list of subscriptions in an organization.
Organization ID
Type: number
Type: string
Potential values: desc, asc
Returns a list of all suspended tickets.
Defaults to position.
Type: string
Potential values: author_email, cause, created_at, subject
Type: string
Potential values: desc, asc
This operation has no parameters
Returns a list of all targets.
This operation has no parameters
Returns a list of all ticket audits. Archived tickets are not included in the response. The records are ordered sequentially by the created_at timestamp, then by id on duplicate values.
Returns a list of all ticket comments.
Ticket ID
Type: number
Type: string
Potential values: users
Type: boolean
Type: string
Potential values: desc, asc
List Ticket Field Options
Ticket Field ID
Type: number
Type: string
Potential values: desc, asc
Returns a list of all ticket fields.
Returns a list of all ticket forms for your account if accessed as an admin or agent. End users will only see the list of ticket forms that are marked 'end_user_visible'.
Returns a list of all tickets with their metrics.
This operation has no parameters
Returns a list of all ticket skips.
Returns a maximum of 100 tickets per page.
Tickets are ordered chronologically by created date, from oldest to newest. The first ticket listed may not be the absolute oldest ticket in your account due to ticket archiving. To get a list of all tickets in your account, use the Incremental Ticket Export endpoint.
For more filter options, use the Search API.
You can also sideload related records with the tickets.
Archived tickets are not included in the response.
Type: string
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
List tickets assigned to user. Returns a maximum of 100 tickets per page. Tickets are ordered chronologically by created date, from oldest to newest. The first ticket listed may not be the absolute oldest ticket in your account due to ticket archiving. To get a list of all tickets in your account, use the Incremental Ticket Export endpoint.
For more filter options, use the Search API.
You can also sideload related records with the tickets.
Archived tickets are not included in the response.
User ID
Type: number
Type: string
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
List tickets cc'ed by user. Returns a maximum of 100 tickets per page. Tickets are ordered chronologically by created date, from oldest to newest. The first ticket listed may not be the absolute oldest ticket in your account due to ticket archiving. To get a list of all tickets in your account, use the Incremental Ticket Export endpoint.
For more filter options, use the Search API.
You can also sideload related records with the tickets.
Archived tickets are not included in the response.
User ID
Type: number
Type: string
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
List tickets in an organization.
Organization ID
Type: number
Type: string
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
List tickets requested by user. Returns a maximum of 100 tickets per page. Tickets are ordered chronologically by created date, from oldest to newest. The first ticket listed may not be the absolute oldest ticket in your account due to ticket archiving. To get a list of all tickets in your account, use the Incremental Ticket Export endpoint.
For more filter options, use the Search API.
You can also sideload related records with the tickets.
Archived tickets are not included in the response.
User ID
Type: number
Type: string
Type: string
Potential values: id, subject, deleted_at
Type: string
Potential values: desc, asc
List the revisions associated with a trigger.
Returns a list of all triggers.
List User Field Options
User Field ID
Type: number
Type: string
Potential values: desc, asc
Returns a list of all user fields.
Returns a list of all users.
Returns a list of all users in a group.
Group ID
Type: number
Type: string
Potential values: desc, asc
Returns a list of all users in an organization.
Organization ID
Type: number
Type: string
Potential values: desc, asc
Returns a list of all workspaces.
Make comment
Bulk mark tickets as spam and suspend requesters. Accepts a comma-separated list of up to 100 ticket ids.
Mark ticket as spam and suspend requester
The current user will be merged into the existing user provided in the params. Users can only merge themselves into another user.
Type: object
{
"user" : {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
}
}
Merges one or more tickets into the target ticket.
Ticket ID
Type: number
Type: object
{
"target_comment" : "string",
"ids" : [ "number" ],
"source_comment" : "string"
}
The end user whose id is provided in the URL will be merged into the existing end user provided in the params. You can merge any two arbitrary end users with the exception of end users created by sharing agreements. Agents and admins cannot be merged.
User ID
Type: number
Type: object
{
"user" : {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
}
}
Pushes Channel framework content to Zendesk Support.
Type: object
{
"external_resources" : [ {
"thread_id" : "Arbitrary identifier of the thread to which this item should belong. Responses may include parent_id or thread_id, but not both.",
"parent_id" : "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",
"author" : {
"field" : [ {
"id" : "string",
"value" : "string"
} ],
"image_url" : "URL to an image for the user",
"name" : "If not supplied, defaults to external id",
"external_id" : "Unique identifier of the user in the origin service",
"locale" : "The user's locale. Must be one of the supported locales in Zendesk Support"
},
"allow_channelback" : "If false, prevents the agent from making additional comments on the message in the Zendesk Support interface",
"html_message" : "HTML version of message",
"created_at" : "When the resource was created in the origin system; specify as an ISO 8601 extended format date-time.",
"display_info" : [ {
"data" : "JSON data containing display hints",
"type" : "Globally unique type identifier defined by the integration origin service."
} ],
"external_id" : "Unique identifier of the external resource",
"message" : "Text to be converted to a ticket or comment",
"fields" : [ {
"id" : "string",
"value" : "string"
} ],
"file_urls" : [ "string" ]
} ],
"instance_push_id" : "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" : "A unique identifier for the push request"
}
Accepts up to 100 ticket ids. Note that suspended tickets that fail to be recovered are still included in the response.
Recover suspended ticket. During recovery, the API sets the requester to the authenticated agent who called the API, not the original requester. This prevents the ticket from being re-suspended after recovery. To preserve the original requester, use the Recover Multiple Suspended Tickets endpoint with the single ticket.
Permanently removes words or strings from a ticket comment. Specify the string to redact in an object with a text property. The characters of the word or string are replaced by the ▇ symbol.
Comment ID
Type: number
Ticket ID
Type: number
Type: object
{
"text" : "string"
}
Remove tag from organization
Organization ID
Type: number
Type: object
{
"tags" : [ "string" ]
}
Remove tag from ticket
Remove tag from user
Reorder organization fields
Reorder ticket forms
Reorder triggers
Reorder user fields
Reorder workspaces
Sends the owner a reminder email to update their subscription so more agents can be created.
Type: object
{
"user" : {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
}
}
Restore a previously deleted ticket.
Restore previously deleted tickets in bulk.
The search API is a unified search API that returns tickets, users, and organizations.
The search query
Type: string
Defaults to sorting by relevance.
Type: string
Potential values: updated_at, created_at, priority, status, ticket_type
Type: string
Potential values: desc, asc
Search automations
Only active automations if true, inactive automations if false
Type: boolean
Query string used to find all automations with matching title
Type: string
Type: string
Type: string
Potential values: desc, asc
Search macros.
List macros with the given access. Possible values are personal, shared, or account
Type: string
List active macros if true; inactive macros if false
Type: boolean
List macros in the given category
Type: string
List macros belonging to given group
Type: integer
List macros that can be applied to tickets if true; list all macros the current user can manage if false. Default is false
Type: boolean
Query string used to find macros with matching titles
Type: string
If unspecified, the macros are sorted by relevance
Type: string
Potential values: alphabetical, created_at, updated_at, position
Type: string
Potential values: desc, asc
If you set the external_id value of an organization to associate it to an external record, you can use the external id to search for the organization.
Returns an array of requests who meet the search criteria.
Type: boolean
Type: number
Type: string
Type: string
Potential values: desc, asc
Type: array
[ "string" ]
Returns an array of triggers who meet the search criteria. The query parameter can specify a partial or full value of any trigger property, including name, email address, notes, or phone.
Type: string
Type: string
Potential values: alphabetical, created_at, updated_at, position
Type: string
Potential values: desc, asc
Returns an array of users who meet the search criteria. The query parameter can specify a partial or full value of any user property, including name, email address, notes, or phone.
Type: string
Type: string
Type: string
Potential values: desc, asc
Set group membership as default.
Group Membership ID
Type: number
User ID
Type: number
Set membership as default
OrganizationMembership ID
Type: number
User ID
Type: number
Adds the specified tags if no tag exists, or replaces all existing tags with the specified tags.
Organization ID
Type: number
Type: object
{
"tags" : [ "string" ]
}
Adds the specified tags if no tag exists, or replaces all existing tags with the specified tags.
Adds the specified tags if no tag exists, or replaces all existing tags with the specified tags.
Change a comment from public to private
Ticket Audit ID
Type: number
Ticket ID
Type: number
Returns the GDPR status for each user per area of compliance. A Zendesk area of compliance is typically a product like "support/explore" but can be more fine-grained for areas within the product lines.
Show tags for organization
Show tags for ticket
Show tags for user
Returns the full ticket object as it would be after applying the macro to the ticket. It doesn't actually change the ticket.
Type: object
{
"settings" : {
"settings" : {
"voice" : {
"agent_wrap_up_after_calls" : "boolean",
"outbound_enabled" : "boolean",
"only_during_business_hours" : "boolean",
"maximum_queue_wait_time" : "number",
"logging" : "boolean",
"maximum_queue_size" : "number",
"recordings_public" : "boolean",
"uk_mobile_forwarding" : "boolean",
"maintenance" : "boolean",
"agent_confirmation_when_forwarding" : "boolean",
"enabled" : "Voice is enabled"
},
"localization" : {
"locale_ids" : [ "string" ]
},
"tickets" : {
"tagging" : "Tickets may be tagged",
"agent_ticket_deletion" : "Whether agents can delete tickets",
"private_attachments" : "Users must login to access attachments",
"emoji_autocompletion" : "Whether agent comments should allow for Emoji rendering",
"email_attachments" : "Attachments should be sent as real attachments when under the size limit",
"list_newest_comments_first" : "When viewing a ticket, show the newest comments and events first",
"comments_public_by_default" : "Comments from agents are public by default",
"markdown_ticket_comments" : "Whether agent comments should be processed with Markdown",
"agent_collision" : "Clients should provide an indicator when a ticket is being viewed by another agent",
"maximum_personal_views_to_list" : "Maximum number of personal Views clients should display in menus",
"collaboration" : "CCs may be added to a ticket",
"is_first_comment_private_enabled" : "Allow first comment on tickets to be private",
"list_empty_views" : "Clients should display Views with no matching Tickets in menus"
},
"brands" : {
"default_brand_id" : "The id of the brand that is assigned to tickets by default",
"require_brand_on_new_tickets" : "Require agents to select a brand before saving tickets"
},
"branding" : {
"tab_background_color" : "HEX of tab background color",
"favicon_url" : "The URL for the custom favicon",
"header_color" : "HEX of the header color",
"page_background_color" : "HEX of the page background color",
"text_color" : "HEX of the text color, usually matched to contrast well with header_color",
"header_logo_url" : "The URL for the custom header logo"
},
"rule" : {
"macro_order" : "Default macro display order. Possible values are 'alphabetical' or 'position'",
"skill_based_filtered_views" : { },
"macro_most_used" : "Display the most-used macros in the Apply macro list. Defaults to true"
},
"lotus" : {
"prefer_lotus" : "Prefers the current version of Zendesk Support rather than Zendesk Classic"
},
"gooddata_advanced_analytics" : {
"enabled" : "GoodData Advanced Analytics is enabled"
},
"active_features" : {
"voice" : "Voice support",
"business_hours" : "boolean",
"bcc_archiving" : "Account has a bcc_archive_address set",
"ticket_tagging" : "Allow tagging tickets",
"csat_reason_code" : "boolean",
"twitter" : "Account monitors at least one Twitter handle",
"satisfaction_prediction" : "boolean",
"customer_satisfaction" : "boolean",
"dynamic_contents" : "Account has at least one dynamic content",
"advanced_analytics" : "boolean",
"explore_on_support_pro_plan" : "Allowed to show explore role controls",
"markdown" : "Markdown in ticket comments",
"agent_forwarding" : "boolean",
"good_data_and_explore" : "Has account plan setting 'good_data_and_explore'",
"rich_content_in_email" : "Account supports incoming HTML email",
"topic_suggestion" : "Allow topic suggestions in tickets",
"chat_about_my_ticket" : "boolean",
"on_hold_status" : "Account can use status hold",
"explore" : "Has account plan setting 'explore'",
"user_tagging" : "Enable user tags",
"insights" : "boolean",
"light_agents" : "Account has at least one light agent",
"facebook" : "Account is actively linked to at least one Facebook page",
"sandbox" : "Account has a sandbox",
"suspended_ticket_notification" : "boolean",
"facebook_login" : "boolean",
"allow_ccs" : "Allow CCs on tickets",
"is_abusive" : "Account exceeded trial limits",
"feedback_tabs" : "Feedback tab has been configured before",
"twitter_login" : "boolean",
"chat" : "boolean",
"google_login" : "boolean",
"forum_analytics" : "Forum and search analytics"
},
"billing" : {
"backend" : "Backend Billing system either 'internal' or 'zuora'"
},
"ticket_form" : {
"ticket_forms_instructions" : "string"
},
"twitter" : {
"shorten_url" : "string. Possible values: always | optional | never"
},
"chat" : {
"maximum_requests" : "The maximum number of chat requests an agent may handle at one time",
"welcome_message" : "The message automatically sent to end-users when they begin chatting with an agent",
"enabled" : "Chat is enabled"
},
"ticket_sharing_partners" : {
"support_addresses" : { }
},
"api" : {
"api_token_access" : "Allow the account to use the API with API tokens",
"accepted_api_agreement" : "Account has accepted the API agreement",
"api_password_access" : "Allow the account to use the API with username/password"
},
"metrics" : {
"account_size" : "An account size category computed from the number of billable agents"
},
"google_apps" : {
"has_google_apps_admin" : "Account has at least one G Suite admin",
"has_google_apps" : "boolean"
},
"user" : {
"tagging" : "Users may be tagged",
"end_user_phone_number_validation" : "Whether a user's phone number is validated",
"agent_created_welcome_emails" : "Whether a user created by an agent receives a welcome email",
"language_selection" : "Whether to display language drop down for a user",
"time_zone_selection" : "Whether user can view time zone for profile",
"have_gravatars_enabled" : "Whether user gravatars are displayed in the UI"
},
"limits" : {
"attachment_size" : "The maximum ticket attachment file size (in bytes)"
},
"apps" : {
"create_private" : "The account can create private apps",
"use" : "The account can use apps"
},
"statistics" : {
"forum" : "Allow users to view forum statistics",
"search" : "Allow users to view search statistics"
}
}
}
}
Update an automation
Automation ID
Type: number
Type: object
{
"automation" : {
"updated_at" : "The time of the last update of the automation",
"active" : "Whether the automation is active",
"created_at" : "The time the automation was created",
"id" : "Automatically assigned when created",
"position" : "Position of the automation, determines the order they will execute in",
"title" : "The title of the automation",
"conditions" : {
"all" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ],
"any" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ]
},
"actions" : {
"actions" : [ {
"field" : "The name of a field",
"value" : "The value of the field"
} ]
}
}
}
Update a brand
Brand ID
Type: number
Type: object
{
"brand" : {
"ticket_form_ids" : [ "integer" ],
"host_mapping" : "The hostmapping to this brand, if any (only admins view this key)",
"active" : "If the brand is set as active",
"created_at" : "The time the brand was created",
"help_center_state" : "The state of the Help Center",
"url" : "The API url of this brand",
"brand_url" : "The url of the brand",
"has_help_center" : "If the brand has a Help Center",
"default" : "Is the brand the default brand for this account",
"updated_at" : "The time of the last update of the brand",
"signature_template" : "The signature template for a brand",
"name" : "The name of the brand",
"logo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"subdomain" : "The subdomain of the brand",
"id" : "Automatically assigned when the brand is created"
}
}
Role ID
Type: number
Type: object
{
"custom_role" : {
"role_type" : "The value 0",
"updated_at" : "The time the record was last updated",
"configuration" : {
"voice_access" : "boolean",
"moderate_forums" : "boolean",
"user_view_access" : "string. Possible values: full | manage-group | manage-personal | none | readonly",
"ticket_merge" : "boolean",
"ticket_access" : "string. Possible values: all | assigned-only | within-groups | within-organization",
"light_agent" : "boolean",
"explore_access" : "string. Possible values: edit | full | none | readonly",
"macro_access" : "string. Possible values: full | manage-group | manage-personal | readonly",
"organization_notes_editing" : "boolean",
"view_deleted_tickets" : "boolean",
"end_user_list_access" : "string. Possible values: full | none",
"end_user_profile_access" : "string. Possible values: edit | edit-within-org | full | readonly",
"report_access" : "string. Possible values: full | none | readonly",
"manage_dynamic_content" : "boolean",
"forum_access" : "string. Possible values: edit-topics | full | readonly",
"ticket_comment_access" : "string. Possible values: public | none",
"twitter_search_access" : "boolean",
"forum_access_restricted_content" : "boolean",
"group_access" : "boolean",
"ticket_editing" : "boolean",
"manage_business_rules" : "boolean",
"ticket_deletion" : "boolean",
"view_access" : "string. Possible values: full | manage-group | manage-personal | playonly | readonly",
"ticket_tag_editing" : "boolean",
"manage_facebook" : "boolean",
"manage_extensions_and_channels" : "boolean",
"organization_editing" : "boolean",
"chat_access" : "boolean"
},
"name" : "Name of this custom role",
"description" : "A description of the role",
"created_at" : "The time the record was created",
"id" : "Automatically assigned upon creation"
}
}
Update a dynamic content item
DynamicContentItem ID
Type: number
Type: object
{
"item" : {
"outdated" : "Indicates the item has outdated variants within it",
"updated_at" : "When this record last got updated",
"default_locale_id" : "The default locale for the item. Must be one of the locales the account has active.",
"name" : "The unique name of the item",
"created_at" : "When this record was created",
"id" : "Automatically assigned when creating items",
"placeholder" : "Automatically generated placeholder for the item, derived from name",
"variants" : [ {
"locale_id" : "An active locale",
"default" : "If the variant is the default for the item it belongs to",
"outdated" : "If the variant is outdated",
"updated_at" : "When the variant was last updated",
"active" : "If the variant is active and useable",
"created_at" : "When the variant was created",
"id" : "Automatically assigned when the variant is created",
"url" : "The API url of the variant",
"content" : "The content of the variant"
} ],
"url" : "The API url of this item"
}
}
Update a dynamic content variant
DynamicContentItem ID
Type: number
Variant ID
Type: number
Type: object
{
"variant" : {
"locale_id" : "An active locale",
"default" : "If the variant is the default for the item it belongs to",
"outdated" : "If the variant is outdated",
"updated_at" : "When the variant was last updated",
"active" : "If the variant is active and useable",
"created_at" : "When the variant was created",
"id" : "Automatically assigned when the variant is created",
"url" : "The API url of the variant",
"content" : "The content of the variant"
}
}
Update end user
User ID
Type: number
Type: object
{
"user" : {
"role" : "The role of the user.",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number in the Users API",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"created_at" : "The time the user was created",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"locale" : "The locale for this user",
"time_zone" : "The time-zone of this user",
"url" : "The API url of this user",
"locale_id" : "The language identifier for this user",
"updated_at" : "The time of the last update of the user",
"phone" : "The primary phone number of this user. See Phone Number in the Users API",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The name of the user",
"id" : "Automatically assigned when creating users",
"email" : "The primary email address of this user"
}
}
Update a group
Group ID
Type: number
Type: object
{
"group" : {
"deleted" : "Deleted groups get marked as such",
"updated_at" : "The time of the last update of the group",
"name" : "The name of the group",
"created_at" : "The time the group was created",
"id" : "Automatically assigned when creating groups",
"url" : "The API url of this group"
}
}
Update a holiday
Holiday ID
Type: number
Schedule ID
Type: number
Type: object
{
"holiday" : {
"end_date" : "ISO 8601 representation of the holiday end date.",
"name" : "Name of the holiday.",
"id" : "Automatically assigned upon creation.",
"start_date" : "ISO 8601 representation of the holiday start date."
}
}
Update identity for user
Identity ID
Type: number
User ID
Type: number
Type: object
{
"user_identity" : {
"updated_at" : "The time the identity was updated",
"user_id" : "The id of the user",
"deliverable_state" : "string. Possible values: deliverable | undeliverable",
"verified" : "If the identity has been verified",
"undeliverable_count" : "The number of times a soft-bounce response was received at that address",
"created_at" : "The time the identity was created",
"id" : "Automatically assigned on creation",
"type" : "string. Possible values: email | twitter | facebook | google | phone_number | agent_fowarding | sdk",
"value" : "The identifier for this identity, such as an email address",
"url" : "The API url of this identity",
"primary" : "If the identity is the primary identity. *Writable only when creating, not when updating. Use the Make Identity Primary endpoint instead"
}
}
Update intervals for a schedule
Schedule ID
Type: number
Type: object
{
"workweek" : {
"intervals" : [ {
"start_time" : "Integer representation of the interval start time",
"end_time" : "Integer representation of the interval end time"
} ]
}
}
Update a macro
Macro ID
Type: number
Type: object
{
"macro" : {
"updated_at" : "The time of the last update of the macro",
"restriction" : { },
"active" : "Useful for determining if the macro should be displayed",
"description" : "The description of the macro",
"created_at" : "The time the macro was created",
"id" : "Automatically assigned when created",
"position" : "The position of the macro",
"title" : "The title of the macro",
"actions" : {
"actions" : [ {
"field" : "The name of a field",
"value" : "The value of the field"
} ]
}
}
}
Bulk edit automations. Use the ids
query parameter if you want to edit many automations with the same change.
Type: object
{
"automations" : [ {
"active" : "The active status of the automation",
"id" : "The ID of the automation to update",
"position" : "The new position of the automation"
} ]
}
Automation IDs to edit with the same change
Type: array
[ "number" ]
Bulk edit dynamic content variants.
DynamicContentItem ID
Type: number
Type: object
{
"variants" : [ {
"locale_id" : "An active locale",
"default" : "If the variant is the default for the item it belongs to",
"outdated" : "If the variant is outdated",
"updated_at" : "When the variant was last updated",
"active" : "If the variant is active and useable",
"created_at" : "When the variant was created",
"id" : "Automatically assigned when the variant is created",
"url" : "The API url of the variant",
"content" : "The content of the variant"
} ]
}
Updates the provided macros with the specified changes.
Type: object
{
"macros" : [ {
"updated_at" : "The time of the last update of the macro",
"restriction" : { },
"active" : "Useful for determining if the macro should be displayed",
"description" : "The description of the macro",
"created_at" : "The time the macro was created",
"id" : "Automatically assigned when created",
"position" : "The position of the macro",
"title" : "The title of the macro",
"actions" : {
"actions" : [ {
"field" : "The name of a field",
"value" : "The value of the field"
} ]
}
} ]
}
Bulk edit organizations. Use the ids
query parameter if you want to edit many organizations with the same change.
Type: object
{
"organization" : {
"shared_tickets" : "End users in this organization are able to see each other's tickets",
"notes" : "Any notes you have about the organization",
"created_at" : "The time the organization was created",
"external_id" : "A unique external id to associate organizations to an external record",
"url" : "The API url of this organization",
"domain_names" : [ "string" ],
"tags" : [ "string" ],
"organization_fields" : { },
"updated_at" : "The time of the last update of the organization",
"group_id" : "New tickets from users in this organization are automatically put in this group",
"name" : "A unique name for the organization",
"details" : "Any details obout the organization, such as the address",
"id" : "Automatically assigned when the organization is created",
"shared_comments" : "End users in this organization are able to see each other's comments on tickets"
},
"organizations" : [ {
"shared_tickets" : "End users in this organization are able to see each other's tickets",
"notes" : "Any notes you have about the organization",
"created_at" : "The time the organization was created",
"external_id" : "A unique external id to associate organizations to an external record",
"url" : "The API url of this organization",
"domain_names" : [ "string" ],
"tags" : [ "string" ],
"organization_fields" : { },
"updated_at" : "The time of the last update of the organization",
"group_id" : "New tickets from users in this organization are automatically put in this group",
"name" : "A unique name for the organization",
"details" : "Any details obout the organization, such as the address",
"id" : "Automatically assigned when the organization is created",
"shared_comments" : "End users in this organization are able to see each other's comments on tickets"
} ]
}
Organization IDs to edit with the same change
Type: array
[ "number" ]
Bulk edit tickets. Use the ids
query parameter if you want to edit many tickets with the same change.
Type: object
{
"tickets" : [ {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
} ],
"ticket" : {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
}
}
Ticket IDs to edit with the same change
Type: array
[ "number" ]
Bulk edit triggers.
Type: object
{
"triggers" : [ {
"updated_at" : "The time of the last update of the trigger",
"active" : "Whether the trigger is active",
"description" : "The description of the trigger",
"created_at" : "The time the trigger was created",
"id" : "Automatically assigned when created",
"position" : "Position of the trigger, determines the order they will execute in",
"title" : "The title of the trigger",
"conditions" : {
"all" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ],
"any" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ]
},
"actions" : [ {
"field" : "The name of a field",
"value" : "The value of the field"
} ]
} ]
}
Bulk edit users. Use the ids
query parameter if you want to edit many users with the same change.
Type: object
{
"user" : {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
},
"users" : [ {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
} ]
}
User IDs to edit with the same change
Type: array
[ "number" ]
Update client
OAuth Client ID
Type: number
Type: object
{
"client" : {
"identifier" : "The unique identifier for this client",
"logo_url" : "The API logo url of this record",
"description" : "A short description of your client that is displayed to users when they are considering approving access to your application.",
"created_at" : "The time the client was created",
"global" : "Whether this client is globally accessible. Learn more",
"secret" : "The client secret. Generated automatically on creation and returned in full only at that time.",
"url" : "The API url of this record",
"updated_at" : "The time of the last update of the client",
"user_id" : "The id of the admin who created the client",
"name" : "The name of this client",
"company" : "Choose a company name to display when users are asked to approve access to your application. The name will help users understand who they are granting access to.",
"id" : "Automatically assigned upon creation",
"redirect_uri" : [ "string" ]
}
}
Update organization
Organization ID
Type: number
Type: object
{
"organization" : {
"shared_tickets" : "End users in this organization are able to see each other's tickets",
"notes" : "Any notes you have about the organization",
"created_at" : "The time the organization was created",
"external_id" : "A unique external id to associate organizations to an external record",
"url" : "The API url of this organization",
"domain_names" : [ "string" ],
"tags" : [ "string" ],
"organization_fields" : { },
"updated_at" : "The time of the last update of the organization",
"group_id" : "New tickets from users in this organization are automatically put in this group",
"name" : "A unique name for the organization",
"details" : "Any details obout the organization, such as the address",
"id" : "Automatically assigned when the organization is created",
"shared_comments" : "End users in this organization are able to see each other's comments on tickets"
}
}
Update an organization field
OrganizationField ID
Type: number
Type: object
{
"organization_field" : {
"raw_title" : "The dynamic content placeholder, if present, or the \"title\" value, if not.",
"custom_field_options" : [ "string" ],
"description" : "User-defined description of this field's purpose",
"active" : "If true, this field is available for use",
"created_at" : "The time the ticket field was created",
"type" : "string. Possible values: checkbox | date | decimal | dropdown | integer | regexp | text | textarea | tagger",
"title" : "The title of the custom field",
"raw_description" : "The dynamic content placeholder, if present, or the \"description\" value, if not.",
"url" : "The URL for this resource",
"system" : "If true, only active and position values of this field can be changed",
"updated_at" : "The time of the last update of the ticket field",
"regexp_for_validation" : "Regular expression field only. The validation pattern for a field value to be deemed valid.",
"id" : "Automatically assigned upon creation",
"position" : "Ordering of the field relative to other fields",
"tag" : "Optional for custom field of type \"checkbox\"; not presented otherwise.",
"key" : "A unique key that identifies this custom field. This is used for updating the field and referencing in placeholders."
}
}
Update recipient address
SupportAddress ID
Type: number
Type: object
{
"recipient_address" : {
"cname_status" : "Whether all of the required CNAME records are set.",
"forwarding_status" : "Status of email forwarding.",
"created_at" : "When the address was created",
"spf_status" : "Whether the SPF record is set up correctly.",
"brand_id" : "The ID of the brand",
"default" : "Whether the address is the account's default support address",
"ses_status" : "Whether the SES domain verification is valid.",
"updated_at" : "When the address was updated",
"name" : "The name for the address",
"id" : "Automatically assigned when created",
"domain_verification_status" : "Whether the domain verification record is valid.",
"email" : "The email address (not updateable)",
"domain_verification_code" : "Verification string to be added as a TXT record to the domain. Possible types: string or null."
}
}
Update request
Request ID
Type: number
Type: object
{
"request" : {
"subject" : "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",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"email_cc_ids" : [ "integer" ],
"description" : "The first comment on the request",
"solved" : "Whether or not request is solved (an end user can set this if \"can_be_solved_by_me\", above, is true for that user)",
"created_at" : "When this record was created",
"priority" : "The priority of the request",
"type" : "The type of the request",
"collaborator_ids" : [ "integer" ],
"url" : "The API url of this request",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"ticket_form_id" : "The numeric id of the ticket form associated with this request if the form is visible to end users - only applicable for enterprise accounts",
"updated_at" : "When this record last got updated",
"followup_source_id" : "The id of the original ticket if this request is a follow-up ticket",
"group_id" : "The id of the assigned group if the field is visible to end users",
"can_be_solved_by_me" : "If true, end user can mark request as solved.",
"organization_id" : "The organization of the requester",
"is_public" : "Is true if any comments are public, false otherwise",
"recipient" : "The original recipient e-mail address of the request",
"due_at" : "When the task is due (only applies if the request is of type \"task\")",
"id" : "Automatically assigned when creating requests",
"status" : "The state of the request",
"requester_id" : "The id of the requester",
"assignee_id" : "The id of the assignee if the field is visible to end users"
}
}
Updates a resource collection with a provided payload.
Update a schedule
Schedule ID
Type: number
Type: object
{
"schedule" : {
"intervals" : [ {
"start_time" : "Integer representation of the interval start time",
"end_time" : "Integer representation of the interval end time"
} ],
"updated_at" : "Time the schedule was last updated",
"name" : "Name of the schedule",
"created_at" : "Time the schedule was created",
"id" : "Automatically assigned upon creation",
"time_zone" : "Time zone of the schedule"
}
}
Update sharing agreement
Sharing Agreement ID
Type: number
Type: object
{
"sharing_agreement" : {
"partner_name" : "Can be either 'jira' or null",
"remote_subdomain" : "Subdomain of the remote account or null if not associated with an account",
"name" : "Name of this sharing agreement",
"created_at" : "The time the record was created",
"id" : "Automatically assigned upon creation",
"type" : "string. Possible values: inbound | outbound",
"status" : "string. Possible values: accepted | declined | pending | inactive"
}
}
Update target
Target ID
Type: number
Type: object
{
"target" : {
"resource" : "string. Possible values: todo | message",
"target_url" : "The URL of your Basecamp account, including protocol and path",
"active" : "Whether or not the target is activated",
"created_at" : "The time the target was created",
"message_id" : "Can be filled if it is a \"todo\" resource",
"title" : "A name for the target",
"type" : "string",
"token" : "Get the API token from My info > Show your tokens > Token for feed readers or the Basecamp API in your Basecamp account",
"todo_list_id" : "Can be filled if it is a \"message\" resource",
"password" : "The 37Signals password for the Basecamp account (only writable)",
"project_id" : "The ID of the project in Basecamp where updates should be pushed",
"id" : "Automatically assigned when created",
"username" : "The 37Signals username of the account you use to log in to Basecamp"
}
}
Ticket ID
Type: number
Type: object
{
"ticket" : {
"subject" : "The value of the subject field for this ticket",
"email_cc_ids" : [ "number" ],
"additional_tags" : [ "string" ],
"description" : "The first comment on the ticket",
"created_at" : "When this record was created",
"external_id" : "An id you can use to link Zendesk Support tickets to local records",
"macro_ids" : [ "number" ],
"type" : "The type of this ticket.",
"updated_stamp" : "If the updated_stamp property does not match the updated_at datetime value for the ticket the update operation will fail and an UpdateConflict error response will be sent.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
},
"allow_attachments" : "When an agent responds, are they allowed to add attachments? Defaults to true",
"updated_at" : "When this record last got updated",
"problem_id" : "For tickets of type \"incident\", the ID of the problem the incident is linked to",
"follower_ids" : [ "number" ],
"collaborators" : [ "number" ],
"due_at" : "If this is a ticket of type \"task\" it has a due date. Due date format uses ISO 8601 format.",
"id" : "Automatically assigned when the ticket is created",
"assignee_id" : "The agent currently assigned to the ticket",
"raw_subject" : "The dynamic content placeholder, if present, or the \"subject\" value, if not. See Dynamic Content",
"safe_update" : "When the safe_update property has a value of true, the updated_stamp property is required, and only if the updated_at datetime value on the ticket matches the updated_stamp value will the ticket be updated.",
"forum_topic_id" : "The topic this ticket originated from, if any",
"custom_fields" : [ {
"id" : "number",
"value" : "string"
} ],
"allow_channelback" : "Is false if channelback is disabled, true otherwise. Only applicable for channels framework ticket",
"satisfaction_rating" : { },
"submitter_id" : "The user who submitted the ticket. The submitter always becomes the author of the first comment on the ticket",
"priority" : "The urgency with which the ticket should be addressed.",
"collaborator_ids" : [ "number" ],
"url" : "The API url of this ticket",
"tags" : [ "string" ],
"brand_id" : "Enterprise only. The id of the brand this ticket is associated with",
"ticket_form_id" : "Enterprise only. The id of the ticket form to render for the ticket",
"remove_tags" : [ "string" ],
"sharing_agreement_ids" : [ "number" ],
"group_id" : "The group this ticket is assigned to",
"organization_id" : "The organization of the requester. You can only specify the ID of an organization associated with the requester. See Organization Memberships",
"followup_ids" : [ "number" ],
"recipient" : "The original recipient e-mail address of the ticket",
"via_followup_source_id" : "POST requests only. The id of a closed ticket when creating a follow-up ticket. See Creating Follow-up Tickets",
"is_public" : "Is true if any comments are public, false otherwise",
"comment" : {
"metadata" : { },
"attachments" : [ {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
} ],
"public" : "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",
"html_body" : "The comment formatted as HTML",
"plain_body" : "The comment as plain text",
"created_at" : "The time the comment was created",
"id" : "Automatically assigned when the comment is created",
"type" : "string. Possible values: Comment | VoiceComment",
"body" : "The comment string",
"author_id" : "The id of the comment author.",
"via" : {
"channel" : "This tells you how the ticket or event was created.",
"source" : {
"rel" : "string",
"from" : { },
"to" : { }
}
}
},
"has_incidents" : "Is true of this ticket has been marked as a problem, false otherwise",
"status" : "The state of the ticket.",
"requester_id" : "The user who requested this ticket"
},
"audit" : {
"events" : [ { } ]
}
}
Update ticket field
Ticket Field ID
Type: number
Type: object
{
"ticket_field" : {
"raw_title" : "The dynamic content placeholder, if present, or the \"title\" value, if not.",
"custom_field_options" : [ {
"raw_name" : "string",
"name" : "string",
"id" : "integer",
"position" : "integer",
"value" : "string",
"url" : "string"
} ],
"visible_in_portal" : "Whether this field is available to end users",
"description" : "The description of the purpose of this ticket field, shown to users",
"created_at" : "The time the ticket field was created",
"type" : "The type of the ticket field. Type is not editable once created.",
"title" : "The title of the ticket field",
"required" : "If it's required for this field to have a value when updated by agents",
"editable_in_portal" : "Whether this field is editable by end users",
"updated_at" : "The time of the last update of the ticket field",
"system_field_options" : [ {
"raw_name" : "string",
"name" : "string",
"id" : "integer",
"position" : "integer",
"value" : "string",
"url" : "string"
} ],
"regexp_for_validation" : "Regular expression field only. The validation pattern for a field value to be deemed valid.",
"id" : "Automatically assigned upon creation",
"tag" : "A tag value to set for checkbox fields when checked",
"collapsed_for_agents" : "If this field should be shown to agents by default or be hidden alongside infrequently used fields. Classic interface only",
"active" : "Whether this field is available",
"raw_title_in_portal" : "The dynamic content placeholder, if present, or the \"title_in_portal\" value, if not. See Dynamic Content",
"agent_description" : "A description of the ticket field that only agents can see",
"raw_description" : "The dynamic content placeholder, if present, or the \"description\" value, if not. See Dynamic Content",
"url" : "The URL for this resource",
"required_in_portal" : "If it's required for this field to have a value when updated by end users",
"removable" : "If this field is not a system basic field that must be present for all tickets on the account",
"sub_type_id" : "\"priority\" and \"status\" fields only, inaccessible to all other field types. 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.",
"position" : "A relative position for the ticket fields that determines the order of ticket fields on a ticket. Note that positions 0 to 7 are reserved for system fields",
"title_in_portal" : "The title of the ticket field is mandatory when it's visible to end users"
}
}
Update ticket field
Type: integer
Ticket Field ID
Type: number
Type: object
{
"custom_field_option" : {
"raw_name" : "string",
"name" : "string",
"id" : "integer",
"position" : "integer",
"value" : "string",
"url" : "string"
}
}
Update ticket form
Ticket Form ID
Type: number
Type: object
{
"ticket_form" : {
"raw_name" : "The dynamic content placeholder, if present, or the \"name\" value, if not. See Dynamic Content",
"in_all_brands" : "Is the form available for use in all brands on this account",
"ticket_field_ids" : [ "string" ],
"active" : "If the form is set as active",
"agent_conditions" : [ { } ],
"raw_display_name" : "The dynamic content placeholder, if present, or the \"display_name\" value, if not. See Dynamic Content",
"display_name" : "The name of the form that is displayed to an end user",
"default" : "Is the form the default form for this account",
"end_user_conditions" : [ { } ],
"end_user_visible" : "Is the form visible to the end user",
"name" : "The name of the form",
"position" : "The position of this form among other forms in the account, i.e. dropdown",
"restricted_brand_ids" : [ "number" ]
}
}
Update trigger
Trigger ID
Type: number
Type: object
{
"trigger" : {
"updated_at" : "The time of the last update of the trigger",
"active" : "Whether the trigger is active",
"description" : "The description of the trigger",
"created_at" : "The time the trigger was created",
"id" : "Automatically assigned when created",
"position" : "Position of the trigger, determines the order they will execute in",
"title" : "The title of the trigger",
"conditions" : {
"all" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ],
"any" : [ {
"field" : "The name of a ticket field",
"value" : "The value of a ticket field",
"operator" : "A comparison operator"
} ]
},
"actions" : [ {
"field" : "The name of a field",
"value" : "The value of the field"
} ]
}
}
Update user
User ID
Type: number
Type: object
{
"user" : {
"shared" : "If the user is shared from a different Zendesk Support instance. Ticket sharing accounts only",
"last_login_at" : "The last time the user signed in to Zendesk Support",
"notes" : "Any notes you want to store about the user",
"role" : "The user's role. Possible values are \"end-user\", \"agent\", or \"admin\"",
"signature" : "The user's signature. Only agents and admins can have signatures",
"custom_role_id" : "A custom role if the user is an agent on the Enterprise plan",
"moderator" : "Designates whether the user has forum moderation capabilities",
"shared_agent" : "If the user is a shared agent from a different Zendesk Support instance. Ticket sharing accounts only",
"created_at" : "The time the user was created",
"external_id" : "A unique identifier from another system. The API treats the id as case insensitive.",
"locale" : "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.",
"default_group_id" : "The id of the user's default group. *Can only be set on create, not on update",
"locale_id" : "The user's language identifier",
"user_fields" : { },
"updated_at" : "The time the user was last updated",
"report_csv" : "Whether or not the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. See Analyzing Help Center search results in Help Center. Only available on the Guide Professional plan",
"alias" : "An alias displayed to end users",
"details" : "Any details you want to store about the user, such as an address",
"id" : "Automatically assigned when the user is created",
"email" : "The user's primary email address. *Writeable on create only. On update, a secondary email is added.",
"restricted_agent" : "If the agent has any restrictions; false for admins and unrestricted agents, true for other agents",
"two_factor_auth_enabled" : "If two factor authentication is enabled.",
"role_type" : "The user's role id. 0 for custom agents, 1 for light agent and 2 for chat agent",
"only_private_comments" : "true if the user can only create private comments",
"shared_phone_number" : "Whether the phone number is shared or not. See Phone Number below",
"verified" : "The user's primary identity is verified or not. For secondary identities, see User Identities",
"active" : "false if the user has been deleted",
"photo" : {
"content_type" : "The content type of the image.",
"size" : "The size of the image file in bytes",
"inline" : "If true, the attachment is excluded from the attachment list and the attachment's URL can be referenced within the comment of a ticket. Default is false",
"file_name" : "The name of the image file",
"content_url" : "A full URL where the attachment image file can be downloaded",
"id" : "Automatically assigned when created",
"thumbnails" : [ { } ]
},
"time_zone" : "The user's time zone. See Time Zone",
"suspended" : "If the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal",
"url" : "The user's API url",
"tags" : [ "string" ],
"phone" : "The user's primary phone number. See Phone Number below",
"organization_id" : "The id of the user's organization. If the user has more than one organization memberships, the id of the user's default organization",
"name" : "The user's name",
"chat_only" : "Whether or not the user is a chat-only agent",
"ticket_restriction" : "Specifies which tickets the user has access to."
}
}
Update user field
User Field ID
Type: number
Type: object
{
"user_field" : {
"raw_title" : "The dynamic content placeholder, if present, or the \"title\" value, if not. See Dynamic Content",
"custom_field_options" : [ {
"raw_name" : "string",
"name" : "string",
"id" : "number",
"position" : "integer",
"value" : "string",
"url" : "string"
} ],
"description" : "User-defined description of this field's purpose",
"active" : "If true, this field is available for use",
"created_at" : "The time the ticket field was created",
"type" : "Type of the custom field",
"title" : "The title of the custom field",
"raw_description" : "The dynamic content placeholder, if present, or the \"description\" value, if not. See Dynamic Content",
"url" : "The URL for this resource",
"system" : "If true, only active and position values of this field can be changed",
"updated_at" : "The time of the last update of the ticket field",
"regexp_for_validation" : "Regular expression field only. The validation pattern for a field value to be deemed valid.",
"id" : "Automatically assigned upon creation",
"position" : "Ordering of the field relative to other fields",
"tag" : "Optional for custom field of type \"checkbox\"; not presented otherwise.",
"key" : "A unique key that identifies this custom field. This is used for updating the field and referencing in placeholders."
}
}
Update user field
Type: integer
User Field ID
Type: number
Type: object
{
"custom_field_option" : {
"raw_name" : "string",
"name" : "string",
"id" : "number",
"position" : "integer",
"value" : "string",
"url" : "string"
}
}
Update workspace
Workspace ID
Type: number
Type: object
{
"workspace" : {
"description" : "User-defined description of this workspace's purpose",
"created_at" : "The time the workspace was created",
"macro_ids" : [ "number" ],
"prefer_workspace_app_order" : "boolean",
"title" : "The title of the workspace",
"url" : "The URL for this resource",
"ticket_form_id" : "number",
"updated_at" : "The time of the last update of the workspace",
"selected_macros" : [ { } ],
"id" : "Automatically assigned upon creation",
"position" : "Ordering of the workspace relative to other workspaces",
"conditions" : { },
"activated" : "If true, this workspace is available for use",
"apps" : [ { } ]
}
}
Validate token.
Type: object
{
"instance_push_id" : "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" : "A unique identifier for the push request"
}
Sends a test email to the specified support address to verify that email forwarding for the address works. An external support address won't work in Zendesk Support until it's verified. The endpoint doesn't return the results of the test. Instead, use the Show Support Address endpoint to check that the forwarding_status property is "verified".