Developer Platform
Build on OneBookPlus
A modern REST API for invoicing, bookings, CRM, and accounting — purpose-built for Australian SME workflows.
REST API
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
}
}Available Endpoints
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
Authentication
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.
- ✦Tenant-scoped — each key is bound to a single business account
- ✦Read & write scopes — grant only the permissions your integration needs
- ✦Instant revocation — disable a compromised key in one click
Authorization: Bearer obp_live_k3x7...
# Keys follow the format:
# obp_live_* — production
# obp_test_* — sandboxWebhooks
Subscribe 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"
}
}Rate Limiting
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: 1711339424Coming Soon
We're actively expanding the developer platform. Here's what's next on the roadmap.
TypeScript SDK
Fully typed client library with auto-generated types from our OpenAPI spec.
API Playground
Interactive explorer to test endpoints against your sandbox data in the browser.
Webhook Testing Tools
Inspect, replay, and debug webhook deliveries from your dashboard.
OAuth 2.0 Flows
Third-party app authorization so your users can connect their OneBookPlus accounts.
Ready to integrate?
API access is currently available on request. Get in touch and we'll set you up with sandbox credentials and documentation.