Build custom integrations with Addagio's REST API. Available on Business plan and above.
Getting your API key
Authorization: Bearer YOUR_KEY headerAPI base URL
https://api.addagio.io/v1
All requests must use HTTPS. Responses are in JSON format.
Available endpoints
Bookings
GET /bookings — List all bookings (supports pagination and filters)GET /bookings/:id — Get booking detailsPOST /bookings — Create a bookingPATCH /bookings/:id — Update booking statusDELETE /bookings/:id — Cancel a bookingServices
GET /services — List all servicesGET /services/:id — Get service detailsPOST /services — Create a servicePATCH /services/:id — Update a serviceDELETE /services/:id — Delete a serviceAvailability
GET /availability — Get available time slots for a date rangeGET /availability/:staffId — Get specific staff member's availabilityClients
GET /clients — List all clientsGET /clients/:id — Get client details and booking historyWebhooks
Receive real-time notifications when events occur:
- booking.created
- booking.cancelled
- booking.completed
- payment.received
- payment.refunded
Webhook payloads include a signature header for verification.
Rate limits
Exceeding limits returns a 429 Too Many Requests response with a Retry-After header.
SDKs
We provide official SDKs for:
npm install @addagio/sdk)pip install addagio)gem install addagio)Error handling
All errors return a consistent format:
{
"error": {
"code": "INVALID_REQUEST",
"message": "Description of what went wrong",
"details": {}
}
}
Common status codes: 400 (bad request), 401 (unauthorized), 404 (not found), 429 (rate limited), 500 (server error).