Taxes
Create a tax
Creates a tax for one country. Two active taxes can't share a name (ignoring case) in the same country — that's a 409. isActive can't be sent.
Authorization
apiKey AuthorizationBearer <token>
Organisation-scoped key from Settings → API Keys.
In: header
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 POST "https://example.com/taxes" \ -H "Content-Type: application/json" \ -d '{ "name": "GST", "percentage": 18, "countryCode": "IN", "behavior": "exclusive", "description": "India GST" }'{ "statusCode": 200, "statusDetail": { "status": "SUCCESS", "message": "OK" }, "result": { "created": 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": 409, "statusDetail": { "status": "ERROR", "message": "Customer \"cus_abc123\" is archived." }, "result": {}}{ "statusCode": 500, "statusDetail": { "status": "ERROR", "message": "Could not complete the request." }, "result": {}}