Simple AI · Schema

Call Request

Request to initiate an AI phone call

AIVoiceTelephonySaaSAutomationContactCenter

Properties

Name Type Description
to_number string The phone number to call in E.164 format
from_number_id string The UUID of the phone number to use for the outbound call. If not provided, a phone number will be automatically selected.
record boolean Whether to record the call or not
language string Language code for the call, such as `en` or `es`. Defaults to the agent's language when `agent_id` is provided, otherwise `en`.
prompt object The prompt to use for the AI call. Required if agent_id is not provided
boost_keywords object Keywords to emphasize during the conversation
agent_id object ID of the pre-configured agent to handle the call. Required if prompt is not provided. Cannot be used together with prompt or analyzers - use the agent's analyzers instead.
version_id object When using agent_id, specifies which agent version to use. If not provided, uses the most recently updated version.
params object Additional parameters to pass to the call. These will be substituted into the prompt for all keys with {{params.key}}
external_identifiers object External identifiers to associate with the call. These can be used to find the call later using the find_by_attribute endpoint.
analyzers object
voice_id object The UUID of the voice to use for this call. Overrides the agent's default voice when provided.
idempotency_key object Optional idempotency key for safe retries. Reusing the same key with the same JSON request body returns the original call response; reusing it with a different body returns 409 conflict.
View JSON Schema on GitHub

JSON Schema

simple-ai-call-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/simple-ai/json-schema/simple-ai-call-request-schema.json",
  "title": "Call Request",
  "description": "Request to initiate an AI phone call",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/simple-ai-openapi.json#/components/schemas/CallRequest",
  "properties": {
    "to_number": {
      "type": "string",
      "title": "To Number",
      "description": "The phone number to call in E.164 format"
    },
    "from_number_id": {
      "type": "string",
      "format": "uuid",
      "title": "Phone Number ID",
      "description": "The UUID of the phone number to use for the outbound call. If not provided, a phone number will be automatically selected."
    },
    "record": {
      "type": "boolean",
      "title": "Record",
      "description": "Whether to record the call or not",
      "default": false
    },
    "language": {
      "type": "string",
      "title": "Language",
      "description": "Language code for the call, such as `en` or `es`. Defaults to the agent's language when `agent_id` is provided, otherwise `en`."
    },
    "prompt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Prompt",
      "description": "The prompt to use for the AI call. Required if agent_id is not provided"
    },
    "boost_keywords": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Boost Keywords",
      "description": "Keywords to emphasize during the conversation"
    },
    "agent_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "Agent Id",
      "description": "ID of the pre-configured agent to handle the call. Required if prompt is not provided. Cannot be used together with prompt or analyzers - use the agent's analyzers instead."
    },
    "version_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "Version Id",
      "description": "When using agent_id, specifies which agent version to use. If not provided, uses the most recently updated version."
    },
    "params": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Params",
      "description": "Additional parameters to pass to the call. These will be substituted into the prompt for all keys with {{params.key}}"
    },
    "external_identifiers": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "External Identifiers",
      "description": "External identifiers to associate with the call. These can be used to find the call later using the find_by_attribute endpoint."
    },
    "analyzers": {
      "anyOf": [
        {
          "type": "array",
          "title": "Analyzers",
          "description": "List of analyzers to run after the call. Can only be provided when agent_id is not provided. If using an agent, use the agent's analyzers instead.",
          "items": {
            "type": "object",
            "required": [
              "prompt",
              "output_config"
            ],
            "properties": {
              "prompt": {
                "type": "string",
                "title": "Prompt",
                "description": "The prompt to use for analysis"
              },
              "output_config": {
                "type": "object",
                "title": "Output Config",
                "description": "Configuration for the expected output format",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "string",
                      "boolean",
                      "datetime",
                      "object"
                    ],
                    "description": "The type of output expected"
                  },
                  "properties": {
                    "type": "object",
                    "description": "Required when type is 'object'. Defines the structure of the object",
                    "additionalProperties": {
                      "type": "object",
                      "required": [
                        "type"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "string",
                            "boolean",
                            "datetime"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "voice_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "Voice Id",
      "description": "The UUID of the voice to use for this call. Overrides the agent's default voice when provided."
    },
    "idempotency_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Idempotency Key",
      "description": "Optional idempotency key for safe retries. Reusing the same key with the same JSON request body returns the original call response; reusing it with a different body returns 409 conflict."
    }
  },
  "type": "object",
  "required": [
    "to_number"
  ],
  "oneOf": [
    {
      "required": [
        "prompt"
      ],
      "not": {
        "required": [
          "agent_id"
        ]
      }
    },
    {
      "required": [
        "agent_id"
      ],
      "not": {
        "anyOf": [
          {
            "required": [
              "prompt"
            ]
          },
          {
            "required": [
              "analyzers"
            ]
          }
        ]
      }
    }
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/simple-ai-call-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.