All services

Service

AgentPhone

phone22 endpoints
Docs

AgentPhone provides phone infrastructure for AI agents. Get phone numbers, make and receive calls, manage conversations and messages — all via x402 payments. Agents can provision their own phone numbers for signups, verification, and communication.

x402

basesolana

mpp

tempo

Methods

22 methods available

OpenAPI
POST/v1/agents
0 USDC

Create a phone agent.

POST JSON body. Creates an agent that can handle calls. Returns agent_id.

{
  "body": {
    "name": "string (optional)",
    "instructions": "string (optional, system prompt for the agent)",
    "voice": "string (optional)"
  }
}
PATCH/v1/agents/{agent_id}
0 USDC

Update an agent.

PATCH JSON body with fields to update.

{
  "path": {
    "agent_id": "string"
  },
  "body": {
    "name": "string (optional)",
    "instructions": "string (optional)",
    "voice": "string (optional)"
  }
}
DELETE/v1/agents/{agent_id}
0 USDC

Delete an agent.

Permanently deletes the agent.

{
  "path": {
    "agent_id": "string"
  }
}
GET/v1/agents/{agent_id}
0 USDC

Get agent details.

Replace {agent_id}. Returns agent details.

{
  "path": {
    "agent_id": "string"
  }
}
GET/v1/agents/{agent_id}/calls
0 USDC

List calls for an agent.

Returns all calls handled by this agent.

{
  "path": {
    "agent_id": "string"
  }
}
GET/v1/agents/{agent_id}/conversations
0 USDC

List conversations for an agent.

Returns all conversations for this agent.

{
  "path": {
    "agent_id": "string"
  }
}
POST/v1/agents/{agent_id}/numbers
0 USDC

Attach a phone number to an agent.

Attach an existing phone number to this agent so it can receive calls.

{
  "path": {
    "agent_id": "string"
  },
  "body": {
    "number_id": "string (required)"
  }
}
DELETE/v1/agents/{agent_id}/numbers/{number_id}
0 USDC

Detach a phone number from an agent.

Removes the number from this agent.

{
  "path": {
    "agent_id": "string",
    "number_id": "string"
  }
}
POST/v1/agents/{agent_id}/webhook
0 USDC

Create a webhook for an agent.

Set up a webhook URL for agent events.

{
  "path": {
    "agent_id": "string"
  },
  "body": {
    "url": "string (required)"
  }
}
DELETE/v1/agents/{agent_id}/webhook
0 USDC

Delete webhook for an agent.

Removes the webhook.

{
  "path": {
    "agent_id": "string"
  }
}
GET/v1/agents/{agent_id}/webhook
0 USDC

Get webhook for an agent.

Returns webhook configuration.

{
  "path": {
    "agent_id": "string"
  }
}
GET/v1/agents/{agent_id}/webhook/deliveries
0 USDC

List webhook deliveries.

Returns webhook delivery history.

{
  "path": {
    "agent_id": "string"
  }
}
POST/v1/agents/{agent_id}/webhook/test
0 USDC

Test webhook delivery.

Sends a test event to the configured webhook.

{
  "path": {
    "agent_id": "string"
  }
}
POST/v1/calls
0-500000 USDC

Make a phone call with x402 upto settlement or MPP session billing.

POST JSON body. Initiates an outbound call and returns call_id. x402 authorizes up to 0.50 USDC with deferred settlement; MPP uses session billing for call usage.

{
  "body": {
    "to": "string (required, phone number)",
    "from": "string (optional, your number_id)",
    "agent_id": "string (optional)",
    "prompt": "string (optional)"
  }
}
POST/v1/calls/web
0-500000 USDC

Make a web call (WebRTC) with x402 upto settlement or MPP session billing.

POST JSON body. Creates a WebRTC call session. x402 authorizes up to 0.50 USDC with deferred settlement; MPP uses session billing for call usage.

{
  "body": {
    "agent_id": "string (optional)",
    "prompt": "string (optional)"
  }
}
GET/v1/conversations
0 USDC

List all conversations.

Returns all conversations.

GET/v1/conversations/{conversation_id}
0 USDC

Get a conversation.

Returns conversation details.

{
  "path": {
    "conversation_id": "string"
  }
}
GET/v1/conversations/{conversation_id}/messages
0 USDC

Get messages in a conversation.

Returns all messages in the conversation.

{
  "path": {
    "conversation_id": "string"
  }
}
POST/v1/numbers
100000 USDC

Purchase a phone number.

POST JSON body. Purchases a phone number. Returns number_id and the phone number.

{
  "body": {
    "country": "string (optional, ISO country code, default 'US')",
    "area_code": "string (optional)"
  }
}
DELETE/v1/numbers/{number_id}
0 USDC

Release a phone number.

Releases the phone number.

{
  "path": {
    "number_id": "string"
  }
}
GET/v1/numbers/{number_id}/calls
0 USDC

List calls for a number.

Returns all calls for this number.

{
  "path": {
    "number_id": "string"
  }
}
GET/v1/numbers/{number_id}/messages
0 USDC

List messages for a number.

Returns all messages for this number.

{
  "path": {
    "number_id": "string"
  }
}