Capability / phone
AgentPhone
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.
Payment protocol
x402
Payment protocol
mpp
What your agent can do
22 available endpoints
POST/v1/agents0 USDC
/v1/agentsCreate 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
/v1/agents/{agent_id}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
/v1/agents/{agent_id}Delete an agent.
Permanently deletes the agent.
{
"path": {
"agent_id": "string"
}
}GET/v1/agents/{agent_id}0 USDC
/v1/agents/{agent_id}Get agent details.
Replace {agent_id}. Returns agent details.
{
"path": {
"agent_id": "string"
}
}GET/v1/agents/{agent_id}/calls0 USDC
/v1/agents/{agent_id}/callsList calls for an agent.
Returns all calls handled by this agent.
{
"path": {
"agent_id": "string"
}
}GET/v1/agents/{agent_id}/conversations0 USDC
/v1/agents/{agent_id}/conversationsList conversations for an agent.
Returns all conversations for this agent.
{
"path": {
"agent_id": "string"
}
}POST/v1/agents/{agent_id}/numbers0 USDC
/v1/agents/{agent_id}/numbersAttach 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
/v1/agents/{agent_id}/numbers/{number_id}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}/webhook0 USDC
/v1/agents/{agent_id}/webhookCreate 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}/webhook0 USDC
/v1/agents/{agent_id}/webhookDelete webhook for an agent.
Removes the webhook.
{
"path": {
"agent_id": "string"
}
}GET/v1/agents/{agent_id}/webhook0 USDC
/v1/agents/{agent_id}/webhookGet webhook for an agent.
Returns webhook configuration.
{
"path": {
"agent_id": "string"
}
}GET/v1/agents/{agent_id}/webhook/deliveries0 USDC
/v1/agents/{agent_id}/webhook/deliveriesList webhook deliveries.
Returns webhook delivery history.
{
"path": {
"agent_id": "string"
}
}POST/v1/agents/{agent_id}/webhook/test0 USDC
/v1/agents/{agent_id}/webhook/testTest webhook delivery.
Sends a test event to the configured webhook.
{
"path": {
"agent_id": "string"
}
}POST/v1/calls0-500000 USDC
/v1/callsMake 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/web0-500000 USDC
/v1/calls/webMake 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/conversations0 USDC
/v1/conversationsList all conversations.
Returns all conversations.
GET/v1/conversations/{conversation_id}0 USDC
/v1/conversations/{conversation_id}Get a conversation.
Returns conversation details.
{
"path": {
"conversation_id": "string"
}
}GET/v1/conversations/{conversation_id}/messages0 USDC
/v1/conversations/{conversation_id}/messagesGet messages in a conversation.
Returns all messages in the conversation.
{
"path": {
"conversation_id": "string"
}
}POST/v1/numbers100000 USDC
/v1/numbersPurchase 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
/v1/numbers/{number_id}Release a phone number.
Releases the phone number.
{
"path": {
"number_id": "string"
}
}GET/v1/numbers/{number_id}/calls0 USDC
/v1/numbers/{number_id}/callsList calls for a number.
Returns all calls for this number.
{
"path": {
"number_id": "string"
}
}GET/v1/numbers/{number_id}/messages0 USDC
/v1/numbers/{number_id}/messagesList messages for a number.
Returns all messages for this number.
{
"path": {
"number_id": "string"
}
}