{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ivans/main/json-schema/ivans-agent-detail-schema.json",
  "title": "AgentDetail",
  "description": "Serializer for retrieving agent information.",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/ivans-identification-network-openapi.json#/components/schemas/AgentDetail",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "readOnly": true,
      "description": "The unique ID for the agent."
    },
    "externalId": {
      "type": "string",
      "readOnly": true,
      "description": "The integrator's ID for the agency."
    },
    "agency": {
      "type": "string",
      "format": "uuid",
      "readOnly": true,
      "description": "The ID of the agency that the agent belongs to."
    },
    "npn": {
      "type": "string",
      "readOnly": true,
      "description": "The NPN of the agent."
    },
    "firstName": {
      "type": "string",
      "readOnly": true,
      "description": "The first name of the agent."
    },
    "middleName": {
      "type": "string",
      "readOnly": true,
      "description": "The middle name of the agent."
    },
    "lastName": {
      "type": "string",
      "readOnly": true,
      "description": "The last name of the agent."
    },
    "email": {
      "type": "string",
      "format": "email",
      "readOnly": true,
      "description": "The email of the agent."
    },
    "isActive": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether the agent is active."
    },
    "isAdmin": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether the agent is an admin."
    },
    "isProducer": {
      "type": "boolean",
      "readOnly": true,
      "description": "Whether the agent is a producer."
    }
  },
  "required": [
    "agency",
    "email",
    "externalId",
    "firstName",
    "id",
    "isActive",
    "isAdmin",
    "isProducer",
    "lastName",
    "middleName",
    "npn"
  ]
}