/v1/charge-templates/{id}Change a charge template (published price lists keep the config frozen with them)
Access: Signed-in members only (web or Android session) — not for API keys. Permission projects.pricing.
Parameters
idpathrequired- Id
Opaque record id.
Request body
name- string
config- ChargeTemplateConfig2
One basic sale price; at most one PLC, floor rise and parking.
is_default- boolean
archived- boolean
Response · 200
datarequired- ChargeTemplate
metarequired- object
curl -X PATCH 'https://api.propzolo.com/v1/charge-templates/{id}' \
-H 'Authorization: Bearer pz_live_…' \
-H 'Content-Type: application/json' \
-d '{"name":"string","config":{"area_basis":"carpet","heads":[{"code":"string","label":"string","kind":"bsp","basis":"fixed","gst_bp":0,"in_agreement_value":true,"months":1}],"stamp":{"state":null,"include":true,"stamp_duty_bp":0,"registration_bp":0,"registration_cap":null}},"is_default":true,"archived":true}'{
"data": {
"id": "cmusrceel0000q7kaafxqi1om",
"project_id": "cmusrceel0000q7kaafxqi1om",
"name": "string",
"is_default": true,
"archived": true,
"config": {
"area_basis": "carpet",
"heads": [
{
"code": "string",
"label": "string",
"kind": "bsp",
"basis": "fixed",
"gst_bp": 0,
"in_agreement_value": true,
"months": 1
}
],
"stamp": {
"state": null,
"include": true,
"stamp_duty_bp": 0,
"registration_bp": 0,
"registration_cap": null
}
},
"price_lists": 0,
"updated_at": "2026-10-06T05:30:00.000Z"
},
"meta": {}
}Errors
401No valid session or API key (missing, expired or revoked).403The caller lacks the permission, API-key scope or support grant this operation needs.404Not found — records of another company are reported the same way.409A unique value already exists, a concurrent change won, or the Idempotency-Key is still in use or was sent with a different request.422Invalid input; `error.fields` maps field paths to messages.429Too many requests; retry after the Retry-After header.500Unexpected error; quote `error.request_id` to support.

