Skip to main content
Use the Commerce API from your backend to manage sellable items and sync sales into your own systems. All endpoints use the M2M base URL:
M2M credentials are server-side secrets. Do not call these endpoints from browser, mobile, or embedded widget code.

Scopes

Commerce routes use the tenant attached to the M2M credential. Do not send a tenant id in the path or query string.

Item Model

scope is global unless the item is assigned to a business. Business-scoped items include propertyId.

List Items

Requires commerce:items:read.

Create an Item

Requires commerce:items:write.
Response:
Supported field types: text, number, email, phone, date, and select.

Read an Item

Requires commerce:items:read.

Update an Item

Requires commerce:items:write. Send only the fields you want to change.

Assign Item Scope

Requires commerce:items:write. Assign the item to one active business:
Make the item global:
Response:

Delete an Item

Requires commerce:items:write.

Sales

Sales are commerce purchases exposed with sales-oriented route names for external systems.

List Sales

Requires commerce:sales:read. Query parameters: Response:

Read a Sale

Requires commerce:sales:read.
The list and detail endpoints return the same sale shape. Optional fields are omitted when they do not apply or are not yet available. All monetary fields ending in Minor use the currency’s minor unit. For example, 5000 with currency: "usd" means USD 50.00. capturedFields contains the values collected from the item fields configured at checkout.