Orthogonal Agent Phone API

The AgentPhone API from Orthogonal — 17 operation(s) for agentphone.

Operations 20

POST /agentphone/v0/agent/verify Verify OTP code. Atomically creates account, provisions phone number, creates starter agent, returns API key. No auth required. #
PATCH /agentphone/v1/agents/{agentId} Update agent fields. Only sent fields change. #
DELETE /agentphone/v1/agents/{agentId} Permanently delete an agent. Cannot be undone. #
GET /agentphone/v1/agents/{agentId} Get details for a specific agent. #
DELETE /agentphone/v1/agents/{agentId}/numbers/{numberId} Detach a phone number from an agent. #
GET /agentphone/v1/agents/voices List all available voices across providers (ElevenLabs, Cartesia, OpenAI, etc). #
POST /agentphone/v1/agents/{agentId}/webhook Set webhook URL for a specific agent. #
GET /agentphone/v1/agents/{agentId}/webhook Get webhook URL for a specific agent. #
POST /agentphone/v0/agent/sign-up Start agent signup. Sends a 6-digit OTP to the human's email. Returns a verification_id. No auth required. #
GET /agentphone/v1/calls/{callId} Get call details and transcript. Poll until status is completed or failed. #
GET /agentphone/v1/conversations/{conversationId} Get a conversation with all messages. #
GET /agentphone/v1/agents/{agentId}/conversations List SMS conversations for a specific agent. #
POST /agentphone/v1/agents Create a new agent with name, voice, system prompt, and voice mode. #
POST /agentphone/v1/numbers Buy a US or CA phone number. $3/month per number. #
POST /agentphone/v1/agents/{agentId}/numbers Attach a phone number to an agent. #
DELETE /agentphone/v1/numbers/{numberId} Release a phone number. Irreversible. #
GET /agentphone/v1/agents/{agentId}/calls List calls for a specific agent. #
GET /agentphone/v1/numbers/{numberId}/messages List messages for a phone number. #
POST /agentphone/v1/messages Send an SMS from an agent's phone number. First message compliance: Your initial SMS to any new contact must include (1) your brand name, (2) opt-in confirmation, and (3) opt-out i #
POST /agentphone/v1/calls Make an outbound voice call. Include systemPrompt for autonomous AI conversation, omit for webhook-driven mode. #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/orthogonal-agentphone-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

orthogonal-agentphone-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Orthogonal API Marketplace Agent Phone API
  version: 1.0.0
  description: Discoverable APIs payable over MPP (Machine Payments Protocol / Tempo), x402, and np (Circle Gateway Nanopayments, x402 v2).
servers:
- url: https://mpp.orthogonal.com
  description: MPP (Tempo) rail
- url: https://x402.orthogonal.com
  description: x402 rail
- url: https://np.orthogonal.com
  description: np (Circle Gateway, x402 v2) rail
tags:
- name: AgentPhone
paths:
  /agentphone/v0/agent/verify:
    post:
      operationId: agentphone_POST__v0_agent_verify
      summary: Verify OTP code. Atomically creates account, provisions phone number, creates starter agent, returns API key. No auth required.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/agents/{agentId}:
    patch:
      operationId: agentphone_PATCH__v1_agents_agentId_
      summary: Update agent fields. Only sent fields change.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
    delete:
      operationId: agentphone_DELETE__v1_agents_agentId_
      summary: Permanently delete an agent. Cannot be undone.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
    get:
      operationId: agentphone_GET__v1_agents_agentId_
      summary: Get details for a specific agent.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/agents/{agentId}/numbers/{numberId}:
    delete:
      operationId: agentphone_DELETE__v1_agents_agentId_numbers_numberId_
      summary: Detach a phone number from an agent.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/agents/voices:
    get:
      operationId: agentphone_GET__v1_agents_voices
      summary: List all available voices across providers (ElevenLabs, Cartesia, OpenAI, etc).
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/agents/{agentId}/webhook:
    post:
      operationId: agentphone_POST__v1_agents_agentId_webhook
      summary: Set webhook URL for a specific agent.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
    get:
      operationId: agentphone_GET__v1_agents_agentId_webhook
      summary: Get webhook URL for a specific agent.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v0/agent/sign-up:
    post:
      operationId: agentphone_POST__v0_agent_sign_up
      summary: Start agent signup. Sends a 6-digit OTP to the human's email. Returns a verification_id. No auth required.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/calls/{callId}:
    get:
      operationId: agentphone_GET__v1_calls_callId_
      summary: Get call details and transcript. Poll until status is completed or failed.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/conversations/{conversationId}:
    get:
      operationId: agentphone_GET__v1_conversations_conversationId_
      summary: Get a conversation with all messages.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/agents/{agentId}/conversations:
    get:
      operationId: agentphone_GET__v1_agents_agentId_conversations
      summary: List SMS conversations for a specific agent.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/agents:
    post:
      operationId: agentphone_POST__v1_agents
      summary: Create a new agent with name, voice, system prompt, and voice mode.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/numbers:
    post:
      operationId: agentphone_POST__v1_numbers
      summary: Buy a US or CA phone number. $3/month per number.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
        '402':
          description: Payment Required (x402 / MPP / np)
      x-payment-info:
        price: 3.5
        offers:
        - method: mpp
          intent: charge
          rail: tempo
          currency: USDC.e
          url: https://mpp.orthogonal.com/agentphone/v1/numbers
        - method: x402
          intent: charge
          rail: base
          currency: USDC
          url: https://x402.orthogonal.com/agentphone/v1/numbers
        - method: np
          intent: charge
          rail: base
          currency: USDC
          settlement: circle-gateway
          version: x402-v2
          url: https://np.orthogonal.com/agentphone/v1/numbers
  /agentphone/v1/agents/{agentId}/numbers:
    post:
      operationId: agentphone_POST__v1_agents_agentId_numbers
      summary: Attach a phone number to an agent.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/numbers/{numberId}:
    delete:
      operationId: agentphone_DELETE__v1_numbers_numberId_
      summary: Release a phone number. Irreversible.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/agents/{agentId}/calls:
    get:
      operationId: agentphone_GET__v1_agents_agentId_calls
      summary: List calls for a specific agent.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/numbers/{numberId}/messages:
    get:
      operationId: agentphone_GET__v1_numbers_numberId_messages
      summary: List messages for a phone number.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
  /agentphone/v1/messages:
    post:
      operationId: agentphone_POST__v1_messages
      summary: 'Send an SMS from an agent''s phone number. First message compliance: Your initial SMS to any new contact must include (1) your brand name, (2) opt-in confirmation, and (3) opt-out instructions (e.g., "Reply STOP to unsubscribe"). Non-compliant first messages may be silently filtered by carriers.'
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
        '402':
          description: Payment Required (x402 / MPP / np)
      x-payment-info:
        price: 0.03
        offers:
        - method: mpp
          intent: charge
          rail: tempo
          currency: USDC.e
          url: https://mpp.orthogonal.com/agentphone/v1/messages
        - method: x402
          intent: charge
          rail: base
          currency: USDC
          url: https://x402.orthogonal.com/agentphone/v1/messages
        - method: np
          intent: charge
          rail: base
          currency: USDC
          settlement: circle-gateway
          version: x402-v2
          url: https://np.orthogonal.com/agentphone/v1/messages
  /agentphone/v1/calls:
    post:
      operationId: agentphone_POST__v1_calls
      summary: Make an outbound voice call. Include systemPrompt for autonomous AI conversation, omit for webhook-driven mode.
      tags:
      - AgentPhone
      responses:
        '200':
          description: Successful response
        '402':
          description: Payment Required (x402 / MPP / np)
      x-payment-info:
        price: 0.1
        offers:
        - method: mpp
          intent: charge
          rail: tempo
          currency: USDC.e
          url: https://mpp.orthogonal.com/agentphone/v1/calls
        - method: x402
          intent: charge
          rail: base
          currency: USDC
          url: https://x402.orthogonal.com/agentphone/v1/calls
        - method: np
          intent: charge
          rail: base
          currency: USDC
          settlement: circle-gateway
          version: x402-v2
          url: https://np.orthogonal.com/agentphone/v1/calls
x-service-info:
  name: Orthogonal
  docs:
    llms: https://api.orthogonal.com/llms.txt
  protocols:
  - mpp
  - x402
  - np