Skip to main content

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.

Inbound — received by PickupBell

These endpoints exist on the PickupBell platform. You don’t interact with them directly; they’re documented because they define the shape of the dataset everyone else reads.
EndpointSourceWhen it fires
POST /api/voice/inboundVoice providerBefore a call connects. PickupBell returns dynamic variables to the agent.
POST /api/voice/post-callVoice providerWhen a call ends. PickupBell persists the call, upserts customer, mints lead/booking, fans out notifications + outbound webhooks.
POST /api/billing/webhookPayments providerSubscription / invoice lifecycle events. Keeps the subscriptions table in sync.
See each page for the exact payload shape and the database writes it performs.

Outbound — sent by PickupBell to your endpoint

Register a webhook endpoint and PickupBell will POST signed JSON whenever the events you subscribed to occur. See Outbound webhooks for the full payload shape, signature verification, and retry behavior. Quick summary:
  • Create via POST /api/v1/locations/:id/webhook-endpoints (returns secret once) or Settings → API & MCP.
  • Subscribe to any of: call.ended, call.emergency, lead.created, lead.updated, booking.created, booking.updated, spam.blocked.
  • Every delivery is HMAC-SHA256-signed in pickupbell-signature.
  • Non-2xx / timeouts retry with exponential backoff (1m → 5m → 30m → 2h → 6h → 24h), then go to dead.
  • Inspect history via GET /api/v1/locations/:id/webhook-deliveries.

Notifications vs. webhooks

Different thing. Notifications (Slack post, SMS, email) are derived products of events — they consume the same signal a webhook would, but the recipient is a human (or a chat room). Configure them at Settings → Notifications. Delivery history is queryable via GET /api/v1/locations/:id/notifications?include=log for audit.