Update a tax
Updates only the fields you send. Archived taxes can be edited and stay archived. Invoices already issued keep the tax they were issued with. Renaming onto another active tax in the same country is a 409.
Authorization
apiKey Organisation-scoped key from Settings → API Keys.
In: header
Path Parameters
Tax id.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Send only the fields to change.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/taxes/tax_7k2m9" \ -H "Content-Type: application/json" \ -d '{ "percentage": 12 }'{ "statusCode": 200, "statusDetail": { "status": "SUCCESS", "message": "OK" }, "result": { "updated": true, "tax": { "id": "tax_7k2m9", "name": "GST", "description": "India GST", "percentage": 18, "countryCode": "IN", "behavior": "exclusive", "isActive": true, "createdAt": "2026-10-05T10:00:00.000Z", "updatedAt": "2026-10-05T10:00:00.000Z" } }}{ "statusCode": 400, "statusDetail": { "status": "ERROR", "message": "Request body must be valid JSON." }, "result": {}}{ "statusCode": 401, "statusDetail": { "status": "ERROR", "message": "Invalid API key." }, "result": {}}{ "statusCode": 404, "statusDetail": { "status": "ERROR", "message": "No customer with id \"cus_abc123\"." }, "result": {}}{ "statusCode": 409, "statusDetail": { "status": "ERROR", "message": "Customer \"cus_abc123\" is archived." }, "result": {}}{ "statusCode": 500, "statusDetail": { "status": "ERROR", "message": "Could not complete the request." }, "result": {}}