API Documentation

Integrate Invoicerus with your existing tools using our REST API. API access is included in Pro Max.

Base URL

https://invoicerus.com/api/v1

Every request needs your API key in the X-API-Key header. Create one in Dashboard > Settings > API. Keys start with inv_ and carry the permissions of the organization that made them.

Services

GET/api/v1/servicesList your services with pricing and options
GET/api/v1/services/:idGet one service, including its spec groups
GET/api/v1/availabilityOpen slots for a service on a given date

Bookings

GET/api/v1/bookingsList bookings for your organization
GET/api/v1/bookings/:idGet one booking
POST/api/v1/bookingsCreate a booking (needs the write scope)

Customers

GET/api/v1/customersList customers
GET/api/v1/customers/:idGet one customer
POST/api/v1/customersCreate a customer (needs the write scope)

Invoices

GET/api/v1/invoicesList invoices
GET/api/v1/invoices/:idGet one invoice with its line items

Webhook Events

Webhooks are set up in Dashboard > Webhooks, not through this API. All webhook payloads include an X-Webhook-Signature header with an HMAC-SHA256 signature for verification.

booking.createdA new booking has been created
booking.updatedA booking has been modified (status, assignment, etc.)
booking.cancelledA booking has been cancelled
booking.completedA booking has been marked as completed
customer.createdA new customer record has been created
payment.receivedA payment has been successfully processed
invoice.sentAn invoice has been sent to a customer

Rate Limits

Three limits apply, and the lowest one you hit is the one that stops you:

  • 100 requests per minute per API key
  • 1,000 requests per minute across all keys in your organization
  • 200 requests per minute per IP address

Responses carry X-RateLimit-Limit and X-RateLimit-Remaining for the per-key limit. Go over any limit and you get a 429 with a Retry-After header. Wait that many seconds before retrying.