Skip to main content

Base address and paths

All routes start with https://api.impellabs.tech/api/v1/partner/. Every path ends with a slash. A request without the final slash does not work: a GET is redirected and a POST fails. Bodies are JSON, except a file upload, which is multipart form data.

Ids

Tenants are yours only

A tenant of another partner, and a tenant that does not exist, both answer 404. No call tells you which of the two it is.

Paging

Tenant lists use pages. Send page. The answer holds results, page, page_size (100), total and has_more. Conversation lists and message lists use a cursor. Send limit, and after with the next_cursor of the page before. The answer holds has_more and next_cursor. An after that names nothing answers 400. The list of webhook deliveries shows the last 200 and has no paging.

Errors

An error has a 4xx or 5xx status and one of two shapes.
Some errors add code or field beside detail. A validation error names the field that failed. Branch on code when it is present. Do not branch on message.

Repeating a call

Creating a tenant is safe to repeat: the same external_ref answers 200 with the tenant that exists. Sending the WhatsApp sign-up code is not safe to repeat, because the code works once. Read the channel before you decide.

Time

Times are ISO 8601. They are stored in UTC. Show them in the zone of your viewer.