Api Endpoint

Orthogonal

Make an outbound voice call

Open interactive test console

Offering

Provider
Orthogonal
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Infrastructure
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://np.orthogonal.com/agentphone/v1/calls
MIME type
application/json
First seen
2026-10-16T01:50:03.832Z
Last seen
Tags
X402, paid-api, orthogonal-proxy, agentphone, data-apis, voice, phone, sms, AI-agents, telephony

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.1 USDC
Atomic price: 100000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
100000 atomic units
Atomic price: 100000 · Network: eip155:5042 · Asset: 0x3600000000000000000000000000000000000000 · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "100000",
    "payTo": "0x0477aeC8513F73adfe6E3C813650b25a28Cba54A"
  },
  {
    "scheme": "exact",
    "network": "eip155:5042",
    "asset": "0x3600000000000000000000000000000000000000",
    "amount": "100000",
    "payTo": "0x0477aeC8513F73adfe6E3C813650b25a28Cba54A"
  }
]

Observed health

Status
Healthy
Latest latency
951 ms
Average latency
246 ms
HTTP status
204
Last checked
Reachability
100% over 12 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "body": {
    "type": "object",
    "title": "CreateOutboundCallRequest",
    "required": [
      "agentId",
      "toNumber"
    ],
    "properties": {
      "voice": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Voice",
        "description": "Voice ID override for this call (uses agent's configured voice if omitted)"
      },
      "agentId": {
        "type": "string",
        "title": "Agentid",
        "description": "Agent ID to make the call from"
      },
      "toNumber": {
        "type": "string",
        "title": "Tonumber",
        "description": "Phone number to call (E.164 format)"
      },
      "modelTier": {
        "enum": [
          "turbo",
          "balanced",
          "max"
        ],
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Modeltier",
        "description": "Optional model tier override for this call's built-in conversation. Only applies when ``systemPrompt`` is provided; defaults to the agent's configured modelTier."
      },
      "variables": {
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          {
            "type": "null"
          }
        ],
        "title": "Variables",
        "description": "Optional per-call dynamic variables. Values are substituted into ``{{var_name}}`` placeholders in the agent's system prompt and initial greeting at call time. Requires either ``systemPrompt`` or a hosted-mode agent."
      },
      "fromNumberId": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Fromnumberid",
        "description": "Optional phone number ID to use as caller ID. Must belong to the agent. If omitted, the agent's first assigned number is used."
      },
      "systemPrompt": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Systemprompt",
        "description": "When provided, uses a built-in LLM for the conversation instead of forwarding to a webhook. The prompt defines the AI's personality and conversation topic."
      },
      "initialGreeting": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Initialgreeting",
        "description": "Optional initial greeting to speak when recipient answers. Pass an empty string to have the agent stay silent and wait for the recipient to speak first."
      },
      "disableRecording": {
        "type": "boolean",
        "title": "Disablerecording",
        "default": false,
        "description": "When true, no audio recording is stored for this call. The transcript is still captured and available via the transcript endpoints and the agent.call_ended webhook. Useful for calls where a party has not consented to being recorded (e.g. two-party consent states)."
      },
      "callScreeningPurpose": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Callscreeningpurpose",
        "description": "For outbound calls that hit an automated call screener: the purpose the agent gives when asked why it is calling. Overrides the agent's stored default for this call."
      },
      "callScreeningIdentity": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "title": "Callscreeningidentity",
        "description": "For outbound calls that hit an automated call screener (e.g. iOS 26 Call Screening or Android Call Screen): the identity the agent gives when asked who is calling. Overrides the agent's stored default for this call. Both identity and purpose are required to enable screening; if only a purpose is set, the agent's name is used."
      }
    },
    "description": "Request model for creating an outbound call."
  },
  "type": "http",
  "method": "POST",
  "bodyType": "json"
}

Output schema

{}