Docs
API Reference

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
GET
/organisations/{orgId}/tax-rates
X-API-Key<token>

API key for authentication. Get your key from the Developer Dashboard.

In: header

Path Parameters

orgId*string

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"}

POST
/organisations/{orgId}/tax-rates
X-API-Key<token>

API key for authentication. Get your key from the Developer Dashboard.

In: header

Path Parameters

orgId*string

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"}

GET
/organisations/{orgId}/tax-rates/{taxRateId}
X-API-Key<token>

API key for authentication. Get your key from the Developer Dashboard.

In: header

Path Parameters

orgId*string

Organisation ID

taxRateId*string

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"}
PUT
/organisations/{orgId}/tax-rates/{taxRateId}
X-API-Key<token>

API key for authentication. Get your key from the Developer Dashboard.

In: header

Path Parameters

orgId*string

Organisation ID

taxRateId*string

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"}
DELETE
/organisations/{orgId}/tax-rates/{taxRateId}
X-API-Key<token>

API key for authentication. Get your key from the Developer Dashboard.

In: header

Path Parameters

orgId*string

Organisation ID

taxRateId*string

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.

On this page