API quickstart
The BizRnR Public API gives you programmatic access to leads, conversations, contacts, calls, and webhooks. It's a REST API with stable v1 endpoints, scoped API keys, cursor pagination, and rate limits documented per endpoint. This article gets you to your first successful call in about five minutes.
What you need
- An API-enabled BizRnR account. API access is generally an Enterprise or contracted capability, not part of the current self-serve AI Receptionist plan.
- A terminal with
curl(or Postman, Insomnia, your language of choice — anything that can make HTTPS requests).
Step 1 — Create an API key
- Open the dashboard, click your initials in the top right, then Settings → API keys.
- Click Create new key.
- Choose a name ("Production sync", "Staging integration", etc.) and the scopes the key needs. Use the narrowest set that works —
leads:readis safer thanleads:read,leads:write,calls:readif you only need to pull leads. - Click Create. The key is shown once — copy it now. We hash and store the key, so we cannot recover it later. If you lose it, revoke and re-issue.
Keys look like bk_live_<32 chars>. Treat them like a password. Never commit to a public repo, never paste into a Slack thread, never embed in a frontend bundle.
Step 2 — Make your first call
The simplest endpoint that proves your key works is /v1/me:
curl https://api.bizrnr.com/v1/me \
-H "Authorization: Bearer bk_live_YOUR_KEY"Successful response:
{
"tenant_id": "tnt_abc123",
"tier": "ignite",
"rate_limit": {
"limit": 100,
"remaining": 99,
"reset_at": "2026-04-26T20:00:00Z"
}
}If you get 401 Unauthorized, double-check the Bearer prefix and that you copied the full key including the bk_live_ prefix. If you get 403 Forbidden, the key doesn't have the scope this endpoint requires — re-issue with me:read.
Step 3 — List your leads
curl "https://api.bizrnr.com/v1/leads?limit=10" \
-H "Authorization: Bearer bk_live_YOUR_KEY"Response:
{
"data": [
{
"id": "lead_xyz",
"name": "Jane Smith",
"phone": "+15551234567",
"status": "qualified",
"score": 0.82,
"created_at": "2026-04-25T15:30:00Z"
}
],
"next_cursor": "eyJpZCI6Imxl..."
}To page through more results, pass ?cursor=<next_cursor> on the next request. We use cursor pagination (not offsets) so adding a new lead mid-pagination doesn't shift your results.
Step 4 — Receive webhook events
Most integrations want push, not pull. Register a webhook to receive events as they happen:
curl -X POST https://api.bizrnr.com/v1/webhooks \
-H "Authorization: Bearer bk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://yourapp.com/bizrnr-webhook",
"events": ["lead.created", "call.completed"],
"secret": "your-shared-secret"
}'Every payload is signed with HMAC-SHA256 over the raw body. Verify in your handler before trusting any field.
Rate limits
Each endpoint documents its own limit; the global default is 100 requests/minute per key. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. When you hit the limit you'll get 429 Too Many Requests with a Retry-After header.
If you need higher limits for a legitimate integration, email support@bizrnr.com with your traffic pattern and we can scope your key up — there's no per-request charge for higher limits within reason.
What's next
- Browse the full reference at
/docs/api(also available as OpenAPI 3.1 at/api/openapi.json). - Use the in-dashboard API explorer to try every endpoint with your real data without leaving the browser.
- For volume integrations, prefer webhooks over polling — they're cheaper for both of us.