Update mutable fields on a product
PATCH
/api/public/v1/products/{product_id}
Code sample: cURL
curl --request PATCH \ --url 'https://api.getzutax.com/api/public/v1/products/086c9f4a-c469-4be6-b3c3-4b022b27e9f6' \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: <unique-request-key>' \ --data '{ "name": "string", "description": "string", "sku": "string", "item_type": "good"}'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” product_id
required
Product Id
string format: uuid
Request Body required
Section titled “Request Body required ” Media type application/json
ProductUpdateInput
ERP-supplied partial-update payload.
object
Examples
Example Sample request
Request payload example
{ "name": "string", "description": "string", "sku": "string", "item_type": "good"}Responses
Section titled “ Responses ”Successful Response
Media type application/json
ProductResponse
Stable response shape for public-API product endpoints.
The Product DB model uses default_unit_price (naira-denominated
Numeric) and default_tax_rate (percentage stored 0-100, e.g. 7.5).
The public-API surface exposes them as default_unit_price_naira and
default_vat_rate (0-1 fractional rate) — a model validator rewrites
the inbound attributes so ERPs see a consistent shape across all
public-API resources.
object
id
required
Id
string format: uuid
name
required
Name
string
item_type
required
Item Type
string
default_unit_code
required
Default Unit Code
string
default_unit_price_naira
required
Default Unit Price Naira
string
default_tax_category_code
required
Default Tax Category Code
string
default_vat_rate
required
Default Vat Rate
string
is_active
required
Is Active
boolean
Examples
Example Sample response
200 response example
{ "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "external_id": "string", "name": "string", "description": "string", "sku": "string", "item_type": "good", "hsn_code": "string", "product_category": "string", "default_unit_code": "string", "default_unit_price_naira": "100.00", "default_tax_category_code": "string", "default_vat_rate": "100.00", "is_active": true}Validation Error
Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examples
Example Sample response
422 response example
{ "detail": [ { "loc": [], "msg": "string", "type": "string" } ]}