REST API
Oct 15, 2026
WHBMP has a read-only REST API under /api/v1. Use it for reporting, dashboards and integrations.
Turn it on and create a token
- Open Settings > API & Webhooks.
- Switch on Enable API Access. This is a kill switch: when it is off, every token is rejected.
- Create a token with a name and choose its abilities. The token is shown once. Copy it immediately.
- Revoke a token at any time. Anything that uses it stops working at once.
Abilities
Each token only works for the abilities you give it.
| Ability | Allows |
|---|---|
clients.read |
GET /api/v1/clients, GET /api/v1/clients/{id} |
services.read |
GET /api/v1/services, GET /api/v1/services/{id} |
invoices.read |
GET /api/v1/invoices, GET /api/v1/invoices/{id} |
orders.read |
GET /api/v1/orders, GET /api/v1/orders/{id} |
domains.read |
GET /api/v1/domains, GET /api/v1/domains/{id} |
tickets.read |
GET /api/v1/tickets, GET /api/v1/tickets/{id} |
Authenticate
Send the token as a bearer token:
curl -H "Authorization: Bearer YOUR_TOKEN" \
-H "Accept: application/json" \
https://your-domain.com/api/v1/invoices
List endpoints are paginated. Requests are limited to 120 per minute.
OpenAPI
The machine-readable description is at /api/v1/openapi.json. The View API Docs button on the API & Webhooks page opens the human-readable version. Import the JSON into Postman, Insomnia or a code generator.
Tips
- Create one token per integration so you can revoke them separately.
- Give a token the fewest abilities it needs.
- Keep tokens out of front-end code and public repositories.
To be told about changes as they happen instead of polling, use Webhooks.