Tax (admin API)
Admin routes of the tax module. Every route needs a staff session and the permission named on it; send X-Resolve-Locale: false to receive every locale of a translatable field for editing.
GET /v1/admin/tax/classes
Section titled “GET /v1/admin/tax/classes”List tax classes
Parameters:
pagein query (number, min 1, optional).pageSizein query (number, min 1, max 100, optional).zoneIdin query (string, optional).
Responses:
200: Classes retrieved.401: Unauthorized.403: Insufficient permissions.
POST /v1/admin/tax/classes
Section titled “POST /v1/admin/tax/classes”Create tax class
Request body: CreateTaxClassAdminDto.
Responses:
201: Class created.400: Invalid input.401: Unauthorized.403: Insufficient permissions.
GET /v1/admin/tax/zones
Section titled “GET /v1/admin/tax/zones”List tax zones
Parameters:
pagein query (number, min 1, optional).pageSizein query (number, min 1, max 100, optional).
Responses:
200: Zones retrieved.401: Unauthorized.403: Insufficient permissions.
POST /v1/admin/tax/zones
Section titled “POST /v1/admin/tax/zones”Create tax zone
Request body: CreateTaxZoneAdminDto.
Responses:
201: Zone created.400: Invalid input.401: Unauthorized.403: Insufficient permissions.
GET /v1/admin/tax/zones/{id}
Section titled “GET /v1/admin/tax/zones/{id}”Get tax zone
Parameters:
idin path (string, required).
Responses:
200: Zone retrieved.401: Unauthorized.403: Insufficient permissions.404: Zone not found.
PATCH /v1/admin/tax/zones/{id}
Section titled “PATCH /v1/admin/tax/zones/{id}”Update tax zone
Parameters:
idin path (string, required).
Request body: UpdateTaxZoneAdminDto.
Responses:
200: Zone updated.400: Invalid input.401: Unauthorized.403: Insufficient permissions.404: Zone not found.
Schemas
Section titled “Schemas”CreateTaxClassAdminDto
Section titled “CreateTaxClassAdminDto”zoneId(string, required).name(string, required).rate(number, min 0, max 1, required).isDefault(boolean, optional).
CreateTaxZoneAdminDto
Section titled “CreateTaxZoneAdminDto”name(TranslatableDto, required).countries(array of string, required).rate(number, min 0, max 1, required).isDefault(boolean, optional).isCompound(boolean, optional).priority(number, min 0, optional).isActive(boolean, optional).
TranslatableDto
Section titled “TranslatableDto”default(string, required).fr(string, optional).en(string, optional).ar(string, optional).