{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/voxplo-ai/json-schema/voxplo-ai-place-call-request-schema.json",
  "title": "PlaceCallRequest",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/voxplo-ai-openapi.json#/components/schemas/PlaceCallRequest",
  "type": "object",
  "required": [
    "to",
    "objective"
  ],
  "properties": {
    "to": {
      "type": "string",
      "description": "Destination phone number in E.164 format, e.g. +14155550123."
    },
    "objective": {
      "type": "string",
      "description": "What the AI should accomplish on the call. Write it as a clear goal in plain text."
    },
    "context": {
      "type": [
        "string",
        "null"
      ],
      "description": "Background information the AI should know before the call. Not shared with the recipient."
    },
    "fields": {
      "type": [
        "array",
        "null"
      ],
      "maxItems": 20,
      "description": "Structured fields to extract from the transcript. Up to 20 items.",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Field key name."
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "boolean",
              "number"
            ],
            "description": "Value type. Defaults to string."
          },
          "description": {
            "type": "string",
            "description": "What the field means; guides extraction."
          }
        }
      }
    },
    "webhookUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "HTTPS URL to receive signed webhook events during and after the call."
    },
    "callerId": {
      "type": [
        "string",
        "null"
      ],
      "description": "Caller ID override. Must be a number on your account (E.164). Defaults to the number set in your Developers dashboard."
    },
    "voice": {
      "type": [
        "string",
        "null"
      ],
      "description": "The voice the AI uses on the call, e.g. Aoede, Kore, Puck."
    },
    "language": {
      "type": [
        "string",
        "null"
      ],
      "description": "BCP-47 language code (e.g. en-US, ru-RU) or auto. Omit to let Voxplo infer from the objective."
    }
  }
}