Bindings that attach meters to products and map them to pricing variables.
List a product's bindings
Returns every meter binding on the product with each binding's meter summary embedded. Unpaginated.
path Parameters
idProduct UUID
Product UUID
Headers
X-Workspace-IdSelects the workspace this request operates in, by workspace UUID or slug (e.g. a sandbox workspace for test integrations). Omitted: the organization's default live workspace. Unknown workspace: 404; workspace outside your organization: 403. Discover workspaces via GET /workspaces.
Workspace UUID or slug.
List a product's bindings › Responses
OK
Create a product-meter binding
Wires a meter to a product with a named pricing variable. At most one BILLABLE_QUANTITY binding per product.
path Parameters
idProduct UUID
Product UUID
Headers
Idempotency-KeyUnique key that makes this POST safe to retry: repeats with the same key replay the first response instead of re-executing. Replays are scoped to the retrying principal (same API key / user) and kept for 24 hours. Required on every POST.
Client-generated idempotency key (e.g. a UUID).
X-Workspace-IdSelects the workspace this request operates in, by workspace UUID or slug (e.g. a sandbox workspace for test integrations). Omitted: the organization's default live workspace. Unknown workspace: 404; workspace outside your organization: 403. Discover workspaces via GET /workspaces.
Workspace UUID or slug.
Create a product-meter binding › Request Body
meter_idMeter to bind to the product.
Additional filter tree AND-ed onto the meter's own filters for this product only.
pricing_var_nameFormula variable name to expose the meter result as (slug); required for BILLABLE_QUANTITY and PRICING_VAR, optional for INFORMATIONAL.
roleHow the pipeline consumes the result: BILLABLE_QUANTITY, PRICING_VAR or INFORMATIONAL.
Create a product-meter binding › Responses
Created
Get a binding
Returns one binding with its meter summary embedded. A binding that exists under a different product than the URL names responds 404.
path Parameters
idProduct UUID
Product UUID
bindingIdBinding UUID
Binding UUID
Headers
X-Workspace-IdSelects the workspace this request operates in, by workspace UUID or slug (e.g. a sandbox workspace for test integrations). Omitted: the organization's default live workspace. Unknown workspace: 404; workspace outside your organization: 403. Discover workspaces via GET /workspaces.
Workspace UUID or slug.
Get a binding › Responses
OK
Delete a binding
Deletes the binding. The URL's product must own it (otherwise 404); already-published product versions keep their snapshot, so the removal reaches billing at the product's next publish.
path Parameters
idProduct UUID
Product UUID
bindingIdBinding UUID
Binding UUID
Headers
X-Workspace-IdSelects the workspace this request operates in, by workspace UUID or slug (e.g. a sandbox workspace for test integrations). Omitted: the organization's default live workspace. Unknown workspace: 404; workspace outside your organization: 403. Discover workspaces via GET /workspaces.
Workspace UUID or slug.
Delete a binding › Responses
No Content
Update a binding
Merge-patch update. Every editable binding field is versioned on the binding's version row, so changes reach billing at the product's next publish. The URL's product must own the binding (otherwise 404).
path Parameters
idProduct UUID
Product UUID
bindingIdBinding UUID
Binding UUID
Headers
X-Workspace-IdSelects the workspace this request operates in, by workspace UUID or slug (e.g. a sandbox workspace for test integrations). Omitted: the organization's default live workspace. Unknown workspace: 404; workspace outside your organization: 403. Discover workspaces via GET /workspaces.
Workspace UUID or slug.
Update a binding › Request Body
Replacement overlay filter tree; null leaves it unchanged.
pricing_var_nameNew formula variable name; null leaves it unchanged.
roleNew binding role (BILLABLE_QUANTITY, PRICING_VAR or INFORMATIONAL); null leaves it unchanged.
Update a binding › Responses
OK