Skip to content

Developers

Build on RapBooster with the public API.

A REST API for leads, contacts and messages, with signed webhooks. API keys are free in every workspace.

Start a 14-day free trial, then create a key in Settings.

Create a lead
curl https://api.rapbooster.com/api/v1/public/v1/leads \
  -H "Authorization: Bearer rb_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "name": "Asha Verma", "mobile": "+919876543210" }'

Quick start

From key to first call in three steps

Glass blocks joined by light, like services connected through an API
  1. 1 Create a keyIn Settings, under API keys, name it and pick its scopes. The key is shown once.
  2. 2 Call the APISend it as a bearer token. A key acts as the member who made it, never more.
  3. 3 Listen for eventsAdd an https endpoint and receive signed lead and message events as they happen.

Authentication

Scopes keep every key to its job

Every call needs the key's scope and the creating member's own right to the same thing. Keys are stored only as a hash.

  • leads:readRead leads
  • leads:writeCreate and update leads
  • contacts:readRead contacts
  • contacts:writeCreate and update contacts
  • messages:sendSend WhatsApp and email
  • messages:readRead a message's delivery status
  • webhooks:manageAdd, change and delete webhook endpoints
  • 300 requests a minutePer key. Over that you get 429 with code PUBLIC_API_RATE_LIMITED.
  • Keys are freeSending costs what the same send costs in the app; email goes through your own mailbox.
  • Predictable shapessnake_case fields. A record is { data }, a list { items, meta }, an error { code, message, details?, correlation_id }.

Endpoints

Every endpoint, from the live document

Read from the API's own OpenAPI document, so this list never drifts from what runs.

Leads4 endpoints
  • GET/api/v1/public/v1/leadsList leads (q, status; sort_by, sort; page, limit)
  • POST/api/v1/public/v1/leadsCreate a lead (owned by the key's creator)
  • GET/api/v1/public/v1/leads/{id}Get a lead
  • PATCH/api/v1/public/v1/leads/{id}Update a lead's name, mobile, email or status
Contacts4 endpoints
  • GET/api/v1/public/v1/contactsList people (q, group_id; sort_by, sort; page, limit)
  • POST/api/v1/public/v1/contactsAdd a person: a known email or phone returns that person (`existing: true`)
  • GET/api/v1/public/v1/contacts/{id}Get a person
  • PATCH/api/v1/public/v1/contacts/{id}Update a person (null clears a field; group_ids replaces groups)
Messages3 endpoints
  • POST/api/v1/public/v1/messages/whatsappSend an approved WhatsApp template to a number
  • POST/api/v1/public/v1/messages/emailSend one email from a connection (default: the system one)
  • GET/api/v1/public/v1/messages/{channel}/{id}A sent message's delivery status
Webhooks4 endpoints
  • GET/api/v1/public/v1/webhook-endpointsList webhook endpoints
  • POST/api/v1/public/v1/webhook-endpointsAdd an endpoint (https): its signing secret is in this response only
  • PATCH/api/v1/public/v1/webhook-endpoints/{id}Change an endpoint's URL or events, or turn it off and on
  • DELETE/api/v1/public/v1/webhook-endpoints/{id}Delete an endpoint

Webhooks

Signed events, retried until you answer

Events: lead.created, lead.updated and message.status. Each delivery is a POST signed with HMAC-SHA256 of “<t>.<raw body>” and your endpoint's secret. Verify it on the raw body and refuse an old timestamp.

Webhooks
POST https://your-app.example/hooks/rapbooster
X-RapBooster-Event: lead.created
X-RapBooster-Signature: t=1767225600,v1=5f2c…
 
{
  "id": "evt_9c1e…",
  "event": "lead.created",
  "created_at": "2026-10-30T09:12:45Z",
  "data": { "id": "4182", "name": "Asha Verma" }
}

Questions

About the API

Does the API cost extra?

No. API keys are free in every workspace. A WhatsApp or email sent through the API costs what the same send costs in the app.

What can a key do?

Only what its scopes allow and only what the member who created it may do. Revoke a key in Settings and it stops at once.

How are webhook deliveries retried?

A non-2xx answer or a network error is retried 8 times with growing gaps, the last about an hour after the first. Each delivery has a stable id so you can ignore repeats.

Is there an SMS endpoint?

No. The API covers leads, contacts, WhatsApp and email sends, delivery status and webhooks.

Get your free API key.

Start a 14-day free trial, then create a key in Settings. No card needed.