Skip to main content
PATCH
/
tax
/
business_entities
/
{business_entity_id}
/
jurisdiction_rates
/
{jurisdiction_rate_id}
Update jurisdiction rate
curl --request PATCH \
  --url https://api.zenskar.com/tax/business_entities/{business_entity_id}/jurisdiction_rates/{jurisdiction_rate_id} \
  --header 'Content-Type: application/json' \
  --header 'organisation: <api-key>' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "country_code": "<string>",
  "state_code": "<string>",
  "city": "<string>",
  "zip_code_start": "<string>",
  "zip_code_end": "<string>",
  "tax_category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "effective_from": "2023-12-25",
  "effective_to": "2023-12-25",
  "is_active": true,
  "name": "<string>"
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "business_entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "organization_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "country_code": "<string>",
  "state_code": "<string>",
  "city": "<string>",
  "zip_code_start": "<string>",
  "zip_code_end": "<string>",
  "tax_category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "effective_from": "2023-12-25",
  "effective_to": "2023-12-25",
  "is_active": true,
  "name": "<string>",
  "rates": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "jurisdiction_rate_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "tax_name": "<string>",
      "rate_percent": 123,
      "is_compound": true,
      "compound_order": 123,
      "jurisdiction_level": "<string>",
      "jurisdiction_code": "<string>"
    }
  ]
}

Authorizations

x-api-key
string
header
default:<your-api-key>
required
organisation
string
header
default:<your-organisation-id>
required

Path Parameters

business_entity_id
string<uuid>
required
jurisdiction_rate_id
string<uuid>
required

Body

application/json

PATCH update — all fields optional. Only fields explicitly sent are written; everything else stays as-is on the row.

Cross-field invariants that depend on a complete picture (zip half-set, destination hierarchy) run in the service against the merged row — not against the patch alone, since a partial patch legitimately omits fields the row already has set. The schema only catches errors visible inside the patch itself (zip range ordering

  • length, effective-date ordering, both when both ends are sent).
country_code
string | null

ISO country code (e.g. IN, US)

Required string length: 2
state_code
string | null
city
string | null
zip_code_start
string | null
zip_code_end
string | null
tax_category_id
string<uuid> | null
effective_from
string<date> | null
effective_to
string<date> | null
is_active
boolean | null
name
string | null

Response

Successful Response

Response shape for a jurisdiction rate row.

id
string<uuid>
required
business_entity_id
string<uuid>
required
organization_id
string<uuid>
required
country_code
string
required
state_code
string | null
required
city
string | null
required
zip_code_start
string | null
required
zip_code_end
string | null
required
tax_category_id
string<uuid>
required
effective_from
string<date>
required
effective_to
string<date> | null
required
is_active
boolean
required
name
string | null
required
rates
TaxRateResponseSchema · object[] | null

Inline tax rates (included on create)