Documentation Index
Fetch the complete documentation index at: https://docs.pickupbell.com/llms.txt
Use this file to discover all available pages before exploring further.
1. Create an API key
In the dashboard: Settings → API & MCP → Create key.
- Give it a label (e.g.
Zapier production).
- Pick the minimum scopes your integration needs. For the examples below,
locations:read, calls:read, and leads:read are enough.
- Click Create key.
The full secret (550e8400-e29b-41d4-a716-446655440000) is shown exactly once. Copy it into your secret manager before dismissing the modal — there is no way to recover it later. The key prefix (first 16 chars) stays visible in the dashboard so you can identify the key after the fact.
Never commit a 550e8400-e29b-41d4-a716-446655440000 secret to source control. Never ship it in client-side code. If an API key leaks, revoke it from the dashboard — any integration using it stops instantly.
2. Make a request
API keys are location-scoped. Every call authenticates with:
Authorization: Bearer 550e8400-e29b-41d4-a716-446655440000
curl https://api.pickupbell.com/api/v1/locations \
-H "Authorization: Bearer 550e8400-e29b-41d4-a716-446655440000"
You get back one location — the one the key was minted under:
{
"data": [
{
"id": "5e9a7b21-…",
"slug": "premier-hvac",
"name": "Premier HVAC & Cooling",
"timezone": "America/Chicago",
"industry": "hvac_residential",
"pickupbell_phone": "+15125559876",
"service_areas": ["Austin", "Round Rock", "Cedar Park"]
}
]
}
3. List recent calls
curl "https://api.pickupbell.com/api/v1/locations/premier-hvac/calls?limit=5" \
-H "Authorization: Bearer 550e8400-e29b-41d4-a716-446655440000"
{
"data": [
{
"id": "8a3f9d21-…",
"caller_phone": "***-***-0142",
"caller_name": "Sarah Chen",
"outcome": "transferred",
"urgency_level": 5,
"is_emergency": true,
"duration_sec": 252,
"service_type": "AC repair",
"issue_summary": "AC not cooling, 98° out, toddler in home",
"estimated_value": 2800,
"started_at": "2026-04-22T14:47:12Z"
}
]
}
Notice the masked phone (***-***-0142). That’s the PII scrubber at work — see PII scrubbing. Add the scopes transcripts:read and recordings:read to your key to fetch full transcripts and recording URLs.
4. Subscribe to webhooks
If you’d rather be pushed to than polled, see Webhooks. The post-call webhook fires within ~2s of every call ending.
5. Or: use the MCP server
If you just want Claude to do the work, skip the REST docs and head to MCP overview. The same key works with either.