Skip to content

API Overview

The Whatbot API lets external systems push contacts, send messages, and read conversations. It’s a small, JSON-over-HTTPS API authenticated with a per-tenant key.

https://api.whatbot.in/public/v1

All endpoints below are relative to this base.

Send your tenant API key in the X-API-Key header on every request:

Terminal window
X-API-Key: wa_live_xxxxxxxxxxxxxxxx

The key scopes the request to a single workspace. There is no separate account id — the key is the workspace identity.

FieldTypeRequiredDescription
Content-TypeheaderUse application/json for JSON bodies, or multipart/form-data for the CSV upload.
  • Phone numbers can be sent in any format — Whatbot normalizes them to E.164 (e.g. 98765 43210+919876543210). A default country code is applied to bare 10-digit numbers.
  • Upsert semantics: contacts are keyed on phone. Re-sending an existing phone updates that contact rather than creating a duplicate.
  • Timestamps are ISO 8601 in UTC.

Standard HTTP status codes. Error bodies are JSON with a detail field.

StatusMeaning
200Success
401Missing or invalid X-API-Key
403Key valid but not permitted for this resource
422Validation error (e.g. bad body shape or invalid phone)
429Rate limited — retry with backoff
5xxServer error — safe to retry idempotent calls
422 example
{
"detail": [
{ "type": "list_type", "loc": ["body"], "msg": "Input should be a valid list" }
]
}