Skip to main content

Quickstart

Five minutes from zero to a working AI receptionist that can take real calls.

1. Mint an API key

Sign in to Settings > Integrations and click Create API key. Copy the ar_live_... value; it is only shown once.

Test vs live

A sandbox mode is not yet available. Keys prefixed with ar_test_ currently behave exactly like live keys: they hit production, dial real phone numbers, and send real SMS. Do not point CI or load tests at this API with real phone numbers.

2. Create a receptionist

curl -X POST https://app.autorev.ai/api/v1/receptionists \
-H "Authorization: Bearer ar_live_..." \
-H "Content-Type: application/json" \
-d '{
"business_name": "Acme HVAC",
"industry": "hvac"
}'

The response is 202 Accepted with an id and status: "provisioning":

{
"id": "uuid",
"status": "provisioning",
"created_at": "2026-03-11T12:00:00Z"
}

Provisioning takes 10-30 seconds.

3. Wait until ready

Either poll GET /api/v1/receptionists/:id until status is active, or register a webhook for the receptionist.ready event.

curl https://app.autorev.ai/api/v1/receptionists/RECEPTIONIST_ID \
-H "Authorization: Bearer ar_live_..."

4. Place a test call

curl -X POST https://app.autorev.ai/api/v1/receptionists/RECEPTIONIST_ID/calls \
-H "Authorization: Bearer ar_live_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: test-call-001" \
-d '{
"to": "+12125551234",
"purpose": "demo_call"
}'

The receptionist dials the number, runs its playbook, and streams results via webhook. Poll GET /api/v1/receptionists/:id/calls/:callId for the transcript, recording, and structured outcome.

5. Iterate

Use PATCH /api/v1/receptionists/:id to update the greeting, system prompt, voice, calendar, or webhook URL. Changes are live on the next call.

curl -X PATCH https://app.autorev.ai/api/v1/receptionists/RECEPTIONIST_ID \
-H "Authorization: Bearer ar_live_..." \
-H "Content-Type: application/json" \
-d '{
"voice": { "greeting": "Hi, thanks for calling Acme!" }
}'

Next steps