
Phone call API for AI agents. POST a US or Canadian number and an objective, get back transcript, summary, structured outcome, and recording as JSON.
{
"score": 68,
"tier": "Verified",
"history": [
{
"date": "2026-04-06",
"score": 68,
"tier": "Verified",
"summary": "Initial evaluation. Excellent documentation, structured errors with agent-friendly 402 handling, and a dedicated skills.md entrypoint held back by human-gated onboarding and a polling-only result model with no webhooks."
}
],
"breakdown": [
{
"index": "01",
"criterion": "Machine Authentication",
"score": 20,
"max": 20,
"note": "Clean x-api-key header auth (ak_live_...), no OAuth or browser redirect required. The skills.md explicitly documents auth as x-api-key from AGENTPHONE_API_KEY, following standard agent env var conventions."
},
{
"index": "02",
"criterion": "Autonomous Onboarding",
"score": 10,
"max": 20,
"note": "Free tier with no credit card required, but account creation still requires human signup at /auth/login. No programmatic onboarding path found."
},
{
"index": "03",
"criterion": "MCP Support",
"score": 8,
"max": 20,
"note": "A skills.md descriptor is prominently featured via a dedicated \"I'm an Agent\" homepage entrypoint, providing a structured machine-readable API spec. No MCP endpoint or npm package available."
},
{
"index": "04",
"criterion": "API Documentation Quality",
"score": 10,
"max": 10,
"note": "OpenAPI spec, skills.md (llms.txt equivalent), multi-language examples, full error code taxonomy, lifecycle states, and retry semantics all clearly documented."
},
{
"index": "05",
"criterion": "Real-Time Event Delivery",
"score": 0,
"max": 15,
"note": "Polling-only architecture. No webhooks or push event mechanism — agents must repeatedly GET /calls/:id until status changes."
},
{
"index": "06",
"criterion": "Structured Error Responses",
"score": 10,
"max": 10,
"note": "Consistent JSON {error, code} envelope with 11 named error codes, Retry-After on 429, buy_credits_url in 402 responses (a Stripe link agents can surface to users), and unsupported_region documenting the US/Canada-only constraint so agents can fail gracefully."
},
{
"index": "07",
"criterion": "Security Posture",
"score": 7,
"max": 10,
"note": "HTTPS enforced, rate limiting documented at 10 calls/min with Retry-After header. No mention of API key scoping, rotation policy, or audit logs."
},
{
"index": "08",
"criterion": "Response Consistency",
"score": 3,
"max": 5,
"note": "Versioned at /api/v1/ with consistent {data: {...}} response envelope throughout. No changelog or deprecation policy documented."
}
]
}null
Initial evaluation. Excellent documentation, structured errors with agent-friendly 402 handling, and a dedicated skills.md entrypoint held back by human-gated onboarding and a polling-only result model with no webhooks.
Clean x-api-key header auth (ak_live_...), no OAuth or browser redirect required. The skills.md explicitly documents auth as x-api-key from AGENTPHONE_API_KEY, following standard agent env var conventions.
Free tier with no credit card required, but account creation still requires human signup at /auth/login. No programmatic onboarding path found.
A skills.md descriptor is prominently featured via a dedicated "I'm an Agent" homepage entrypoint, providing a structured machine-readable API spec. No MCP endpoint or npm package available.
OpenAPI spec, skills.md (llms.txt equivalent), multi-language examples, full error code taxonomy, lifecycle states, and retry semantics all clearly documented.
Polling-only architecture. No webhooks or push event mechanism — agents must repeatedly GET /calls/:id until status changes.
Consistent JSON {error, code} envelope with 11 named error codes, Retry-After on 429, buy_credits_url in 402 responses (a Stripe link agents can surface to users), and unsupported_region documenting the US/Canada-only constraint so agents can fail gracefully.
HTTPS enforced, rate limiting documented at 10 calls/min with Retry-After header. No mention of API key scoping, rotation policy, or audit logs.
Versioned at /api/v1/ with consistent {data: {...}} response envelope throughout. No changelog or deprecation policy documented.