Tax Rates
GST/tax rate presets applied to items and line items.
GET
/api/v1/tax-ratesList tax rates
Scope:
taxes.readParameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
page | query | number | Optional | 1-based page number. |
limit | query | number | Optional | Page size, max 200. |
Example request
curl "https://pre-invoice.avscorp.in/api/v1/tax-rates" \
-H "Authorization: Bearer YOUR_API_KEY"Example response
JSON
{
"id": "clx6tax000000000000000001",
"organizationId": "clx0org000000000000000001",
"name": "GST 12%",
"ratePercent": 12,
"isGST": true,
"isDefault": false,
"createdAt": "2026-01-05T04:00:00.000Z",
"updatedAt": "2026-01-05T04:00:00.000Z"
}Possible errors: unauthorized, insufficient_scope, forbidden
POST
/api/v1/tax-ratesCreate a tax rate
Scope:
taxes.createRequest body
| Field | Type | Required | Constraints |
|---|---|---|---|
name | string | Required | min length 1; max length 100 |
ratePercent | number | Required | min 0; max 100 |
isGST | boolean | Optional | default true |
isDefault | boolean | Optional | default false |
Example request
curl -X POST "https://pre-invoice.avscorp.in/api/v1/tax-rates" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "GST 12%",
"ratePercent": 12
}'Example response
JSON
{
"id": "clx6tax000000000000000001",
"organizationId": "clx0org000000000000000001",
"name": "GST 12%",
"ratePercent": 12,
"isGST": true,
"isDefault": false,
"createdAt": "2026-01-05T04:00:00.000Z",
"updatedAt": "2026-01-05T04:00:00.000Z"
}Possible errors: unauthorized, insufficient_scope, forbidden, validation_error
GET
/api/v1/tax-rates/{id}Get a tax rate
Scope:
taxes.readParameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Required | Tax rate ID. |
Example request
curl "https://pre-invoice.avscorp.in/api/v1/tax-rates/clx6tax000000000000000001" \
-H "Authorization: Bearer YOUR_API_KEY"Example response
JSON
{
"id": "clx6tax000000000000000001",
"organizationId": "clx0org000000000000000001",
"name": "GST 12%",
"ratePercent": 12,
"isGST": true,
"isDefault": false,
"createdAt": "2026-01-05T04:00:00.000Z",
"updatedAt": "2026-01-05T04:00:00.000Z"
}Possible errors: unauthorized, insufficient_scope, forbidden, not_found
PATCH
/api/v1/tax-rates/{id}Update a tax rate
Scope:
taxes.updatePATCH validates against the full tax rate schema (same as create) — name and ratePercent are required in every update, not just changed fields.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Required | Tax rate ID. |
Request body
| Field | Type | Required | Constraints |
|---|---|---|---|
name | string | Required | min length 1; max length 100 |
ratePercent | number | Required | min 0; max 100 |
isGST | boolean | Optional | default true |
isDefault | boolean | Optional | default false |
Example request
curl -X PATCH "https://pre-invoice.avscorp.in/api/v1/tax-rates/clx6tax000000000000000001" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "GST 18%",
"ratePercent": 18
}'Example response
JSON
{
"id": "clx6tax000000000000000001",
"organizationId": "clx0org000000000000000001",
"name": "GST 12%",
"ratePercent": 12,
"isGST": true,
"isDefault": false,
"createdAt": "2026-01-05T04:00:00.000Z",
"updatedAt": "2026-01-05T04:00:00.000Z"
}Possible errors: unauthorized, insufficient_scope, forbidden, not_found, validation_error
DELETE
/api/v1/tax-rates/{id}Delete a tax rate
Scope:
taxes.deleteParameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Required | Tax rate ID. |
Example request
curl -X DELETE "https://pre-invoice.avscorp.in/api/v1/tax-rates/clx6tax000000000000000001" \
-H "Authorization: Bearer YOUR_API_KEY"Example response
JSON
{
"deleted": true
}Possible errors: unauthorized, insufficient_scope, forbidden, not_found