Developer Platform
A modern REST API for invoicing, bookings, CRM, and accounting — purpose-built for Australian SME workflows.
Every resource in OneBookPlus is accessible via a clean JSON API powered by Hono. Authenticate with scoped API keys, paginate with cursors, and filter with query parameters.
curl -X GET https://api.onebookplus.com.au/v1/invoices \
-H "Authorization: Bearer obp_live_k3x7..." \
-H "Content-Type: application/json"{
"data": [
{
"id": "inv_01HQXK9...",
"number": "INV-0042",
"status": "sent",
"total": 1320.00,
"gst": 120.00,
"currency": "AUD",
"due_date": "2026-04-15",
"client": {
"id": "con_01HQX...",
"name": "Smith Plumbing Pty Ltd"
}
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total": 148
}
}Full CRUD operations across every core resource. All responses follow a consistent envelope with data, pagination, and error fields.
/v1/contacts
List all contacts with filtering, pagination, and search
/v1/invoices
Create a GST-compliant invoice with line items
/v1/quotes/{id}
Retrieve a quote by ID with full line-item detail
/v1/bookings
Create a booking with service, time slot, and client
/v1/jobs
List jobs with status filters and date ranges
/v1/expenses
Retrieve expenses with category and GST breakdowns
Every request is authenticated with a bearer API key scoped to your tenant. Keys are created in your dashboard and can be revoked at any time.
Authorization: Bearer obp_live_k3x7...
# Keys follow the format:
# obp_live_* — production
# obp_test_* — sandboxSubscribe to real-time event notifications. We'll POST a signed JSON payload to your endpoint whenever something happens in your account.
invoice.createdFired when a new invoice is createdinvoice.paidFired when an invoice is marked as paidquote.acceptedFired when a client accepts a quotebooking.createdFired when a new booking is madebooking.cancelledFired when a booking is cancelledcontact.createdFired when a new contact is addedjob.completedFired when a job status changes to completeexpense.createdFired when an expense is recorded{
"event": "invoice.paid",
"timestamp": "2026-03-25T01:23:44Z",
"data": {
"id": "inv_01HQXK9...",
"number": "INV-0042",
"total": 1320.00,
"paid_at": "2026-03-25T01:23:40Z",
"payment_method": "stripe"
}
}Standard rate limits ensure fair usage across all tenants. Limits are applied per API key and returned in response headers.
Standard
100 req/min
Default for all API keys
Burst
20 req/sec
Short bursts within the minute window
Webhooks
3 retries
Exponential backoff over 24 hours
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1711339424We're actively expanding the developer platform. Here's what's next on the roadmap.
Fully typed client library with auto-generated types from our OpenAPI spec.
Interactive explorer to test endpoints against your sandbox data in the browser.
Inspect, replay, and debug webhook deliveries from your dashboard.
Third-party app authorization so your users can connect their OneBookPlus accounts.
API access is currently available on request. Get in touch and we'll set you up with sandbox credentials and documentation.
Related pages