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.
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

- 1 Create a keyIn Settings, under API keys, name it and pick its scopes. The key is shown once.
- 2 Call the APISend it as a bearer token. A key acts as the member who made it, never more.
- 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 leadsleads:writeCreate and update leadscontacts:readRead contactscontacts:writeCreate and update contactsmessages:sendSend WhatsApp and emailmessages:readRead a message's delivery statuswebhooks:manageAdd, change and delete webhook endpoints
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.
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.
Questions first? Chat with us on WhatsApp