{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "User",
  "type": "object",
  "description": "A Zendesk user representing an end user, agent, or admin in the account.",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Automatically assigned user ID."
    },
    "url": {
      "type": "string",
      "description": "The API URL of the user."
    },
    "name": {
      "type": "string",
      "description": "The name of the user."
    },
    "email": {
      "type": "string",
      "description": "The primary email address of the user."
    },
    "phone": {
      "type": "string",
      "description": "The primary phone number of the user."
    },
    "photo": {
      "type": "object",
      "description": "The user's profile photo."
    },
    "locale_id": {
      "type": "integer",
      "description": "The locale ID of the user."
    },
    "locale": {
      "type": "string",
      "description": "The locale of the user (e.g., en-US)."
    },
    "time_zone": {
      "type": "string",
      "description": "The time zone of the user."
    },
    "organization_id": {
      "type": "integer",
      "description": "The ID of the user's default organization."
    },
    "role": {
      "type": "string",
      "description": "The role of the user."
    },
    "custom_role_id": {
      "type": "integer",
      "description": "The custom role ID for agents with custom roles."
    },
    "verified": {
      "type": "boolean",
      "description": "Whether the user's identity has been verified."
    },
    "external_id": {
      "type": "string",
      "description": "An external ID for the user from an integrated system."
    },
    "tags": {
      "type": "array",
      "description": "Tags applied to the user."
    },
    "alias": {
      "type": "string",
      "description": "An alias displayed instead of the agent's name."
    },
    "active": {
      "type": "boolean",
      "description": "Whether the user account is active."
    },
    "shared": {
      "type": "boolean",
      "description": "Whether the user is shared from a different Zendesk Support instance."
    },
    "shared_agent": {
      "type": "boolean",
      "description": "Whether the user is a shared agent from a different instance."
    },
    "shared_phone_number": {
      "type": "boolean",
      "description": "Whether the phone number is shared."
    },
    "signature": {
      "type": "string",
      "description": "The signature text appended to the agent's comments."
    },
    "details": {
      "type": "string",
      "description": "Details about the user visible only to agents."
    },
    "notes": {
      "type": "string",
      "description": "Notes about the user visible only to agents."
    },
    "restricted_agent": {
      "type": "boolean",
      "description": "Whether the agent has restrictions (true for agents in a custom role with restrictions)."
    },
    "suspended": {
      "type": "boolean",
      "description": "Whether the user is suspended."
    },
    "default_group_id": {
      "type": "integer",
      "description": "The default group ID for the agent."
    },
    "report_csv": {
      "type": "boolean",
      "description": "Whether the user can access the CSV report."
    },
    "only_private_comments": {
      "type": "boolean",
      "description": "Whether the user can only create private comments (for restricted end users)."
    },
    "ticket_restriction": {
      "type": "string",
      "description": "The ticket access restriction for the agent."
    },
    "moderator": {
      "type": "boolean",
      "description": "Whether the user has community moderator privileges."
    },
    "chat_only": {
      "type": "boolean",
      "description": "Whether the user is a chat-only agent."
    },
    "two_factor_auth_enabled": {
      "type": "boolean",
      "description": "Whether two-factor authentication is enabled."
    },
    "user_fields": {
      "type": "object",
      "description": "Custom user field values (key-value pairs)."
    },
    "last_login_at": {
      "type": "string",
      "description": "The last time the user signed in (ISO 8601)."
    },
    "created_at": {
      "type": "string",
      "description": "When the user was created (ISO 8601)."
    },
    "updated_at": {
      "type": "string",
      "description": "When the user was last updated (ISO 8601)."
    }
  }
}