The Zendesk Support API allows you to manage users within the Zendesk platform. This guide covers the core operations related to user management, including creating, updating, retrieving, and deleting users, as well as managing user identities and roles.
The most common operations people perform on users using the Zendesk Support API.
Action | HTTP Method | Endpoint |
---|---|---|
List Users
|
GET
|
/api/v2/users
|
Create a User
|
POST
|
/api/v2/users
|
Retrieve a User
|
GET
|
/api/v2/users/{user_id}
|
Update a User
|
PUT
|
/api/v2/users/{user_id}
|
Delete a User
|
DELETE
|
/api/v2/users/{user_id}
|
Users in Zendesk Support represent individuals who interact with your support system, including agents, admins, and end-users.
Users are primarily identified by their unique ID, email address, or external ID.
To create a user, you need to provide at least a name and email address. Additional optional fields include role, organization_id, and custom fields.
Users can be searched using the `query` parameter, which supports Zendesk search syntax. You can search by name, email, notes, or phone. Example: `query="jdoe"`.
The properties section outlines the key attributes of a User object in the Zendesk Support API. Understanding these properties is crucial for effectively managing users. Show all properties Only show essential properties
Field Name | Type | Short Description |
---|---|---|
id | integer | Automatically assigned when the user is created |
name | string | The user's name |
string | The user's primary email address | |
role | string | The user's role. Possible values are "end-user", "agent", or "admin" |
created_at | datetime | The time the user was created |
updated_at | datetime | The time of the last update of the user |
organization_id | integer | The id of the user's organization |
locale | string | The user's locale |
time_zone | string | The user's time zone |
active | boolean | False if the user has been deleted |
alias | string | An alias displayed to end users |
chat_only | boolean | Whether or not the user is a chat-only agent |
custom_role_id | integer | A custom role if the user is an agent on the Enterprise plan or above |
default_group_id | integer | The id of the user's default group |
details | string | Any details you want to store about the user, such as an address |
external_id | string | A unique identifier from another system |
iana_time_zone | string | The time zone for the user |
last_login_at | datetime | Last time the user signed in to Zendesk Support |
locale_id | integer | The user's language identifier |
moderator | boolean | Designates whether the user has forum moderation capabilities |
notes | string | Any notes you want to store about the user |
only_private_comments | boolean | True if the user can only create private comments |
phone | string | The user's primary phone number |
photo | object | The user's profile picture represented as an Attachment object |
remote_photo_url | string | A URL pointing to the user's profile picture |
restricted_agent | boolean | If the agent has any restrictions |
role_type | integer | The user's role id |
shared | boolean | If the user is shared from a different Zendesk Support instance |
shared_agent | boolean | If the user is a shared agent from a different Zendesk Support instance |
shared_phone_number | boolean | Whether the phone number is shared or not |
signature | string | The user's signature |
suspended | boolean | If the agent is suspended |
tags | array | The user's tags |
ticket_restriction | string | Specifies which tickets the user has access to |
two_factor_auth_enabled | boolean | If two factor authentication is enabled |
url | string | The user's API url |
user_fields | object | Values of custom fields in the user's profile |
verified | boolean | Any of the user's identities is verified |
The Zendesk Support API provides several filtering options to refine user queries.
Parameter | Type | Description | Example |
---|---|---|---|
role
|
string | Filters the results by role. Possible values are "end-user", "agent", or "admin". |
role=agent
|
external_id
|
string | List users by external id. External id has to be unique for each user under the same account. |
external_id=abc124
|
Here are some common pitfalls and important considerations when working with the Users API.
Some fields like id
and created_at
are immutable and cannot be changed once set.
When creating a user, if the primary email address is not verified, the secondary email address is used.
Certain operations are restricted based on user roles. For instance, only admins can delete users.
Be mindful of API rate limits, especially when performing bulk operations like user creation or deletion.
Here are some frequently asked questions about the Zendesk Support Users API and their solutions.
query
parameter in the /api/v2/users/search
endpoint to find a user by email. For example, query="email:user@example.com"
.
role
field specifies the user's general role (e.g., 'agent', 'admin'), while role_type
provides more granular role information, such as specific agent types.
/api/v2/users/{user_id}/identities
endpoints. You can create, update, and verify identities using these endpoints.