{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "account_id": {
      "type": "integer"
    },
    "availability_status": {
      "type": "string",
      "enum": [
        "online",
        "busy",
        "offline"
      ],
      "readOnly": true,
      "description": "The effective availability status of the agent, derived from the configured availability, auto-offline setting, and current presence. To update an agent's configured availability, use the availability field in create or update requests."
    },
    "auto_offline": {
      "type": "boolean",
      "description": "Whether the agent is automatically marked offline when they are away."
    },
    "confirmed": {
      "type": "boolean",
      "description": "Whether the agent has confirmed their email address."
    },
    "email": {
      "type": "string",
      "description": "The email of the agent"
    },
    "available_name": {
      "type": "string",
      "description": "The available name of the agent"
    },
    "name": {
      "type": "string",
      "description": "The name of the agent"
    },
    "role": {
      "type": "string",
      "enum": [
        "agent",
        "administrator"
      ],
      "description": "The role of the agent"
    },
    "thumbnail": {
      "type": "string",
      "description": "The thumbnail of the agent"
    },
    "custom_role_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "The custom role id of the agent"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/chatwoot/main/json-schema/agent.json",
  "title": "Agent",
  "description": "Chatwoot Agent schema"
}