Tax Rates
Manage the tax rates applied to services, inventory, quotes, and invoices
A tax rate defines a named percentage (e.g. "GST 10%") that services and
inventory items reference by taxRateId. Rates can be inclusive or exclusive,
and exactly one rate can be marked as the organisation default.
Only one default
Setting defaultEnabled: true on a tax rate automatically clears the default
flag on every other rate — there is always at most one default.
Endpoints
- GET
/organisations/{orgId}/tax-rates— List tax rates - POST
/organisations/{orgId}/tax-rates— Create tax rate - GET
/organisations/{orgId}/tax-rates/{taxRateId}— Get tax rate - PUT
/organisations/{orgId}/tax-rates/{taxRateId}— Update tax rate - DELETE
/organisations/{orgId}/tax-rates/{taxRateId}— Delete tax rate
API key for authentication. Get your key from the Developer Dashboard.
In: header
Path Parameters
Organisation ID
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/organisations/string/tax-rates"{ "success": true, "data": { "taxRates": [ { "id": "string", "name": "string", "rate": 0, "isInclusive": true, "defaultEnabled": true } ] }}{ "success": false, "error": "An error occurred"}{ "success": false, "error": "You do not have access to this organisation"}API key for authentication. Get your key from the Developer Dashboard.
In: header
Path Parameters
Organisation ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/organisations/string/tax-rates" \ -H "Content-Type: application/json" \ -d '{ "name": "GST", "rate": 10, "isInclusive": false, "defaultEnabled": true }'{ "success": true, "data": { "id": "string", "name": "string", "rate": 0, "isInclusive": true, "defaultEnabled": true }}{ "success": false, "error": "An error occurred"}{ "success": false, "error": "An error occurred"}{ "success": false, "error": "You do not have access to this organisation"}API key for authentication. Get your key from the Developer Dashboard.
In: header
Path Parameters
Organisation ID
Tax rate ID
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/organisations/string/tax-rates/string"{ "success": true, "data": { "id": "string", "name": "string", "rate": 0, "isInclusive": true, "defaultEnabled": true }}{ "success": false, "error": "An error occurred"}{ "success": false, "error": "You do not have access to this organisation"}{ "success": false, "error": "An error occurred"}API key for authentication. Get your key from the Developer Dashboard.
In: header
Path Parameters
Organisation ID
Tax rate ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/organisations/string/tax-rates/string" \ -H "Content-Type: application/json" \ -d '{}'{ "success": true, "data": { "id": "string", "name": "string", "rate": 0, "isInclusive": true, "defaultEnabled": true }}{ "success": false, "error": "An error occurred"}{ "success": false, "error": "An error occurred"}{ "success": false, "error": "You do not have access to this organisation"}{ "success": false, "error": "An error occurred"}API key for authentication. Get your key from the Developer Dashboard.
In: header
Path Parameters
Organisation ID
Tax rate ID
Response Body
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/organisations/string/tax-rates/string"{ "success": true, "data": { "message": "Operation completed successfully" }}{ "success": false, "error": "An error occurred"}{ "success": false, "error": "You do not have access to this organisation"}{ "success": false, "error": "An error occurred"}Machine-readable version: OpenAPI 3.1 spec.