Developer guide / v1
Connect with confidence.
Provider prerequisites
- OpenAI project with
gpt-live-1access and organization-level outbound SIP enablement. - Telnyx API credentials, purchased voice-capable number,
sips:trunk with TLS, SRTP, compatible codecs and SIP digest authentication. - Validated deterministic carrier/session mapping and hangup on this exact outbound route. Number/time matching is not accepted.
- Magic-link email delivery through the verified Cloudflare sending domain. Email service errors fail safely.
REST quick start
Rotate a token in Settings after recent sign-in. It is shown once. Send bearer authentication and a unique idempotency key.
curl https://agentdial.app/api/v1/calls \
-H 'Authorization: Bearer YOUR_COPY_ONCE_TOKEN' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: deliberate-test-001' \
-d '{"to":"+14155550123","from":"+14155550100",
"prompt":"Disclose that you are AI. Ask about opening hours."}'A 202 is acceptance, not proof of dialing. Poll GET /api/v1/calls/:id. An uncertain create is never automatically retried. Reusing a key with a different request conflicts; mappings last at least 24 hours.
Defaults: Telnyx, marin, 30 connected minutes, no recording, no advanced Live options, store:false. Duration accepts inclusive 1–60, including fractional minutes rounded up to seconds. Prompts are capped at 32 KiB UTF-8.
Remote MCP
Configure a Streamable HTTP client with https://agentdial.app/mcp. Discover OAuth, sign in with a magic link, then approve requested scopes. Authorization code with S256 PKCE and the exact MCP resource is required. REST bearer headers are an additional explicit mode.
The official MCP SDK handles remote HTTP. Calls persist independently of the MCP connection. Use create_call, get_call, get_transcript and end_call. Management actions require recent browser sign-in. No customer callbacks or native MCP event extensions are enabled in v1.
Reference and compatibility
Machine-readable OpenAPI. OAuth provider 1.2.1, MCP SDK 1.27.1; SDK-supported protocol negotiation, tested at 2025-11-25. External client acceptance is pending; universal OAuth compatibility is not claimed.
Keyless local development
bun install bun run dev # Visit http://localhost:8787/login # Local inbox: /local/inbox # Use test OpenAI/Telnyx credentials (not real secrets). # Purchased test source: +14155550100
Local calls and transcripts are explicitly labeled simulations. Local adapters never activate in staging or production. See repository runbooks for gates, recovery, rotation and retention.