Upsert a charge preset
Create or update a single charge preset. This is one endpoint for both operations: omit id to create a new preset (responds 201), or pass the id of an existing preset to update it (responds 200). The URL and request shape are identical either way.
On create, name, type, unit_type, and the amount field matching unit_type (percent for PERCENT, price for PRICE) are required. On update the body is sparse — only the fields you send are changed, and any field you omit keeps its current value. Exactly one amount field may be set at a time: to switch a preset from PERCENT to PRICE, send the new unit_type and price together with percent as null (and vice versa). name must be unique within your company (case-insensitive) among non-deleted presets, and may only contain letters, numbers, underscores, and spaces.
A preset stores its amount as a positive number for both types; when a DISCOUNT preset is applied to an order, the resulting charge line carries the negated amount. Changing a preset never rewrites charge lines already applied from it — each line keeps the values copied at apply time. It only affects future applications, and, when allow_inline_edits is false, which amounts new lines referencing the preset are allowed to carry.
This endpoint writes only the preset itself. It does not touch inventory and never syncs to Metrc or BioTrack.
Required permission: settings_permissions_charge_presets.
Request body
Response
The updated charge preset
Changes
No recorded changes to this endpoint across all 1 revision of this API.