Looking for every endpoint and schema in one place? See the Full OpenAPI reference.
Endpoints
| Method and path | What it does | Key permission |
|---|---|---|
GET /api/v1/customers | List customers Query: q, tag, sort, page, limit | customers:read |
GET /api/v1/customers/tags | Tags in use | customers:read |
GET /api/v1/customers/export.csv | Export customers as CSV Query: q, tag | customers:read |
GET /api/v1/customers/search | Customer typeahead Query: q, limit | customers:read |
PATCH /api/v1/customers/{id} | Edit a customer | customers:write |
GET /api/v1/customers/{id} | Customer profile with saved addresses | customers:read |
GET /api/v1/customers/{id}/rides | Delivery history for a customer Query: page, limit | customers:read |
GET /api/v1/customers/{id}/updates | Updates sent to a customer across their deliveries | customers:read |
How customer records are made
A customer is identified by their phone number, stored in international format for your company’s country. Creating a delivery finds or creates the customer, counts the delivery and remembers the delivery address. There is no endpoint to create a customer directly; create a delivery instead.
Editing
PATCH /api/v1/customers/{id} accepts name, email, tags (up to 20, each up to 30
characters, stored in lower case) and notes (up to 2,000 characters). The phone number is the customer’s identity and
cannot be changed.
Export
GET /api/v1/customers/export.csv returns UTF-8 CSV with the current filters. Cells that look like spreadsheet formulas are
prefixed with an apostrophe so spreadsheets never run them. Exports are limited to 30 per 15 minutes.
Personal data
These endpoints return personal data about your customers. Keep the responses on your server, and keep them only as long as you need them.