{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/agentline-cloud/json-schema/agentline-cloud-agent-out-schema.json",
  "title": "AgentOut",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/agentline-cloud-openapi.json#/components/schemas/AgentOut",
  "properties": {
    "id": {
      "type": "string",
      "title": "Id",
      "description": "Unique agent identifier (e.g. 'agt_abc123')"
    },
    "account_id": {
      "type": "string",
      "title": "Account Id",
      "description": "Account that owns this agent"
    },
    "name": {
      "type": "string",
      "title": "Name",
      "description": "Display name of the AI voice agent"
    },
    "system_prompt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "System Prompt",
      "description": "Default system prompt for all calls (can be overridden per-call)"
    },
    "initial_greeting": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Initial Greeting",
      "description": "Default greeting for all calls (can be overridden per-call)"
    },
    "voice_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Id",
      "description": "Voice the agent speaks with (voice_id or legacy preset name)"
    },
    "speech_language": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Speech Language",
      "description": "Pinned speech locale, or null for multilingual auto-detection"
    },
    "speaking_speed": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Speaking Speed",
      "description": "Speaking pace multiplier; null means the natural pace (1.0)"
    },
    "transfer_number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Transfer Number",
      "description": "Always the owner phone. Live calls transfer only here."
    },
    "voicemail_message": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voicemail Message",
      "description": "Message left on voicemail"
    },
    "owner_phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Owner Phone",
      "description": "Owner's phone number for task mode and the only live-call transfer destination"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "title": "Created At",
      "description": "When the agent was created"
    }
  },
  "type": "object",
  "required": [
    "id",
    "account_id",
    "name",
    "created_at"
  ]
}