Amigo · Schema
CreateOutboundCallRequest
Request body for creating an outbound call. ``use_case_id`` is required: channel-manager selects the optimal outbound phone number bound to that use case (the sole caller-ID resolution path).
CompanyArtificial IntelligenceHealthcareAI AgentsVoiceClinicalConversational AIFHIRElectronic Health RecordsHIPAA
Properties
| Name | Type | Description |
|---|---|---|
| phone_to | object | Destination phone number in E.164 format. |
| use_case_id | string | Channel-manager use case ID. channel-manager selects the optimal outbound phone number bound to this use case. |
| patient_entity_id | object | Patient entity UUID in the world model. Must exist in workspace as a person entity. Provide either patient_entity_id or patient_canonical_id. |
| patient_canonical_id | object | Patient world model canonical_id of the form 'source:resource_type:id' (e.g. 'charmhealth:Patient:67890'). The structural regex on CanonicalIdString rejects spaces, names, DOBs, and similar regulated |
| reason | object | Why the call is being made (e.g. appointment_reminder, follow_up, lab_results). |
| service_id | object | Service ID for the voice agent to use. |
| system_prompt | object | Optional system prompt override for this call. |
| goal | object | What the call should accomplish. Injected into agent context. |
| tags | object | Classification tags for analytics. |
| metadata | object | Arbitrary key-value pairs for external system correlation. |
| derived_from_call_sid | object | Prior call_sid if this is a callback from a previous call. |
| idempotency_key | object | Client-provided idempotency key. Auto-generated if omitted. |
| outbound_task_entity_id | object | World model outbound_task entity ID for completion feedback. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/amigo/main/json-schema/amigo-create-outbound-call-request-schema.json",
"title": "CreateOutboundCallRequest",
"description": "Request body for creating an outbound call.\n\n``use_case_id`` is required: channel-manager selects the optimal outbound\nphone number bound to that use case (the sole caller-ID resolution path).",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/amigo-calls-api-openapi.yml#/components/schemas/CreateOutboundCallRequest",
"properties": {
"phone_to": {
"$ref": "#/$defs/PhoneE164",
"description": "Destination phone number in E.164 format."
},
"use_case_id": {
"type": "string",
"format": "uuid",
"title": "Use Case Id",
"description": "Channel-manager use case ID. channel-manager selects the optimal outbound phone number bound to this use case."
},
"patient_entity_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Patient Entity Id",
"description": "Patient entity UUID in the world model. Must exist in workspace as a person entity. Provide either patient_entity_id or patient_canonical_id."
},
"patient_canonical_id": {
"anyOf": [
{
"$ref": "#/$defs/CanonicalIdString"
},
{
"type": "null"
}
],
"description": "Patient world model canonical_id of the form 'source:resource_type:id' (e.g. 'charmhealth:Patient:67890'). The structural regex on CanonicalIdString rejects spaces, names, DOBs, and similar regulated content so PHI cannot leak into audit events or pipeline projections. The raw value is deliberately not recorded in the outbound.initiated event — correlation back to the source system is via the resolved entity_id joined to world.entities_synced.canonical_id. Resolved against the SDP-projected world.entities_synced table; an entity created moments ago may not yet be visible if the projection is lagging. Provide either patient_entity_id or patient_canonical_id, not both."
},
"reason": {
"$ref": "#/$defs/NameString",
"description": "Why the call is being made (e.g. appointment_reminder, follow_up, lab_results)."
},
"service_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Service Id",
"description": "Service ID for the voice agent to use."
},
"system_prompt": {
"anyOf": [
{
"type": "string",
"maxLength": 10000
},
{
"type": "null"
}
],
"title": "System Prompt",
"description": "Optional system prompt override for this call."
},
"goal": {
"anyOf": [
{
"$ref": "#/$defs/DescriptionString"
},
{
"type": "null"
}
],
"description": "What the call should accomplish. Injected into agent context."
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array",
"maxItems": 10
},
{
"type": "null"
}
],
"title": "Tags",
"description": "Classification tags for analytics."
},
"metadata": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Metadata",
"description": "Arbitrary key-value pairs for external system correlation."
},
"derived_from_call_sid": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
],
"title": "Derived From Call Sid",
"description": "Prior call_sid if this is a callback from a previous call."
},
"idempotency_key": {
"anyOf": [
{
"type": "string",
"maxLength": 128
},
{
"type": "null"
}
],
"title": "Idempotency Key",
"description": "Client-provided idempotency key. Auto-generated if omitted."
},
"outbound_task_entity_id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Outbound Task Entity Id",
"description": "World model outbound_task entity ID for completion feedback."
}
},
"type": "object",
"required": [
"phone_to",
"use_case_id",
"reason"
],
"$defs": {
"CanonicalIdString": {
"type": "string",
"maxLength": 256,
"minLength": 3,
"pattern": "^[A-Za-z0-9._-]+:[A-Za-z0-9._-]+:[A-Za-z0-9._-]+$"
},
"DescriptionString": {
"type": "string",
"maxLength": 2000
},
"NameString": {
"type": "string",
"maxLength": 256,
"minLength": 1
},
"PhoneE164": {
"type": "string",
"maxLength": 16,
"minLength": 2
}
}
}
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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/amigo-create-outbound-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.