{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/zendesk/refs/heads/main/json-schema/zendesk-user-schema.json", "title": "Zendesk User", "description": "A Zendesk user representing an end user, agent, or admin in the Zendesk Support account. Users are the people who interact with the support system, whether they are customers submitting tickets, agents handling requests, or administrators managing the account. Each user has a role, identity information, and can belong to one or more organizations.", "type": "object", "properties": { "id": { "type": "integer", "format": "int64", "description": "Automatically assigned unique identifier for the user.", "readOnly": true }, "url": { "type": "string", "format": "uri", "description": "The API URL of the user resource.", "readOnly": true }, "name": { "type": "string", "description": "The full name of the user." }, "email": { "type": ["string", "null"], "format": "email", "description": "The primary email address of the user." }, "phone": { "type": ["string", "null"], "description": "The primary phone number of the user." }, "photo": { "type": ["object", "null"], "description": "The user's profile photo attachment.", "readOnly": true, "properties": { "id": { "type": "integer", "format": "int64" }, "file_name": { "type": "string" }, "content_url": { "type": "string", "format": "uri" }, "content_type": { "type": "string" }, "size": { "type": "integer", "description": "File size in bytes." }, "thumbnails": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "file_name": { "type": "string" }, "content_url": { "type": "string", "format": "uri" }, "content_type": { "type": "string" }, "size": { "type": "integer" } } } } } }, "locale_id": { "type": ["integer", "null"], "description": "The locale ID for the user, determining their language preferences." }, "locale": { "type": "string", "description": "The locale string of the user (e.g., en-US).", "readOnly": true }, "time_zone": { "type": ["string", "null"], "description": "The IANA time zone of the user (e.g., America/New_York)." }, "organization_id": { "type": ["integer", "null"], "format": "int64", "description": "The ID of the user's default organization." }, "role": { "type": "string", "enum": ["end-user", "agent", "admin"], "description": "The role of the user in the Zendesk account." }, "custom_role_id": { "type": ["integer", "null"], "format": "int64", "description": "The ID of the custom role for agents with non-default permissions." }, "verified": { "type": "boolean", "description": "Whether the user's primary identity (email or phone) has been verified." }, "external_id": { "type": ["string", "null"], "description": "An ID from an external system for cross-referencing users." }, "tags": { "type": "array", "items": { "type": "string" }, "description": "Tags applied to the user for segmentation and business rules." }, "alias": { "type": ["string", "null"], "description": "An alias displayed to end users instead of the agent's real name." }, "active": { "type": "boolean", "description": "Whether the user account is currently active.", "readOnly": true }, "shared": { "type": "boolean", "description": "Whether the user is shared from a different Zendesk Support instance.", "readOnly": true }, "shared_agent": { "type": "boolean", "description": "Whether the user is a shared agent from a different Zendesk Support instance.", "readOnly": true }, "shared_phone_number": { "type": ["boolean", "null"], "description": "Whether the user's phone number is shared with another user.", "readOnly": true }, "signature": { "type": ["string", "null"], "description": "The agent's signature text, appended to their comments." }, "details": { "type": ["string", "null"], "description": "Details about the user, visible only to agents." }, "notes": { "type": ["string", "null"], "description": "Internal notes about the user, visible only to agents." }, "restricted_agent": { "type": "boolean", "description": "Whether the agent has role-based restrictions.", "readOnly": true }, "suspended": { "type": "boolean", "description": "Whether the user account is suspended. Suspended users cannot sign in and their tickets are suspended." }, "default_group_id": { "type": ["integer", "null"], "format": "int64", "description": "The default group ID for the agent." }, "report_csv": { "type": "boolean", "description": "Whether the user has permission to access CSV reports.", "readOnly": true }, "only_private_comments": { "type": "boolean", "description": "Whether the user can only create private (internal) comments." }, "ticket_restriction": { "type": ["string", "null"], "enum": ["organization", "groups", "assigned", "requested", null], "description": "The scope of tickets the agent can access." }, "moderator": { "type": "boolean", "description": "Whether the user has moderator privileges in the community forums." }, "chat_only": { "type": "boolean", "description": "Whether the agent is limited to chat-only access.", "readOnly": true }, "two_factor_auth_enabled": { "type": ["boolean", "null"], "description": "Whether two-factor authentication is enabled for the user.", "readOnly": true }, "user_fields": { "type": "object", "additionalProperties": true, "description": "Custom user field values as key-value pairs. Keys are the field keys defined via the User Fields API." }, "last_login_at": { "type": ["string", "null"], "format": "date-time", "description": "The last time the user signed in, in ISO 8601 format.", "readOnly": true }, "created_at": { "type": "string", "format": "date-time", "description": "When the user was created, in ISO 8601 format.", "readOnly": true }, "updated_at": { "type": "string", "format": "date-time", "description": "When the user was last updated, in ISO 8601 format.", "readOnly": true } }, "required": ["id", "name", "role"] }