Zendesk (version v1.*.*)

add_tag_to_organization

Adds the specified tags.

Parameters

organization_id (required)

Organization ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

add_tag_to_ticket

Adds the specified tags.

Parameters

ticket_id (required)

Ticket ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

add_tag_to_user

Adds the specified tags.

Parameters

user_id (required)

User ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

autocomplete_organizations

Returns an array of organizations whose name starts with the value specified in the name parameter.

Parameters

name

Type: string

sort_order

Type: string

Potential values: desc, asc

autocomplete_problems

Returns tickets whose type is "Problem" and whose subject contains the string specified in the text parameter.

Parameters

text

Type: string

autocomplete_tags

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.

Parameters

name

Type: string

autocomplete_users

Returns an array of users whose name starts with the value specified in the name parameter. It only returns users with no foreign identities.

Parameters

name

Type: string

sort_order

Type: string

Potential values: desc, asc

check_host_mapping_validity

Returns a JSON object determining whether a host mapping is valid for a given subdomain.

Parameters

host_mapping

Type: string

subdomain

Type: string

check_host_mapping_validity_for_brand

Returns a JSON object determining whether a host mapping is valid for a given subdomain.

Parameters

id (required)

Brand ID

Type: number

clone_ticket_form

Clone an already existing ticket form

Parameters

ticket_form_id (required)

Ticket Form ID

Type: number

create_automation

Create automation

Parameters

$body

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

Create bookmark

Parameters

$body

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

Create brand

Parameters

$body

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"
  }
}

create_custom_role

Parameters

$body

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

Create dynamic content item

Parameters

$body

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

Create dynamic content variant. You can only create one variant for each locale id. If a locale variant already exists, the request is rejected.

Parameters

id (required)

Variant ID

Type: number

$body

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

Create group

Parameters

$body

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"
  }
}

create_group_membership

Parameters

$body

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_group_membership_for_user

Parameters

user_id (required)

User ID

Type: number

$body

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_holiday

Create a holiday

Parameters

schedule_id (required)

Schedule ID

Type: number

$body

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."
  }
}

create_identity

Add a user identity to a given user id.

Parameters

user_id (required)

User ID

Type: number

$body

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_identity_for_end_user

Add a user identity to a given user id.

Parameters

user_id (required)

User ID

Type: number

$body

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

Create macro

Parameters

$body

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_many_dynamic_content_variants

Create up to 100 dynamic content variants.

Parameters

id (required)

DynamicContentItem ID

Type: number

$body

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_many_group_memberships

Create up to 100 group memberships.

Parameters

$body

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_many_organization_memberships

Create up to 100 organization memberships.

Parameters

$body

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"
  } ]
}

create_many_organizations

Bulk create up to 100 organizations.

Parameters

$body

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_many_tickets

Create up to 100 tickets.

Parameters

$body

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_many_users

Create up to 100 users.

Parameters

$body

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

Create Oauth client

Parameters

$body

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_oauth_token

Create token

Parameters

$body

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"
  }
}

create_or_update_many_users

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.

Parameters

$body

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_or_update_organization

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.

Parameters

$body

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_or_update_user

Creates a user if the user does not already exist, or updates an existing user identified by e-mail address or external ID.

Parameters

$body

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

Create organization

Parameters

$body

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

Create organization field

Parameters

$body

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

Create organization membership

Parameters

$body

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

Create organization membership for user

Parameters

user_id (required)

User ID

Type: number

$body

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

Create organization subscription

Parameters

$body

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

Create recipient address

Parameters

$body

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

Create request

Parameters

$body

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

Create resource collection

Parameters

$body

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_schedule

Create a schedule

Parameters

$body

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

Create sharing agreement

Parameters

$body

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

Create target

Parameters

$body

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"
  }
}

create_ticket

Parameters

$body

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

Create ticket field

Parameters

$body

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

Create ticket form

Parameters

$body

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

Create ticket from tweet

Parameters

$body

Type: object

{
  "ticket" : {
    "monitored_twitter_handle_id" : "number",
    "twitter_status_message_id" : "string"
  }
}

create_ticket_skip

Create ticket_skip

Parameters

$body

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

Create trigger

Parameters

$body

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

Create user

Parameters

$body

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

Create user field

Parameters

$body

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

Create workspace

Parameters

$body

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_automation

Delete an automation

Parameters

id (required)

Automation ID

Type: number

delete_bookmark

Delete an bookmark

Parameters

id (required)

Bookmark ID

Type: number

delete_brand

Delete a brand

Parameters

id (required)

Brand ID

Type: number

delete_current_oauth_token

This operation has no parameters

delete_custom_role

Parameters

id (required)

Role ID

Type: number

delete_deleted_user

Permanently delete user.

Parameters

user_id (required)

User ID

Type: number

delete_dynamic_content

Delete a dynamic content item

Parameters

id (required)

DynamicContentItem ID

Type: number

delete_dynamic_content_variant

Delete a dynamic content variant

Parameters

id (required)

DynamicContentItem ID

Type: number

variant_id (required)

Variant ID

Type: number

delete_group

Delete a group

Parameters

group_id (required)

Group ID

Type: number

delete_group_membership

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.

Parameters

group_membership_id (required)

Group Membership ID

Type: number

delete_group_membership_from_user

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.

Parameters

group_membership_id (required)

Group Membership ID

Type: number

user_id (required)

User ID

Type: number

delete_holiday

Delete a holiday

Parameters

holiday_id (required)

Holiday ID

Type: number

schedule_id (required)

Schedule ID

Type: number

delete_identity_from_user

Delete identity from user

Parameters

id (required)

Identity ID

Type: number

user_id (required)

User ID

Type: number

delete_macro

Delete a macro

Parameters

id (required)

Macro ID

Type: number

delete_many_tickets_permanently

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.

Parameters

ids

Type: array

[ "number" ]

delete_oauth_client

Delete client

Parameters

oauth_client_id (required)

OAuth Client ID

Type: number

delete_oauth_token

Delete token

Parameters

id (required)

Oauth Token ID

Type: number

delete_organization

Delete organization

Parameters

organization_id (required)

Organization ID

Type: number

delete_organization_field

Delete an organization field

Parameters

id (required)

OrganizationField ID

Type: number

delete_organization_membership

Delete organization membership

Parameters

id (required)

OrganizationMembership ID

Type: number

delete_organization_membership_for_user

Delete organization membership for user

Parameters

id (required)

OrganizationMembership ID

Type: number

user_id (required)

User ID

Type: number

delete_organization_subscription

Delete organization subscription

Parameters

id (required)

OrganizationSubscription ID

Type: number

delete_recipient_address

Delete recipient address

Parameters

id (required)

SupportAddress ID

Type: number

delete_resource_collection

Delete resource collection

Parameters

id (required)

ResourceCollection ID

Type: number

delete_schedule

Delete a schedule

Parameters

schedule_id (required)

Schedule ID

Type: number

delete_sharing_agreement

Delete sharing agreement

Parameters

id (required)

Sharing Agreement ID

Type: number

delete_suspended_ticket

Delete suspended ticket

Parameters

suspended_ticket_id (required)

Suspended Ticket ID

Type: number

delete_target

Delete target

Parameters

id (required)

Target ID

Type: number

delete_ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

delete_ticket_field

Delete ticket field

Parameters

ticket_field_id (required)

Ticket Field ID

Type: number

delete_ticket_field_option

Delete ticket field option

Parameters

option_id (required)

Type: integer

ticket_field_id (required)

Ticket Field ID

Type: number

delete_ticket_form

Delete ticket form.

Parameters

ticket_form_id (required)

Ticket Form ID

Type: number

delete_ticket_permanently

Permanently deletes a soft-deleted ticket.

Parameters

id (required)

Role ID

Type: number

delete_trigger

Delete trigger

Parameters

trigger_id (required)

Trigger ID

Type: number

delete_user

Delete user

Parameters

user_id (required)

User ID

Type: number

delete_user_field

Delete user field

Parameters

user_field_id (required)

User Field ID

Type: number

delete_user_field_option

Delete user field option

Parameters

option_id (required)

Type: integer

user_field_id (required)

User Field ID

Type: number

delete_workspace

Delete workspace

Parameters

workspace_id (required)

Workspace ID

Type: number

destroy_many_automations

Deletes the automations corresponding to the provided comma-separated list of IDs.

Parameters

ids

Automation IDs to delete

Type: array

[ "number" ]

destroy_many_group_memberships

Bulk destroy group memberships.

Parameters

ids

Group Membership IDs to delete

Type: array

[ "number" ]

destroy_many_macros

Bulk destroy macros.

Parameters

ids

Macro IDs to delete

Type: array

[ "number" ]

destroy_many_organization_memberships

Bulk destroy organization memberships.

Parameters

ids

OrganizationMembership IDs to delete

Type: array

[ "number" ]

destroy_many_organizations

Bulk destroy organizations.

Parameters

external_ids

External IDs to delete

Type: array

[ "number" ]

ids

Organization IDs to delete

Type: array

[ "number" ]

destroy_many_suspended_tickets

Bulk destroy suspended tickets.

Parameters

ids

Suspended Ticket IDs to delete

Type: array

[ "number" ]

destroy_many_tickets

Bulk destroy tickets.

Parameters

ids

Ticket IDs to delete

Type: array

[ "number" ]

destroy_many_triggers

Bulk destroy triggers.

Parameters

ids

Trigger IDs to delete

Type: array

[ "number" ]

destroy_many_users

Bulk destroy users.

Parameters

external_ids

Type: array

[ "number" ]

ids

User IDs to delete

Type: array

[ "number" ]

destroy_many_workspaces

Bulk destroy workspaces.

Parameters

ids

Workspace IDs to delete

Type: array

[ "number" ]

generate_client_secret

Generate new client secret.

Parameters

oauth_client_id (required)

OAuth Client ID

Type: number

get_account_settings

This operation has no parameters

get_attachment

Get attachment

Parameters

attachment_id (required)

Attachment ID

Type: number

get_attachment_for_macro

Shows the properties of the specified macro attachment.

Parameters

attachment_id (required)

Type: integer

get_audit_log

Get audit_log

Parameters

id (required)

Audit Log ID

Type: number

get_authenticated_user

This operation has no parameters

get_automation

Get an automation

Parameters

id (required)

Automation ID

Type: number

get_brand

Get a brand

Parameters

id (required)

Brand ID

Type: number

get_comment

Returns a comment.

Parameters

comment_id (required)

Type: number

request_id (required)

Request ID

Type: number

get_current_oauth_token

This operation has no parameters

get_custom_role

Parameters

id (required)

Role ID

Type: number

get_deleted_user

These are users that have been deleted but not permanently yet.

Parameters

user_id (required)

User ID

Type: number

get_dynamic_content

Get a dynamic content item

Parameters

id (required)

DynamicContentItem ID

Type: number

get_dynamic_content_variant

Get a dynamic content variant

Parameters

id (required)

DynamicContentItem ID

Type: number

variant_id (required)

Variant ID

Type: number

get_end_user

Get end user

Parameters

user_id (required)

User ID

Type: number

get_group

Get a group

Parameters

group_id (required)

Group ID

Type: number

get_group_membership

Get a membership.

Parameters

group_membership_id (required)

Group Membership ID

Type: number

get_group_membership_from_user

Get a membership.

Parameters

group_membership_id (required)

Group Membership ID

Type: number

user_id (required)

User ID

Type: number

get_holiday

Get a holiday

Parameters

holiday_id (required)

Holiday ID

Type: number

schedule_id (required)

Schedule ID

Type: number

get_identity_from_user

Get brand

Parameters

id (required)

Identity ID

Type: number

user_id (required)

User ID

Type: number

get_job_status

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.

Parameters

id (required)

Job Status ID

Type: string

get_macro

Get a macro

Parameters

id (required)

Macro ID

Type: number

get_macro_replica

Returns an unpersisted macro representation derived from a ticket or macro.

Parameters

macro_id

ID of the macro to replicate

Type: integer

ticket_id

ID of the ticket from which to build a macro replica

Type: integer

get_many_dynamic_content_items

Bulk show dynamic content items

Parameters

identifiers

Type: array

[ "number" ]

get_many_job_statuses

Accepts a comma-separated list of job status ids.

Parameters

ids

Type: array

[ "number" ]

get_many_organizations

Bulk show organizations

Parameters

ids

Type: array

[ "number" ]

get_many_ticket_forms

Bulk show ticket forms

Parameters

ids

Type: array

[ "number" ]

get_many_tickets

Parameters

ids

Type: array

[ "number" ]

get_many_users

Bulk show users

Parameters

external_ids

Type: array

[ "number" ]

ids

Type: array

[ "number" ]

get_metrics_for_ticket

Get metrics for ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

get_monitored_twitter_handle

Get monitored Twitter handle

Parameters

id (required)

Monitored Twitter handle ID

Type: number

get_oauth_client

Get client

Parameters

oauth_client_id (required)

OAuth Client ID

Type: number

get_oauth_token

Get token

Parameters

id (required)

Oauth Token ID

Type: number

get_organization

Get organization

Parameters

organization_id (required)

Organization ID

Type: number

get_organization_field

Get an organization field

Parameters

id (required)

OrganizationField ID

Type: number

get_organization_membership

Get organization membership

Parameters

id (required)

OrganizationMembership ID

Type: number

get_organization_membership_for_user

Get organization membership for user

Parameters

id (required)

OrganizationMembership ID

Type: number

user_id (required)

User ID

Type: number

get_organization_subscription

Get organization subscription

Parameters

id (required)

OrganizationSubscription ID

Type: number

get_recipient_address

Get recipient address

Parameters

id (required)

SupportAddress ID

Type: number

Show Organization's related information.

Parameters

organization_id (required)

Organization ID

Type: number

Parameters

ticket_id (required)

Ticket ID

Type: number

get_request

Get request

Parameters

request_id (required)

Request ID

Type: number

get_resource_collection

Get resource collection

Parameters

id (required)

ResourceCollection ID

Type: number

get_schedule

Get a schedule

Parameters

schedule_id (required)

Schedule ID

Type: number

get_sharing_agreement

Get sharing agreement

Parameters

id (required)

Sharing Agreement ID

Type: number

get_suspended_ticket

Get suspended ticket

Parameters

suspended_ticket_id (required)

Suspended Ticket ID

Type: number

get_target

Get target

Parameters

id (required)

Target ID

Type: number

get_ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

get_ticket_activity

Lists a specific activity.

Parameters

activity_id (required)

Activity ID

Type: string

get_ticket_audit

Get ticket audit

Parameters

ticket_audit_id (required)

Ticket Audit ID

Type: number

ticket_id (required)

Ticket ID

Type: number

get_ticket_field

Get ticket field

Parameters

ticket_field_id (required)

Ticket Field ID

Type: number

get_ticket_field_option

Get ticket field option

Parameters

option_id (required)

Type: integer

ticket_field_id (required)

Ticket Field ID

Type: number

get_ticket_form

Get ticket form.

Parameters

ticket_form_id (required)

Ticket Form ID

Type: number

get_ticket_metric

Get ticket metric

Parameters

ticket_metric_id (required)

Type: integer

get_trigger

Get trigger

Parameters

trigger_id (required)

Trigger ID

Type: number

get_trigger_revision

Fetch a revision associated with a trigger.

Parameters

revision_id (required)

Type: number

trigger_id (required)

Trigger ID

Type: number

get_user

Get user

Parameters

user_id (required)

User ID

Type: number

get_user_field

Get user field

Parameters

user_field_id (required)

User Field ID

Type: number

get_user_field_option

Get user field option

Parameters

option_id (required)

Type: integer

user_field_id (required)

User Field ID

Type: number

Get user related information

Parameters

user_id (required)

User ID

Type: number

get_workspace

Get workspace

Parameters

workspace_id (required)

Workspace ID

Type: number

import_many_tickets

Import up to 100 legacy tickets.

Parameters

$body

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_ticket

Import a ticket from a legacy system

Parameters

$body

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"
  }
}

list_action_definitions_for_macros

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.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_actions_for_macros

List supported actions for macros

Parameters

access

Only macros with given access.

Type: string

Potential values: personal, shared, account

category

Only macros within given category

Type: string

group_id

Only macros belonging to given group

Type: integer

sort_by

Defaults to alphabetical

Type: string

Potential values: alphabetical, created_at, updated_at, usage_1h, usage_24h, usage_7d

sort_order

Type: string

Potential values: desc, asc

list_active_automations

Parameters

sort_by

Type: string

sort_order

Type: string

Potential values: desc, asc

list_active_macros

Lists all active shared and personal macros available to the current user.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_active_triggers

Returns a list of all active triggers.

Parameters

sort_by

Defaults to position

Type: string

Potential values: alphabetical, created_at, updated_at, usage_1h, usage_24h, usage_7d

sort_order

Type: string

Potential values: desc, asc

list_assignable_group_memberships_for_group

Parameters

group_id (required)

Group ID

Type: number

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_assignable_groups

Returns a list of all assignable groups.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_assignable_memberships

This operation has no parameters

list_attachments_for_macro

Lists the attachments associated with a macro.

Parameters

macro_id (required)

Macro ID

Type: number

list_audit_logs

Returns a list of all audit logs for your account sorted by name.

Parameters

filter[actor_id]

Type: string

filter[ip_address]

Type: string

filter[source_id]

Type: string

filter[source_type]

Type: string

sort_order

Type: string

Potential values: desc, asc

list_audits_for_ticket

Lists the audits for a specified ticket.

Parameters

ticket_id (required)

Ticket ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_automations

Lists all automations for the current account

Parameters

sort_by

Type: string

sort_order

Type: string

Potential values: desc, asc

list_bookmarks

Lists all bookmarks

Parameters

sort_by

Type: string

sort_order

Type: string

Potential values: desc, asc

list_brands

Returns a list of all brands for your account sorted by name.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_categories_for_macros

Lists all macro categories available to the current user.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_ccd_requests

Returns a list of ccd requests.

Parameters

sort_by

Type: string

Potential values: updated_at, created_at

sort_order

Type: string

Potential values: desc, asc

list_changes_to_ticket

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.

Parameters

id (required)

Macro ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_collaborators_on_ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

list_comments_for_request

Returns a list of comments for a request.

Parameters

request_id (required)

Request ID

Type: number

role

Type: string

Potential values: agent, user

since

Type: string

sort_by

Type: string

Potential values: updated_at, created_at

sort_order

Type: string

Potential values: desc, asc

list_custom_roles

Parameters

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_definitions_of_triggers

This operation has no parameters

list_deleted_tickets

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.

Parameters

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_deleted_users

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".

Parameters

sort_order

Type: string

Potential values: desc, asc

list_dynamic_content_items

Returns a list of all dynamic content items for your account.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_dynamic_content_variants

Returns all the variants of the specified dynamic content item.

Parameters

id (required)

Variant ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_email_ccs_on_ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

list_followers_on_ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

list_global_oauth_clients

Returns all the global clients that users on your account have authorized.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_group_memberships

Parameters

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_group_memberships_for_group

Parameters

group_id (required)

Group ID

Type: number

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_group_memberships_for_user

Parameters

user_id (required)

User ID

Type: number

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_groups

Returns a list of all groups.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_groups_for_user

Returns a list of all groups a user is in.

Parameters

user_id (required)

User ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_holidays_for_schedule

List holidays for a schedule

Parameters

schedule_id (required)

Schedule ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_identities

Returns all user identities for a given user id.

Parameters

user_id (required)

User ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_incidents_on_ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

list_job_statuses

This operation has no parameters

list_macros

Lists all shared and personal macros available to the current user.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_memberships_for_user

Returns a list of memberships for a user.

Parameters

user_id (required)

User ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_memberships_in_organization

Returns a list of memberships in an organization.

Parameters

organization_id (required)

Organization ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_monitored_twitter_handles

Returns a list of all monitored Twitter handles for your account.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_my_oauth_clients

Returns a list of all Oauth clients for this account.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_oauth_clients

Returns a list of all Oauth clients.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_oauth_tokens

Returns a list of all tokens.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_open_requests

Returns a list of open requests.

Parameters

sort_by

Type: string

Potential values: updated_at, created_at

sort_order

Type: string

Potential values: desc, asc

list_organization_fields

Returns a list of all custom organization fields.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_organization_memberships

Returns a list of all organization memberships.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_organization_subscriptions

Returns a list of all organization subscriptions.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_organization_subscriptions_for_user

Returns a list of all organization subscriptions for a user.

Parameters

user_id (required)

User ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_organizations

Returns a list of all organizations for your account sorted by name.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_organizations_for_user

Returns a list of all organizations for a user.

Parameters

user_id (required)

User ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_recent_tickets

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

Parameters

external_id

Type: string

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_recipient_addresses

Returns a list of all recipient addresses for your account.

Parameters

include

You can also include the brand for each Support address in the JSON objects returned by GET requests by sideloading it.

Type: string

sort_order

Type: string

Potential values: desc, asc

list_requests

Returns a list of all requests.

Parameters

sort_by

Type: string

Potential values: updated_at, created_at

sort_order

Type: string

Potential values: desc, asc

list_requests_for_organization

Returns a list of requests for an organization.

Parameters

organization_id (required)

Organization ID

Type: number

sort_by

Type: string

Potential values: updated_at, created_at

sort_order

Type: string

Potential values: desc, asc

list_requests_for_user

Returns a list of requests for a user.

Parameters

user_id (required)

User ID

Type: number

sort_by

Type: string

Potential values: updated_at, created_at

sort_order

Type: string

Potential values: desc, asc

list_resource_collections

Returns a list of all resource collections.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_schedules

List all schedules

Parameters

sort_order

Type: string

Potential values: desc, asc

list_sharing_agreements

Returns a list of all sharing agreements.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_skips_for_ticket

Returns a list of skips for a ticket.

Parameters

ticket_id (required)

Ticket ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_skips_for_user

Returns a list of skips for a user.

Parameters

user_id (required)

User ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_solved_requests

Returns a list of solved requests.

Parameters

sort_by

Type: string

Potential values: updated_at, created_at

sort_order

Type: string

Potential values: desc, asc

list_subscriptions_in_organization

Returns a list of subscriptions in an organization.

Parameters

organization_id (required)

Organization ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_suspended_tickets

Returns a list of all suspended tickets.

Parameters

sort_by

Defaults to position.

Type: string

Potential values: author_email, cause, created_at, subject

sort_order

Type: string

Potential values: desc, asc

list_tags

This operation has no parameters

list_targets

Returns a list of all targets.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_ticket_activities

This operation has no parameters

list_ticket_audits

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.

Parameters

cursor

Type: string

limit

Type: number

list_ticket_comments

Returns a list of all ticket comments.

Parameters

ticket_id (required)

Ticket ID

Type: number

include

Type: string

Potential values: users

include_inline_images

Type: boolean

sort_order

Type: string

Potential values: desc, asc

list_ticket_field_options

List Ticket Field Options

Parameters

ticket_field_id (required)

Ticket Field ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_ticket_fields

Returns a list of all ticket fields.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_ticket_forms

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'.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_ticket_metrics

Returns a list of all tickets with their metrics.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_ticket_problems

This operation has no parameters

list_ticket_skips

Returns a list of all ticket skips.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_tickets

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.

Parameters

external_id

Type: string

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_tickets_assigned_to_user

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.

Parameters

user_id (required)

User ID

Type: number

external_id

Type: string

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_tickets_ccd_by_user

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.

Parameters

user_id (required)

User ID

Type: number

external_id

Type: string

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_tickets_in_organization

List tickets in an organization.

Parameters

organization_id (required)

Organization ID

Type: number

external_id

Type: string

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_tickets_requested_by_user

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.

Parameters

user_id (required)

User ID

Type: number

external_id

Type: string

sort_by

Type: string

Potential values: id, subject, deleted_at

sort_order

Type: string

Potential values: desc, asc

list_trigger_revisions

List the revisions associated with a trigger.

Parameters

trigger_id (required)

Trigger ID

Type: number

cursor

Type: string

limit

Type: number

list_triggers

Returns a list of all triggers.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_user_field_options

List User Field Options

Parameters

user_field_id (required)

User Field ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_user_fields

Returns a list of all user fields.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_users

Returns a list of all users.

Parameters

sort_order

Type: string

Potential values: desc, asc

list_users_in_group

Returns a list of all users in a group.

Parameters

group_id (required)

Group ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_users_in_organization

Returns a list of all users in an organization.

Parameters

organization_id (required)

Organization ID

Type: number

sort_order

Type: string

Potential values: desc, asc

list_workspaces

Returns a list of all workspaces.

Parameters

sort_order

Type: string

Potential values: desc, asc

make_comment_private

Make comment

Parameters

comment_id (required)

Comment ID

Type: number

ticket_id (required)

Ticket ID

Type: number

mark_many_tickets_as_spam

Bulk mark tickets as spam and suspend requesters. Accepts a comma-separated list of up to 100 ticket ids.

Parameters

ids

Ticket IDs to mark as spam

Type: array

[ "number" ]

mark_ticket_as_spam

Mark ticket as spam and suspend requester

Parameters

ticket_id (required)

Ticket ID

Type: number

merge_self_with_user

The current user will be merged into the existing user provided in the params. Users can only merge themselves into another user.

Parameters

$body

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."
  }
}

merge_tickets

Merges one or more tickets into the target ticket.

Parameters

ticket_id (required)

Ticket ID

Type: number

$body

Type: object

{
  "target_comment" : "string",
  "ids" : [ "number" ],
  "source_comment" : "string"
}

merge_users

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.

Parameters

user_id (required)

User ID

Type: number

$body

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."
  }
}

push_content_to_support

Pushes Channel framework content to Zendesk Support.

Parameters

$body

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"
}

recover_many_suspended_tickets

Accepts up to 100 ticket ids. Note that suspended tickets that fail to be recovered are still included in the response.

Parameters

ids

Type: array

[ "number" ]

recover_suspended_ticket

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.

Parameters

suspended_ticket_id (required)

Suspended Ticket ID

Type: number

redact_string_in_comment

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.

Parameters

comment_id (required)

Comment ID

Type: number

ticket_id (required)

Ticket ID

Type: number

$body

Type: object

{
  "text" : "string"
}

remove_tag_from_organization

Remove tag from organization

Parameters

organization_id (required)

Organization ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

remove_tag_from_ticket

Remove tag from ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

remove_tag_from_user

Remove tag from user

Parameters

user_id (required)

User ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

reorder_organization_fields

Reorder organization fields

Parameters

$body

Type: object

{
  "organization_field_ids" : [ "integer" ]
}

reorder_ticket_form

Reorder ticket forms

Parameters

$body

Type: object

{
  "ticket_form_ids" : [ "number" ]
}

reorder_triggers

Reorder triggers

Parameters

$body

Type: object

{
  "trigger_ids" : [ "number" ]
}

reorder_user_fields

Reorder user fields

Parameters

$body

Type: object

{
  "user_field_ids" : [ "number" ]
}

reorder_workspaces

Reorder workspaces

Parameters

$body

Type: object

{
  "ids" : [ "number" ]
}

request_user_create

Sends the owner a reminder email to update their subscription so more agents can be created.

Parameters

$body

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_deleted_ticket

Restore a previously deleted ticket.

Parameters

id (required)

Role ID

Type: number

restore_many_deleted_tickets

Restore previously deleted tickets in bulk.

Parameters

ids

Type: array

[ "number" ]

The search API is a unified search API that returns tickets, users, and organizations.

Parameters

query

The search query

Type: string

sort_by

Defaults to sorting by relevance.

Type: string

Potential values: updated_at, created_at, priority, status, ticket_type

sort_order

Type: string

Potential values: desc, asc

search_automations

Search automations

Parameters

active

Only active automations if true, inactive automations if false

Type: boolean

query

Query string used to find all automations with matching title

Type: string

sort_by

Type: string

sort_order

Type: string

Potential values: desc, asc

search_macros

Search macros.

Parameters

access

List macros with the given access. Possible values are personal, shared, or account

Type: string

active

List active macros if true; inactive macros if false

Type: boolean

category

List macros in the given category

Type: string

group_id

List macros belonging to given group

Type: integer

only_viewable

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

Query string used to find macros with matching titles

Type: string

sort_by

If unspecified, the macros are sorted by relevance

Type: string

Potential values: alphabetical, created_at, updated_at, position

sort_order

Type: string

Potential values: desc, asc

search_organizations_by_external_id

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.

Parameters

external_id

Type: string

sort_order

Type: string

Potential values: desc, asc

search_requests

Returns an array of requests who meet the search criteria.

Parameters

cc_id

Type: boolean

organization_id

Type: number

query

Type: string

sort_order

Type: string

Potential values: desc, asc

status

Type: array

[ "string" ]

search_triggers

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.

Parameters

query

Type: string

sort_by

Type: string

Potential values: alphabetical, created_at, updated_at, position

sort_order

Type: string

Potential values: desc, asc

search_users

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.

Parameters

external_id

Type: string

query

Type: string

sort_order

Type: string

Potential values: desc, asc

set_default_group_membership_for_user

Set group membership as default.

Parameters

group_membership_id (required)

Group Membership ID

Type: number

user_id (required)

User ID

Type: number

set_membership_as_default

Set membership as default

Parameters

membership_id (required)

OrganizationMembership ID

Type: number

user_id (required)

User ID

Type: number

set_tag_for_organization

Adds the specified tags if no tag exists, or replaces all existing tags with the specified tags.

Parameters

organization_id (required)

Organization ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

set_tag_for_ticket

Adds the specified tags if no tag exists, or replaces all existing tags with the specified tags.

Parameters

ticket_id (required)

Ticket ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

set_tag_for_user

Adds the specified tags if no tag exists, or replaces all existing tags with the specified tags.

Parameters

user_id (required)

User ID

Type: number

$body

Type: object

{
  "tags" : [ "string" ]
}

set_ticket_audit_to_private

Change a comment from public to private

Parameters

ticket_audit_id (required)

Ticket Audit ID

Type: number

ticket_id (required)

Ticket ID

Type: number

show_compliance_deletion_statuses

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.

Parameters

user_id (required)

User ID

Type: number

show_tags_for_organization

Show tags for organization

Parameters

organization_id (required)

Organization ID

Type: number

show_tags_for_ticket

Show tags for ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

show_tags_for_user

Show tags for user

Parameters

user_id (required)

User ID

Type: number

show_ticket_after_changes

Returns the full ticket object as it would be after applying the macro to the ticket. It doesn't actually change the ticket.

Parameters

macro_id (required)

Macro ID

Type: number

ticket_id (required)

Ticket ID

Type: number

update_account_settings

Parameters

$body

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_automation

Update an automation

Parameters

id (required)

Automation ID

Type: number

$body

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_brand

Update a brand

Parameters

id (required)

Brand ID

Type: number

$body

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"
  }
}

update_custom_role

Parameters

id (required)

Role ID

Type: number

$body

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_dynamic_content

Update a dynamic content item

Parameters

id (required)

DynamicContentItem ID

Type: number

$body

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_dynamic_content_variant

Update a dynamic content variant

Parameters

id (required)

DynamicContentItem ID

Type: number

variant_id (required)

Variant ID

Type: number

$body

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

Update end user

Parameters

user_id (required)

User ID

Type: number

$body

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_group

Update a group

Parameters

group_id (required)

Group ID

Type: number

$body

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_holiday

Update a holiday

Parameters

holiday_id (required)

Holiday ID

Type: number

schedule_id (required)

Schedule ID

Type: number

$body

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

Update identity for user

Parameters

id (required)

Identity ID

Type: number

user_id (required)

User ID

Type: number

$body

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

Update intervals for a schedule

Parameters

schedule_id (required)

Schedule ID

Type: number

$body

Type: object

{
  "workweek" : {
    "intervals" : [ {
      "start_time" : "Integer representation of the interval start time",
      "end_time" : "Integer representation of the interval end time"
    } ]
  }
}

update_macro

Update a macro

Parameters

id (required)

Macro ID

Type: number

$body

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"
      } ]
    }
  }
}

update_many_automations

Bulk edit automations. Use the ids query parameter if you want to edit many automations with the same change.

Parameters

$body

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"
  } ]
}

ids

Automation IDs to edit with the same change

Type: array

[ "number" ]

update_many_dynamic_content_variants

Bulk edit dynamic content variants.

Parameters

id (required)

DynamicContentItem ID

Type: number

$body

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"
  } ]
}

update_many_macros

Updates the provided macros with the specified changes.

Parameters

$body

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"
      } ]
    }
  } ]
}

update_many_organizations

Bulk edit organizations. Use the ids query parameter if you want to edit many organizations with the same change.

Parameters

$body

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"
  } ]
}

ids

Organization IDs to edit with the same change

Type: array

[ "number" ]

update_many_tickets

Bulk edit tickets. Use the ids query parameter if you want to edit many tickets with the same change.

Parameters

$body

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"
  }
}

ids

Ticket IDs to edit with the same change

Type: array

[ "number" ]

update_many_triggers

Bulk edit triggers.

Parameters

$body

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"
    } ]
  } ]
}

update_many_users

Bulk edit users. Use the ids query parameter if you want to edit many users with the same change.

Parameters

$body

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."
  } ]
}

ids

User IDs to edit with the same change

Type: array

[ "number" ]

update_oauth_client

Update client

Parameters

oauth_client_id (required)

OAuth Client ID

Type: number

$body

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

Update organization

Parameters

organization_id (required)

Organization ID

Type: number

$body

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_organization_field

Update an organization field

Parameters

id (required)

OrganizationField ID

Type: number

$body

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

Update recipient address

Parameters

id (required)

SupportAddress ID

Type: number

$body

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

Update request

Parameters

request_id (required)

Request ID

Type: number

$body

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"
  }
}

update_resource_collection

Updates a resource collection with a provided payload.

Parameters

$body

Type: object

{
  "payload" : { }
}

update_schedule

Update a schedule

Parameters

schedule_id (required)

Schedule ID

Type: number

$body

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

Update sharing agreement

Parameters

id (required)

Sharing Agreement ID

Type: number

$body

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

Update target

Parameters

id (required)

Target ID

Type: number

$body

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"
  }
}

update_ticket

Parameters

ticket_id (required)

Ticket ID

Type: number

$body

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

Update ticket field

Parameters

ticket_field_id (required)

Ticket Field ID

Type: number

$body

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_option

Update ticket field

Parameters

option_id (required)

Type: integer

ticket_field_id (required)

Ticket Field ID

Type: number

$body

Type: object

{
  "custom_field_option" : {
    "raw_name" : "string",
    "name" : "string",
    "id" : "integer",
    "position" : "integer",
    "value" : "string",
    "url" : "string"
  }
}

update_ticket_form

Update ticket form

Parameters

ticket_form_id (required)

Ticket Form ID

Type: number

$body

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

Update trigger

Parameters

trigger_id (required)

Trigger ID

Type: number

$body

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

Update user

Parameters

user_id (required)

User ID

Type: number

$body

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

Update user field

Parameters

user_field_id (required)

User Field ID

Type: number

$body

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_option

Update user field

Parameters

option_id (required)

Type: integer

user_field_id (required)

User Field ID

Type: number

$body

Type: object

{
  "custom_field_option" : {
    "raw_name" : "string",
    "name" : "string",
    "id" : "number",
    "position" : "integer",
    "value" : "string",
    "url" : "string"
  }
}

update_workspace

Update workspace

Parameters

workspace_id (required)

Workspace ID

Type: number

$body

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

Validate token.

Parameters

$body

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"
}

verify_recipient_address

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".

Parameters

id (required)

SupportAddress ID

Type: number

$body

Type: object

{
  "type" : "string"
}