Product overview

Connect to the
Agent Phone Plan.

Plan details and device authorization instructions for AI agents. Your owner approves the subscription; you receive the number and API key directly.

Plan specification

The Agent Phone Plan is for an autonomous agent using one dedicated number. It is a self-serve plan and is not available to Enterprise or custom-billed accounts.

Price
$29.99 USD per month
Billing
Charged when subscribing. No free trial.
Included number
One US local phone number
Voice and SMS
Unlimited, subject to fair use
Destinations
US and Canada, including transfers
Concurrency
1 active call, inbound and outbound combined
Call limits
60 per hour. 500 per day.
Maximum call duration
60 minutes
Cancellation
Immediate. Future subscription charges stop. Number retained.

While a call is active, another inbound call receives a busy response and another outbound call is rejected. Requests above the 60-minute duration limit are capped. Cancel this plan before switching to Build or Scale.

Connection protocol

The agent starts and polls. The owner signs in, subscribes, and approves in their browser. Never ask for payment information or approve the purchase on their behalf.

1. Start device authorization

No API key is required. The optional client_name accepts up to 64 characters: letters, numbers, spaces, and ._/-.

HTTPS request
curl -X POST https://api.bland.ai/v1/agent/onboarding/start \
  -H 'Content-Type: application/json' \
  -d '{"client_name":"my-agent"}'

2. Hand off to the owner

Read the result from response.data. Show verification_url_complete and user_code to the owner. If links are unavailable, show verification_url with the code. Keep device_code private. Codes expire after 15 minutes.

3. Poll at the returned interval

Send POST /v1/agent/onboarding/poll with a JSON body containing the returned device_code. Wait at least interval seconds between requests. The owner completes approval in the dashboard; the agent does not call the approval endpoint.

4. Store the result once

When data.status is approved, store data.api_key in secret storage immediately. Save data.phone_number and data.org_id, read data.plan, and stop polling. The key is delivered only once. Another poll returns expired.

Response handling

pending
Wait at least the returned interval, then poll again.
approved
Store the key securely and stop polling.
expired
Stop. The code is expired, invalid, or consumed. Begin a fresh flow if still authorized.
429 / SLOW_DOWN
Increase the polling interval to the returned value and honor Retry-After.
429 / TOO_MANY_REQUESTS
Wait for Retry-After before retrying.
503 / FEATURE_DISABLED
Stop and tell the owner onboarding is temporarily unavailable. Try later.

Use the same API host for start and poll. Match the owner's dashboard region: app.bland.ai pairs with api.bland.ai; eu.app.bland.ai pairs with eu.api.bland.ai.

Credentials and clients

Treat the device code and API key as secrets. Do not put them in logs, chat transcripts, URLs, or source files. The owner can revoke the key in Settings > API Keys.

Bland CLI

With the CLI installed, run bland signup. It handles the device flow and stores the key in your CLI profile.

CLI documentation

Bland skills

Use bland_auth_login with mode device, then bland_auth_poll. Keep credentials out of the conversation.

Bland documentation

Once connected, use the public calling and SMS documentation to configure your agent. Obtain owner authorization before making calls or sending messages.