Developer Platform
OneBookPlus offers a REST API and webhooks for invoicing, bookings, CRM, jobs, and accounting — purpose-built for Australian SME workflows, with GST-compliant invoices and tenant-scoped API keys.
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.
Common questions about the OneBookPlus REST API, authentication, webhooks, and rate limits.
Yes. OneBookPlus exposes a REST API over JSON for contacts, invoices, quotes, bookings, jobs, and expenses. Every request is authenticated with a tenant-scoped bearer API key, responses use a consistent data/pagination/error envelope, and webhooks deliver real-time event notifications. API access is currently available on request — contact the team for sandbox credentials.
Authenticate with a bearer API key scoped to your business account. Keys use the obp_live_* prefix for production and obp_test_* for the sandbox, are created in your dashboard, can be granted read or write scopes, and can be revoked in one click.
The standard limit is 100 requests per minute per API key, with short bursts up to 20 requests per second. Current usage is returned in the X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset response headers. Webhook deliveries retry up to three times with exponential backoff over 24 hours.
Yes. OneBookPlus POSTs a signed JSON payload to your endpoint for events including invoice.created, invoice.paid, quote.accepted, booking.created, booking.cancelled, contact.created, job.completed, and expense.created, so your integration reacts to changes in real time without polling.
API access is currently available on request. Get in touch and we'll set you up with sandbox credentials and documentation.
Last reviewed and updated: by Bishal Shrestha