Products
Products in Allpage: its screens, what you can do there and its operations.
Availability. Works when the business has it turned on and its plan includes it. Otherwise its tools answer needs (kind module) with how to turn it on: business.useTool, or a plan that includes it.
Screens
- Products (/products)
- Orders (/orders)
- Gift cards (/gift-cards)
- Money (/money)
- Sales tax (/sales-tax)
What you can do
- Add a product: the assistant asks you first
- Change a product: the assistant asks you first
- Take a product off sale: the assistant asks you first
- Put a product back on sale: the assistant asks you first
- Set how many are in stock: the assistant can do it on its own
- Set where you collect sales tax: the assistant can do it on its own
- Set a price: the assistant asks you first
- Stop offering a price: the assistant asks you first
- Offer a price again: the assistant asks you first
- Keep a quote: the assistant can do it on its own
- Add an audience: the assistant asks you first
- Change an audience: the assistant asks you first
- Retire an audience: the assistant asks you first
- Bring back an audience: the assistant asks you first
- Add a customer to an audience: the assistant can do it on its own
- Take a customer out of an audience: the assistant asks you first
- Make a link into an audience: the assistant can do it on its own
- Turn off a link into an audience: the assistant asks you first
- Set a discount: the assistant asks you first
- Stop a discount: the assistant asks you first
- Start a discount again: the assistant asks you first
- Add a code: the assistant asks you first
- Turn off a code: the assistant asks you first
- Turn a code back on: the assistant asks you first
- Write an offer: the assistant can do it on its own
- Send an offer: the assistant can prepare it and you confirm it, twice
- Withdraw an offer: the assistant asks you first
- Mark a charge paid: the assistant asks you first
- Approve and charge: the assistant can prepare it and you confirm it, twice
- Charge the balance: the assistant can prepare it and you confirm it, twice
- Charge the hold: the assistant can prepare it and you confirm it, twice
- Pause: the assistant asks you first
- Resume: the assistant asks you first
- Choose what happens when a card keeps failing: the assistant asks you first
- Cancel a sale: the assistant can prepare it and you confirm it, twice
- Decline a quote request: the assistant asks you first
- Freeze billing on a repeating charge: the assistant asks you first
- End a billing freeze: the assistant asks you first
- Refund a charge: the assistant can prepare it and you confirm it, twice
- Give store credit: the assistant can prepare it and you confirm it, twice
- Update orders: the assistant asks you first
- Cancel an order: the assistant can prepare it and you confirm it, twice
- Skip a delivery: the assistant asks you first
- Change where orders go: the assistant asks you first
- Change shipping: the assistant asks you first
- Buy a shipping label: the assistant can prepare it and you confirm it, twice
- Download your sales: only you can do it, on its screen
For apps
Tools
- sales_createProduct (Add a product): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_updateProduct (Change a product): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_archiveProduct (Take a product off sale): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_restoreProduct (Put a product back on sale): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_setInventory (Set how many are in stock): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- sales_setTaxRegions (Set where you collect sales tax): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- sales_publishPrice (Set a price): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_archivePrice (Stop offering a price): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_restorePrice (Offer a price again): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_saveQuote (Keep a quote): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- sales_createAudience (Add an audience): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_updateAudience (Change an audience): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_archiveAudience (Retire an audience): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_restoreAudience (Bring back an audience): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_addToAudience (Add a customer to an audience): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- sales_removeFromAudience (Take a customer out of an audience): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_createAudienceLink (Make a link into an audience): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- sales_revokeAudienceLink (Turn off a link into an audience): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_publishAdjustment (Set a discount): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_archiveAdjustment (Stop a discount): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_restoreAdjustment (Start a discount again): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_createCode (Add a code): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_archiveCode (Turn off a code): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_restoreCode (Turn a code back on): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_draftOffer (Write an offer): a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
- sales_sendOffer (Send an offer): waits for the owner to confirm it in Allpage, whatever they chose for your app
- sales_withdrawOffer (Withdraw an offer): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_markPaid (Mark a charge paid): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_approveCharge (Approve and charge): waits for the owner to confirm it in Allpage, whatever they chose for your app
- sales_collectBalance (Charge the balance): waits for the owner to confirm it in Allpage, whatever they chose for your app
- sales_capture (Charge the hold): waits for the owner to confirm it in Allpage, whatever they chose for your app
- sales_pauseAgreement (Pause): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_resumeAgreement (Resume): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_setUnpaidPolicy (Choose what happens when a card keeps failing): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_cancelAgreement (Cancel a sale): waits for the owner to confirm it in Allpage, whatever they chose for your app
- sales_declineRequest (Decline a quote request): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_freezeAgreement (Freeze billing on a repeating charge): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_unfreezeAgreement (End a billing freeze): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_refundCharge (Refund a charge): waits for the owner to confirm it in Allpage, whatever they chose for your app
- sales_giveCredit (Give store credit): waits for the owner to confirm it in Allpage, whatever they chose for your app
- sales_markOrders (Update orders): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_cancelOrder (Cancel an order): waits for the owner to confirm it in Allpage, whatever they chose for your app
- sales_skipDelivery (Skip a delivery): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_setShipTo (Change where orders go): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_saveShipping (Change shipping): customers see it: waits for the owner’s approval unless they chose Just do it for your app
- sales_buyLabel (Buy a shipping label): waits for the owner to confirm it in Allpage, whatever they chose for your app
Reads
- sales_money (See what came in, what’s owed and what was kept in a month)
- sales_salesTax (See where you collect sales tax)
- sales_revenue (See what you took in a month)
- sales_invoices (List your invoices)
- sales_products (List products)
- sales_product (Look up a product)
- sales_productPolicies (The cancellation policy products are sold under)
- sales_prices (A product’s prices)
- sales_quote (Price a cart)
- sales_priceList (What things cost)
- sales_audiences (Audiences)
- sales_segmentMembers (See who’s in an audience)
- sales_adjustments (Discounts)
- sales_codes (Discount codes)
- sales_previewSale (See a sale before it’s agreed)
- sales_agreements (List your sales and what each needs)
- sales_agreement (See one sale in full)
- sales_offer (An offer to accept)
- sales_quoteRequests (Quote requests)
- sales_paidUp (Whether a sale is paid up)
- sales_payment (A payment to make)
- sales_priceConfirmation (A new price to confirm)
- sales_heldPayment (A held booking to pay)
- sales_policyMoney (See how your policies use payments)
- sales_giftCardBalance (Check a gift card’s balance)
- sales_giftCards (Gift cards and store credit)
- sales_orders (Orders to send)
- sales_order (An order)
- sales_pickups (Pickups by time)
- sales_pickupDays (Pickup days with room)
- sales_shipping (How you ship)
- sales_labelRates (Label rates for an order)
- sales_today (See what’s owed and what’s to send)
- sales_customer (See what a customer owes and has bought)
- sales_salesOwed (See what’s owed on some sales)
- sales_summary (What’s going on)
Only the owner, in Allpage
- Download your sales
The owner’s screens
- Products (/products)
- Orders (/orders)
- Gift cards (/gift-cards)
- Money (/money)
- Sales tax (/sales-tax)
Operations
Each one's input and output, as JSON Schema. Ids are typed (typed ids).
commerce.addToAudience
Add a customer to an audience
- Kind
- Change
- Tool
sales_addToAudience- Scope
commerce:write- Reached by
- API, MCP
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
}
},
"required": [
"audienceId",
"customerId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.adjustments
Discounts
- Kind
- Read
- Tool
sales_adjustments- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"archived": {
"default": false,
"description": "Include stopped ones.",
"type": "boolean"
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"adjustments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
},
"versionId": {
"type": "string",
"pattern": "^adv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment version id: adv_ and 26 letters and digits."
},
"version": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"effect": {
"type": "string",
"enum": [
"percent",
"amount",
"fixed_price",
"free_item",
"buy_x_get_y"
]
},
"status": {
"type": "string",
"enum": [
"active",
"archived"
]
},
"stackingGroup": {
"type": "string"
},
"priority": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"audienceId": {
"anyOf": [
{
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"requiresCode": {
"type": "boolean"
},
"reads": {
"type": "string",
"enum": [
"pinned",
"live"
]
},
"firstNCharges": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"startsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"endsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"spentMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"maxRedemptions": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"budgetMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"shadowed",
"duplicate_priority",
"unseen_value",
"public_price",
"duplicate_price"
]
},
"message": {
"type": "string"
},
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
},
"priceId": {
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price id: pri_ and 26 letters and digits."
}
},
"required": [
"kind",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"adjustmentId",
"versionId",
"version",
"name",
"label",
"effect",
"status",
"stackingGroup",
"priority",
"audienceId",
"requiresCode",
"reads",
"firstNCharges",
"startsAt",
"endsAt",
"used",
"spentMinor",
"maxRedemptions",
"budgetMinor",
"findings"
],
"additionalProperties": false
}
}
},
"required": [
"adjustments"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.agreement
See one sale in full
- Kind
- Read
- Tool
sales_agreement- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"status": {
"type": "string",
"enum": [
"draft",
"offered",
"accepted",
"active",
"past_due",
"paused",
"active_unpaid",
"cancel_scheduled",
"cancelled",
"fulfilled",
"expired",
"abandoned"
]
},
"collect": {
"type": "string",
"enum": [
"card",
"authorize",
"save_then_charge",
"invoice",
"in_person"
]
},
"what": {
"type": "string"
},
"total": {
"type": "string"
},
"repeats": {
"type": "boolean"
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"versionId": {
"type": "string",
"pattern": "^prv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price version id: prv_ and 26 letters and digits."
},
"total": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"service",
"physical",
"digital",
"access",
"bundle",
"gift_card",
"shipping"
]
}
},
"required": [
"productId",
"name",
"quantity",
"versionId",
"total",
"type"
],
"additionalProperties": false
}
},
"terms": {
"type": "string"
},
"renewalTerms": {
"type": [
"string",
"null"
]
},
"charges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"step": {
"type": "string",
"enum": [
"charge_now",
"deposit_now",
"balance_at",
"authorize_now",
"charge_on",
"recurring",
"invoice",
"in_person",
"fee",
"installment",
"stored_value"
]
},
"status": {
"type": "string",
"enum": [
"pending",
"needs_consent",
"held",
"due_in_person",
"collecting",
"requires_action",
"authorized",
"paid",
"failed",
"refunded",
"disputed",
"cancelled"
]
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"amount": {
"type": "string"
},
"dueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"paidAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"periodStart": {
"type": [
"string",
"null"
]
},
"periodEnd": {
"type": [
"string",
"null"
]
},
"trial": {
"type": "boolean"
},
"descriptor": {
"type": [
"string",
"null"
]
},
"refundedMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"taxMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"paymentIntent": {
"type": [
"string",
"null"
]
},
"disputeStatus": {
"anyOf": [
{
"type": "string",
"enum": [
"open",
"won",
"lost"
]
},
{
"type": "null"
}
]
},
"words": {
"type": "string"
},
"failure": {
"type": [
"string",
"null"
]
},
"why": {
"anyOf": [
{
"type": "object",
"properties": {
"engineVersion": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"versions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"versionId": {
"type": "string",
"pattern": "^prv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price version id: prv_ and 26 letters and digits."
},
"why": {
"type": "string",
"enum": [
"list",
"audience",
"pinned",
"migrated"
]
}
},
"required": [
"productId",
"versionId",
"why"
],
"additionalProperties": false
}
},
"audiences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"proof": {
"type": "string"
}
},
"required": [
"audienceId",
"proof"
],
"additionalProperties": false
}
},
"adjustments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
},
"versionId": {
"type": "string",
"pattern": "^adv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment version id: adv_ and 26 letters and digits."
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"adjustmentId",
"versionId",
"amountMinor"
],
"additionalProperties": false
}
}
},
"required": [
"engineVersion",
"versions",
"audiences",
"adjustments"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"chargeId",
"step",
"status",
"amountMinor",
"amount",
"dueAt",
"paidAt",
"periodStart",
"periodEnd",
"trial",
"descriptor",
"refundedMinor",
"taxMinor",
"paymentIntent",
"disputeStatus",
"words",
"failure",
"why"
],
"additionalProperties": false
}
},
"audiences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"proof": {
"type": "string"
},
"linkId": {
"anyOf": [
{
"type": "string",
"pattern": "^aul_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience link id: aul_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"codeId": {
"anyOf": [
{
"type": "string",
"pattern": "^cod_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A code id: cod_ and 26 letters and digits."
},
{
"type": "null"
}
]
}
},
"required": [
"audienceId",
"name",
"proof",
"linkId",
"codeId"
],
"additionalProperties": false
}
},
"adjustments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
},
"versionId": {
"type": "string",
"pattern": "^adv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment version id: adv_ and 26 letters and digits."
},
"codeId": {
"anyOf": [
{
"type": "string",
"pattern": "^cod_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A code id: cod_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"amount": {
"type": "string"
},
"firstNCharges": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"reads": {
"type": "string",
"enum": [
"pinned",
"live"
]
}
},
"required": [
"adjustmentId",
"versionId",
"codeId",
"name",
"amount",
"firstNCharges",
"reads"
],
"additionalProperties": false
}
},
"access": {
"anyOf": [
{
"type": "object",
"properties": {
"endsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"status": {
"type": "string"
}
},
"required": [
"endsAt",
"status"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"grantIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^grt_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A grant id: grt_ and 26 letters and digits."
}
},
"frozen": {
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"until": {
"type": "string"
}
},
"required": [
"from",
"until"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"expiresAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"approveBy": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"eventAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"trialEndsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"nextChargeOn": {
"type": [
"string",
"null"
]
},
"cancelAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"needs": {
"anyOf": [
{
"type": "string",
"enum": [
"send",
"approve",
"mark_paid",
"collect_balance",
"capture"
]
},
{
"type": "null"
}
]
},
"cardSaved": {
"type": "boolean"
},
"canCancel": {
"type": "boolean"
},
"cancelWords": {
"type": [
"string",
"null"
]
},
"stopsOn": {
"type": [
"string",
"null"
]
},
"order": {
"anyOf": [
{
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A order id: ord_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"subscription": {
"type": "boolean"
},
"method": {
"type": "string",
"enum": [
"ship",
"local_delivery",
"pickup"
]
},
"status": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up",
"cancelled"
]
},
"statusLabel": {
"type": "string"
},
"what": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"name",
"quantity"
],
"additionalProperties": false
}
},
"shipTo": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"pickupOn": {
"type": [
"string",
"null"
]
},
"pickupAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"note": {
"type": [
"string",
"null"
]
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"carrier": {
"type": "string"
},
"number": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"carrier",
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"stockNote": {
"type": [
"string",
"null"
]
},
"service": {
"type": [
"string",
"null"
]
},
"labelUrl": {
"type": [
"string",
"null"
]
},
"labelBuying": {
"type": "boolean"
},
"next": {
"type": "array",
"items": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up",
"cancelled"
]
}
},
"canCancel": {
"type": "boolean"
},
"placedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"orderId",
"agreementId",
"customerId",
"customer",
"number",
"subscription",
"method",
"status",
"statusLabel",
"what",
"items",
"shipTo",
"pickupOn",
"pickupAt",
"note",
"tracking",
"stockNote",
"service",
"labelUrl",
"labelBuying",
"next",
"canCancel",
"placedAt"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"agreementId",
"customerId",
"status",
"collect",
"what",
"total",
"repeats",
"lines",
"terms",
"renewalTerms",
"charges",
"audiences",
"adjustments",
"access",
"grantIds",
"frozen",
"expiresAt",
"approveBy",
"eventAt",
"trialEndsAt",
"nextChargeOn",
"cancelAt",
"needs",
"cardSaved",
"canCancel",
"cancelWords",
"stopsOn",
"order"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.agreements
List your sales and what each needs
- Kind
- Read
- Tool
sales_agreements- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"show": {
"default": "open",
"description": "Open: not ended yet (offers, running sales). Ended: done, cancelled or lapsed.",
"type": "string",
"enum": [
"open",
"ended",
"all"
]
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"agreements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"draft",
"offered",
"accepted",
"active",
"past_due",
"paused",
"active_unpaid",
"cancel_scheduled",
"cancelled",
"fulfilled",
"expired",
"abandoned"
]
},
"what": {
"type": "string"
},
"total": {
"type": "string"
},
"collect": {
"type": "string",
"enum": [
"card",
"authorize",
"save_then_charge",
"invoice",
"in_person"
]
},
"repeats": {
"type": "boolean"
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"expiresAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"approveBy": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"nextChargeOn": {
"type": [
"string",
"null"
]
},
"needs": {
"anyOf": [
{
"type": "string",
"enum": [
"send",
"approve",
"mark_paid",
"collect_balance",
"capture"
]
},
{
"type": "null"
}
]
},
"chargeId": {
"anyOf": [
{
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"charges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"status": {
"type": "string",
"enum": [
"pending",
"needs_consent",
"held",
"due_in_person",
"collecting",
"requires_action",
"authorized",
"paid",
"failed",
"refunded",
"disputed",
"cancelled"
]
},
"amount": {
"type": "string"
},
"words": {
"type": "string"
},
"refundable": {
"type": "boolean"
}
},
"required": [
"chargeId",
"status",
"amount",
"words",
"refundable"
],
"additionalProperties": false
}
},
"onUnpaid": {
"type": "string",
"enum": [
"pause",
"cancel",
"keep"
]
},
"frozen": {
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"type": "string"
},
"until": {
"type": "string"
}
},
"required": [
"from",
"until"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"skip": {
"anyOf": [
{
"type": "object",
"properties": {
"on": {
"type": "string"
},
"title": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"on",
"title",
"lines"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"agreementId",
"customerId",
"customer",
"status",
"what",
"total",
"collect",
"repeats",
"createdAt",
"expiresAt",
"approveBy",
"nextChargeOn",
"needs",
"chargeId",
"charges",
"onUnpaid",
"frozen",
"skip"
],
"additionalProperties": false
}
}
},
"required": [
"agreements"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.approveCharge
Approve and charge
- Kind
- Change
- Tool
sales_approveCharge- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.archiveAdjustment
Stop a discount
- Kind
- Change
- Tool
sales_archiveAdjustment- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
}
},
"required": [
"adjustmentId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.archiveAudience
Retire an audience
- Kind
- Change
- Tool
sales_archiveAudience- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
}
},
"required": [
"audienceId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.archiveCode
Turn off a code
- Kind
- Change
- Tool
sales_archiveCode- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"codeId": {
"type": "string",
"pattern": "^cod_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A code id: cod_ and 26 letters and digits."
}
},
"required": [
"codeId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.archivePrice
Stop offering a price
- Kind
- Change
- Tool
sales_archivePrice- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"priceId": {
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price id: pri_ and 26 letters and digits."
}
},
"required": [
"priceId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.archiveProduct
Take a product off sale
- Kind
- Change
- Tool
sales_archiveProduct- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
}
},
"required": [
"productId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.audiences
Audiences
- Kind
- Read
- Tool
sales_audiences- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"archived": {
"default": false,
"description": "Include retired ones.",
"type": "boolean"
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"audiences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"key": {
"type": "string"
},
"value": {
"type": "string"
},
"name": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"members",
"rule",
"experiment"
]
},
"rule": {
"anyOf": [
{},
{
"type": "null"
}
]
},
"sharePercent": {
"type": [
"number",
"null"
]
},
"binding": {
"type": "string",
"enum": [
"each_charge",
"at_purchase"
]
},
"retention": {
"type": "string",
"enum": [
"lifetime",
"until_revoked",
"until_date"
]
},
"retainUntil": {
"type": [
"string",
"null"
]
},
"qualify": {
"type": "string",
"enum": [
"signed_link",
"code",
"open"
]
},
"showAsTag": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"active",
"archived"
]
},
"holders": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"linkId": {
"type": "string",
"pattern": "^aul_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience link id: aul_ and 26 letters and digits."
},
"channel": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"linkId",
"channel",
"label"
],
"additionalProperties": false
}
}
},
"required": [
"audienceId",
"key",
"value",
"name",
"kind",
"rule",
"sharePercent",
"binding",
"retention",
"retainUntil",
"qualify",
"showAsTag",
"status",
"holders",
"links"
],
"additionalProperties": false
}
}
},
"required": [
"audiences"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.buyLabel
Buy a shipping label
- Kind
- Change
- Tool
sales_buyLabel- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "The order (`orderId` from commerce.orders). A order id: ord_ and 26 letters and digits."
},
"rate": {
"type": "string",
"maxLength": 400,
"description": "The rate to buy (`token` from commerce.labelRates)."
}
},
"required": [
"orderId",
"rate"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.cancelAgreement
Cancel a sale
- Kind
- Change
- Tool
sales_cancelAgreement- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"when": {
"default": "period_end",
"description": "Something that repeats stops at the end of its paid period, or now.",
"type": "string",
"enum": [
"now",
"period_end"
]
},
"refund": {
"description": "Give back what was paid online. Defaults to yes when you cancel a one-time sale before it’s done.",
"type": "boolean"
},
"restock": {
"default": true,
"description": "Put what it took back in stock. Say false when it already went out, like a mug that broke on the way. Seats and rooms always come back.",
"type": "boolean"
},
"reason": {
"type": "string",
"maxLength": 300
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.cancelOrder
Cancel an order
- Kind
- Change
- Tool
sales_cancelOrder- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "The order (`orderId` from commerce.orders). A order id: ord_ and 26 letters and digits."
},
"refund": {
"default": true,
"description": "Give back what was paid for it. Defaults to yes.",
"type": "boolean"
},
"restock": {
"default": true,
"description": "Put what it holds back in stock. Defaults to yes.",
"type": "boolean"
},
"reason": {
"default": "",
"type": "string",
"maxLength": 300
}
},
"required": [
"orderId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.capture
Charge the hold
- Kind
- Change
- Tool
sales_capture- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.codes
Discount codes
- Kind
- Read
- Tool
sales_codes- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"codes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"codeId": {
"type": "string",
"pattern": "^cod_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A code id: cod_ and 26 letters and digits."
},
"code": {
"type": "string"
},
"adjustmentId": {
"anyOf": [
{
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"audienceId": {
"anyOf": [
{
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"active",
"archived"
]
},
"maxRedemptions": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"oncePerCustomer": {
"type": "boolean"
},
"used": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"startsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"endsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"codeId",
"code",
"adjustmentId",
"audienceId",
"status",
"maxRedemptions",
"oncePerCustomer",
"used",
"startsAt",
"endsAt"
],
"additionalProperties": false
}
}
},
"required": [
"codes"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.collectBalance
Charge the balance
- Kind
- Change
- Tool
sales_collectBalance- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.createAudience
Add an audience
- Kind
- Change
- Tool
sales_createAudience- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,40}$",
"description": "What it groups by: tier, channel, experiment."
},
"value": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,40}$",
"description": "Its value: gold, instagram, spring_test."
},
"kind": {
"type": "string",
"enum": [
"members",
"rule",
"experiment"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"rule": {
"description": "Who matches a rule audience: tags, custom fields, grants, visits and the channel they came through ({ channel: { is: \"instagram\" } }). Visits: { visited: { offeringId?, kind?, since?: { days } }, gte? } counts sessions they came to; { daysSinceVisit: {}, gte: 30 } is everyone away 30 days or more (pair it with { visited: {} } for people who came before).",
"$ref": "#/$defs/__schema0"
},
"sharePercent": {
"description": "An experiment’s share of buyers, in percent.",
"type": "number",
"minimum": 0.01,
"maximum": 99.99
},
"binding": {
"description": "each_charge: checked again at every charge (a lapsed member loses it). at_purchase: kept from the purchase.",
"type": "string",
"enum": [
"each_charge",
"at_purchase"
]
},
"retention": {
"type": "string",
"enum": [
"lifetime",
"until_revoked",
"until_date"
]
},
"retainUntil": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"qualify": {
"description": "How someone who isn’t a member qualifies: signed_link (a link you share), code, or open (anyone can claim it, so treat its prices as public).",
"type": "string",
"enum": [
"signed_link",
"code",
"open"
]
},
"showAsTag": {
"description": "Show its members as a customer tag in automations.",
"type": "boolean"
}
},
"required": [
"key",
"value",
"kind",
"name"
],
"additionalProperties": false,
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "object",
"properties": {
"all": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
}
},
"required": [
"all"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"any": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
}
},
"required": [
"any"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"not": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"not"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"count": {
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
},
"since": {
"anyOf": [
{
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
}
},
"required": [
"event"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650
}
},
"required": [
"days"
],
"additionalProperties": false
}
]
},
"where": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"required": [
"event"
],
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"count"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"sum": {
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
},
"since": {
"anyOf": [
{
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
}
},
"required": [
"event"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650
}
},
"required": [
"days"
],
"additionalProperties": false
}
]
},
"where": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"field": {
"type": "string",
"minLength": 1
}
},
"required": [
"event",
"field"
],
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"sum"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"daysSince": {
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
}
},
"required": [
"event"
],
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"daysSince"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"visited": {
"type": "object",
"properties": {
"offeringId": {
"description": "One offering’s visits only.",
"type": "string",
"pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$"
},
"kind": {
"description": "One kind of offering only: class, appointment, workshop.",
"type": "string",
"pattern": "^[a-z_]{1,40}$"
},
"since": {
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650
}
},
"required": [
"days"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"visited"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"daysSinceVisit": {
"type": "object",
"properties": {
"offeringId": {
"description": "One offering’s visits only.",
"type": "string",
"pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$"
},
"kind": {
"description": "One kind of offering only: class, appointment, workshop.",
"type": "string",
"pattern": "^[a-z_]{1,40}$"
}
},
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"daysSinceVisit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"hasGrant": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"productId": {
"type": "string"
},
"benefit": {
"description": "A membership or pack by its benefit name: membership:gold.",
"type": "string",
"pattern": "^(membership|pack|pass):[a-z0-9][a-z0-9_-]{0,62}$"
}
},
"additionalProperties": false
}
},
"required": [
"hasGrant"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"balance": {
"type": "object",
"properties": {
"unit": {
"type": "string",
"minLength": 1
}
},
"required": [
"unit"
],
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"balance"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"required": [
"tag"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"channel": {
"type": "object",
"properties": {
"is": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,40}$"
}
},
"required": [
"is"
],
"additionalProperties": false
}
},
"required": [
"channel"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"field": {
"type": "object",
"properties": {
"record": {
"type": "string",
"const": "customer"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"record",
"key"
],
"additionalProperties": false
},
"is": {
"type": [
"string",
"number",
"boolean"
]
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"exists": {
"type": "boolean"
}
},
"required": [
"field"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"state": {
"type": "object",
"properties": {
"key": {
"type": "string",
"minLength": 1
}
},
"required": [
"key"
],
"additionalProperties": false
},
"is": {
"type": [
"string",
"number",
"boolean"
]
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"exists": {
"type": "boolean"
}
},
"required": [
"state"
],
"additionalProperties": false
}
]
}
}
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.createAudienceLink
Make a link into an audience
- Kind
- Change
- Tool
sales_createAudienceLink- Scope
commerce:write- Reached by
- API, MCP
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"channel": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,40}$",
"description": "Where you’ll share it: instagram, newsletter."
},
"label": {
"type": "string",
"maxLength": 80
}
},
"required": [
"audienceId",
"channel"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.createCode
Add a code
- Kind
- Change
- Tool
sales_createCode- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"description": "What customers type, like SPRING10.",
"type": "string"
},
"adjustmentId": {
"description": "The discount it gives.",
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$"
},
"audienceId": {
"description": "The audience it admits them to (its prices and offers).",
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$"
},
"maxRedemptions": {
"description": "How many times it can be used in all; null for no limit.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"oncePerCustomer": {
"type": "boolean"
},
"startsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"endsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
}
},
"required": [
"code"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.createProduct
Add a product
- Kind
- Change
- Tool
sales_createProduct- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"service",
"physical",
"digital",
"access",
"bundle",
"gift_card"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 2000
},
"fulfillment": {
"description": "How the customer gets it. Services: at_appointment or on_site; physical: pickup, ship or local_delivery; digital: digital; passes: on_site or digital; bundles: any, except a bundle of only passes, packs and services: on_site, at_appointment or digital. Left out, it’s the first of those.",
"type": "string",
"enum": [
"at_appointment",
"pickup",
"ship",
"local_delivery",
"digital",
"on_site"
]
},
"durationMinutes": {
"description": "How long a service takes. Services need it.",
"anyOf": [
{
"type": "integer",
"minimum": 5,
"maximum": 1440,
"multipleOf": 5
},
{
"type": "null"
}
]
},
"inventoryCount": {
"description": "How many are left to sell; null when you don’t count. Physical, digital and passes only. With options, each new combination starts with it.",
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"locationId": {
"description": "Where it’s sold or done, when the business has more than one place.",
"anyOf": [
{
"type": "string",
"pattern": "^loc_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A location id: loc_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"priceMinor": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "Its price in cents."
},
"deposit": {
"description": "Take part of the price online when they book or order (a percent or an amount in cents); the rest is due at the appointment, pickup or delivery. Null takes the whole price.",
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"type": "integer",
"minimum": 1,
"maximum": 99
},
"amountMinor": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"payWhatYouWant": {
"description": "Let the customer pick what they pay, in cents: at least minMinor, with an optional suggestedMinor shown first and maxMinor cap. priceMinor is then only a fallback. Null goes back to the one price.",
"anyOf": [
{
"type": "object",
"properties": {
"minMinor": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "The least they can pay, in cents; 0 for free."
},
"suggestedMinor": {
"description": "The amount shown first, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"maxMinor": {
"description": "The most they can pay, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"minMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"taxCode": {
"description": "A Stripe tax code. Left out, it’s the usual one for the kind of product (physical goods, services or digital).",
"anyOf": [
{
"type": "string",
"pattern": "^txcd_\\d{8}$"
},
{
"type": "null"
}
]
},
"options": {
"description": "Up to three options customers pick, like Size and Color, each with its values. Not on bundles.",
"maxItems": 3,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"values": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
}
},
"required": [
"name",
"values"
],
"additionalProperties": false
}
},
"components": {
"description": "What a bundle holds: your other products, each so many times. A bundle of packs sells as a package that gives each pack; a membership (a repeating price) can’t go in one.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"productId"
],
"additionalProperties": false
}
},
"credits": {
"description": "A pass only: how many uses it holds, like a 10-class pack. Each class booked takes one. A dollar pack (grants.savePack with counts: cents) holds its amount in cents, up to $10,000.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"validDays": {
"description": "A pass with uses: days it’s good for from purchase. Null never runs out.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 3650
},
{
"type": "null"
}
]
},
"repeats": {
"description": "Charge it again every interval until the customer cancels, like a monthly membership. Null is paid once.",
"anyOf": [
{
"type": "object",
"properties": {
"interval": {
"type": "string",
"enum": [
"week",
"month",
"year"
]
},
"count": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 12
},
"trialDays": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 90
}
},
"required": [
"interval"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"policies": {
"description": "Its own policies, ahead of the business’s (a retreat’s 60-day cancellation): the policyId of a named policy (policy.accept with a name) for each kind it differs in. Sales read that policy’s newest version. Null goes back to the business’s own.",
"type": "object",
"properties": {
"cancellation": {
"anyOf": [
{
"type": "string",
"pattern": "^pol_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A policy id: pol_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"deposit": {
"anyOf": [
{
"type": "string",
"pattern": "^pol_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A policy id: pol_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"noShow": {
"anyOf": [
{
"type": "string",
"pattern": "^pol_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A policy id: pol_ and 26 letters and digits."
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"custom": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 40
},
"additionalProperties": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
]
},
"description": "The business’s own fields on products, by key; null clears one."
},
"images": {
"description": "Photos from your files, by file id (files.list with kind `web`); the first is the main one. Replaces its photos.",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
}
},
"downloads": {
"description": "A digital product’s files, by file id (files.list with visibility `private`), in order. Buyers download them once it’s paid. Replaces its files.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
}
},
"downloadLimit": {
"description": "A digital product’s downloads of each file per purchase. Null for no limit.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 100
},
{
"type": "null"
}
]
},
"pickupPerDay": {
"description": "Something picked up: how many can be picked up each day, like 40 cakes. Customers choose a day with room at checkout. Null for no limit.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "null"
}
]
},
"weightOz": {
"description": "Something shipped: one of it boxed, in ounces (32 for 2 lb). Shipping rates are worked out from it. Null uses your default weight per item.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 2400
},
{
"type": "null"
}
]
}
},
"required": [
"type",
"name",
"priceMinor"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.customer
See what a customer owes and has bought
- Kind
- Read
- Tool
sales_customer- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
}
},
"required": [
"customerId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"owed": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"what": {
"type": "string"
},
"amount": {
"type": "string",
"description": "What’s owed, with tax: \"$40.00\"."
},
"since": {
"type": "string",
"description": "When the sale was made: \"Oct 2, 2026\"."
}
},
"required": [
"chargeId",
"agreementId",
"what",
"amount",
"since"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"totalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"currency": {
"type": "string"
}
},
"required": [
"items",
"total",
"totalMinor",
"currency"
],
"additionalProperties": false
},
"sales": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"what": {
"type": "string"
},
"at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"when": {
"type": "string"
},
"total": {
"type": "string"
},
"repeats": {
"type": "boolean"
},
"ended": {
"type": "boolean"
},
"owed": {
"anyOf": [
{
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"amount": {
"type": "string"
}
},
"required": [
"chargeId",
"amount"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"agreementId",
"what",
"at",
"when",
"total",
"repeats",
"ended",
"owed"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"items",
"total"
],
"additionalProperties": false
}
},
"required": [
"owed",
"sales"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.declineRequest
Decline a quote request
- Kind
- Change
- Tool
sales_declineRequest- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"requestId": {
"type": "string",
"pattern": "^qr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A quote request id: qr_ and 26 letters and digits."
}
},
"required": [
"requestId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.draftOffer
Write an offer
- Kind
- Change
- Tool
sales_draftOffer- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"lines": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"description": "The option combination, for a product with options.",
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$"
},
"priceId": {
"description": "A price of the product to use (Monthly, Drop-in). Left out, the best one open to the customer.",
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$"
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"units": {
"description": "For a price per unit: how many (hours, dogs).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"amountMinor": {
"description": "For pay what you want: the amount picked, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"quotedMinor": {
"description": "For something priced by quote: what you’re quoting them, per item, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 100000000
}
},
"required": [
"productId"
],
"additionalProperties": false
}
},
"codes": {
"default": [],
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 40
}
},
"collect": {
"default": "card",
"description": "How they pay: card now (a deposit when the price takes one), authorize (hold now, charge at eventAt, within 7 days), save_then_charge (save their card now, charge when you approve), invoice (due in netDays), in_person.",
"type": "string",
"enum": [
"card",
"authorize",
"save_then_charge",
"invoice",
"in_person"
]
},
"eventAt": {
"description": "The appointment or pickup a hold is charged at, or a balance is due.",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"approveWithinDays": {
"description": "save_then_charge: days you have to approve the charge.",
"type": "integer",
"minimum": 1,
"maximum": 30
},
"netDays": {
"description": "invoice: days they have to pay.",
"type": "integer",
"minimum": 0,
"maximum": 120
},
"expiresInDays": {
"default": 30,
"type": "integer",
"minimum": 1,
"maximum": 30
},
"requestId": {
"description": "The quote request this answers.",
"type": "string",
"pattern": "^qr_[0-9a-hjkmnp-tv-z]{26}$"
}
},
"required": [
"customerId",
"lines"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.freezeAgreement
Freeze billing on a repeating charge
- Kind
- Change
- Tool
sales_freezeAgreement- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The first day frozen, the business’s date."
},
"until": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The day it starts again: billing and access resume then."
}
},
"required": [
"agreementId",
"from",
"until"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.giftCardBalance
Check a gift card’s balance
- Kind
- Read
- Tool
sales_giftCardBalance- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"code"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "ok"
},
"label": {
"type": "string"
},
"balanceMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"balance": {
"type": "string"
}
},
"required": [
"status",
"label",
"balanceMinor",
"balance"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"message": {
"type": "string"
}
},
"required": [
"status",
"message"
],
"additionalProperties": false
}
]
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.giftCards
Gift cards and store credit
- Kind
- Read
- Tool
sales_giftCards- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"customerId": {
"description": "Only the ones this customer holds.",
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$"
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"cards": {
"type": "array",
"items": {
"type": "object",
"properties": {
"giftCardId": {
"type": "string",
"pattern": "^gc_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A gift card id: gc_ and 26 letters and digits."
},
"grantId": {
"anyOf": [
{
"type": "string",
"pattern": "^grt_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A grant id: grt_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"holder": {
"type": "string"
},
"label": {
"type": "string"
},
"credit": {
"type": "boolean"
},
"valueMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"balanceMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"balance": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"waiting",
"active",
"void"
]
},
"issuedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"giftCardId",
"grantId",
"customerId",
"holder",
"label",
"credit",
"valueMinor",
"balanceMinor",
"balance",
"status",
"issuedAt"
],
"additionalProperties": false
}
},
"owedMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"owed": {
"type": "string"
}
},
"required": [
"cards",
"owedMinor",
"owed"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.giveCredit
Give store credit
- Kind
- Change
- Tool
sales_giveCredit- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"amountMinor": {
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"reason": {
"default": "",
"type": "string",
"maxLength": 200
},
"requestId": {
"description": "A fresh random id you make for each new request. Send the same one again only to retry that exact request; a different request with it is refused.",
"type": "string",
"maxLength": 200
}
},
"required": [
"customerId",
"amountMinor"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.heldPayment
A held booking to pay
- Kind
- Read
- Tool
sales_heldPayment- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"status": {
"type": "string",
"enum": [
"due",
"paid",
"released"
]
},
"what": {
"type": "string"
},
"amount": {
"type": "string"
},
"until": {
"type": "string"
}
},
"required": [
"agreementId",
"status",
"what",
"amount",
"until"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.invoices
List your invoices
- Kind
- Read
- Tool
sales_invoices- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"invoices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"number": {
"type": "string"
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"what": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"open",
"paid",
"refunded",
"disputed",
"void"
]
},
"totalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"total": {
"type": "string"
},
"tax": {
"type": [
"string",
"null"
]
},
"taxNote": {
"type": [
"string",
"null"
]
},
"dueOn": {
"type": [
"string",
"null"
]
},
"paidOn": {
"type": [
"string",
"null"
]
},
"failure": {
"type": [
"string",
"null"
]
}
},
"required": [
"chargeId",
"agreementId",
"number",
"customerId",
"customer",
"what",
"state",
"totalMinor",
"total",
"tax",
"taxNote",
"dueOn",
"paidOn",
"failure"
],
"additionalProperties": false
}
}
},
"required": [
"invoices"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.labelRates
Label rates for an order
- Kind
- Read
- Tool
sales_labelRates- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A order id: ord_ and 26 letters and digits."
}
},
"required": [
"orderId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "string"
},
"days": {
"type": [
"string",
"null"
]
}
},
"required": [
"token",
"name",
"price",
"days"
],
"additionalProperties": false
}
},
"suggested": {
"type": [
"string",
"null"
]
},
"paid": {
"type": [
"string",
"null"
]
}
},
"required": [
"options",
"suggested",
"paid"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.markOrders
Update orders
- Kind
- Change
- Tool
sales_markOrders- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"orderIds": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A order id: ord_ and 26 letters and digits."
},
"description": "The orders (`orderId` from commerce.orders)."
},
"status": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up"
],
"description": "packed (for pickup: ready to pick up), shipped (for local delivery: out for delivery), delivered, picked_up, or unfulfilled to undo packed."
},
"tracking": {
"description": "With `shipped` and one order: its tracking, which the customer gets.",
"type": "object",
"properties": {
"carrier": {
"type": "string",
"enum": [
"usps",
"ups",
"fedex",
"dhl",
"other"
],
"description": "Who carries it."
},
"number": {
"type": "string",
"minLength": 4,
"maxLength": 60,
"description": "The tracking number the carrier gave."
},
"url": {
"label": "Link",
"control": "url",
"description": "A tracking page, when the carrier isn’t one we link to ourselves.",
"type": "string"
}
},
"required": [
"carrier",
"number"
],
"additionalProperties": false
}
},
"required": [
"orderIds",
"status"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.markPaid
Mark a charge paid
- Kind
- Change
- Tool
sales_markPaid- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
}
},
"required": [
"chargeId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.money
See what came in, what’s owed and what was kept in a month
- Kind
- Read
- Tool
sales_money- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"month": {
"description": "The month, like 2026-09, in the business’s time zone. This month when left out. What’s owed is every month.",
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"month": {
"type": "string",
"description": "The month shown, like 2026-10."
},
"label": {
"type": "string",
"description": "\"October 2026\"."
},
"previous": {
"type": "string"
},
"next": {
"description": "Null for this month.",
"type": [
"string",
"null"
]
},
"took": {
"type": "object",
"properties": {
"revenueMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"revenue": {
"type": "string",
"description": "Sales after refunds, before tax and fees."
},
"sales": {
"type": "string"
},
"refunds": {
"type": "string"
},
"refundsMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"fees": {
"type": "string"
},
"disputes": {
"type": "string"
},
"disputesMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"tax": {
"type": "string"
},
"taxMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"keptMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"kept": {
"type": "string",
"description": "What reached the business after refunds, fees and disputes."
}
},
"required": [
"revenueMinor",
"revenue",
"sales",
"refunds",
"refundsMinor",
"fees",
"disputes",
"disputesMinor",
"tax",
"taxMinor",
"keptMinor",
"kept"
],
"additionalProperties": false
},
"months": {
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"label": {
"type": "string"
},
"revenueMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"revenue": {
"type": "string"
}
},
"required": [
"month",
"label",
"revenueMinor",
"revenue"
],
"additionalProperties": false
}
},
"sold": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amount",
"charges"
],
"additionalProperties": false
}
},
"memberships": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amount",
"charges"
],
"additionalProperties": false
}
},
"audiences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amount",
"charges"
],
"additionalProperties": false
}
},
"campaigns": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amount",
"charges"
],
"additionalProperties": false
}
},
"locations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amount",
"charges"
],
"additionalProperties": false
}
},
"refunds": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"what": {
"type": "string"
},
"amount": {
"type": "string"
},
"on": {
"type": "string"
}
},
"required": [
"id",
"customerId",
"customer",
"what",
"amount",
"on"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"items",
"total"
],
"additionalProperties": false
},
"owed": {
"type": "object",
"properties": {
"people": {
"type": "array",
"items": {
"type": "object",
"properties": {
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"amount": {
"type": "string"
}
},
"required": [
"customerId",
"customer",
"charges",
"amount"
],
"additionalProperties": false
}
},
"customers": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"totalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"total": {
"type": "string"
}
},
"required": [
"people",
"customers",
"charges",
"totalMinor",
"total"
],
"additionalProperties": false
},
"payout": {
"type": "object",
"properties": {
"connected": {
"type": "boolean"
},
"balanceMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"balance": {
"type": "string"
},
"last": {
"anyOf": [
{
"type": "object",
"properties": {
"amount": {
"type": "string"
},
"on": {
"type": "string"
}
},
"required": [
"amount",
"on"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"connected",
"balanceMinor",
"balance",
"last"
],
"additionalProperties": false
},
"alerts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"text",
"href"
],
"additionalProperties": false
}
}
},
"required": [
"month",
"label",
"previous",
"next",
"took",
"months",
"sold",
"memberships",
"audiences",
"campaigns",
"locations",
"refunds",
"owed",
"payout",
"alerts"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.offer
An offer to accept
- Kind
- Read
- Tool
sales_offer- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"status": {
"type": "string",
"enum": [
"draft",
"offered",
"accepted",
"active",
"past_due",
"paused",
"active_unpaid",
"cancel_scheduled",
"cancelled",
"fulfilled",
"expired",
"abandoned"
]
},
"words": {
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"name",
"label"
],
"additionalProperties": false
}
},
"total": {
"type": "string"
},
"dueNow": {
"type": "string"
},
"terms": {
"type": "string"
},
"renewal": {
"type": [
"string",
"null"
]
},
"button": {
"type": "string"
},
"later": {
"type": [
"string",
"null"
]
},
"tax": {
"type": [
"string",
"null"
]
}
},
"required": [
"lines",
"total",
"dueNow",
"terms",
"renewal",
"button",
"later",
"tax"
],
"additionalProperties": false
},
"termsVersion": {
"type": "string"
},
"repeats": {
"type": "boolean"
},
"expiresAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"askZip": {
"type": "boolean"
}
},
"required": [
"agreementId",
"status",
"words",
"termsVersion",
"repeats",
"expiresAt",
"askZip"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.order
An order
- Kind
- Read
- Tool
sales_order- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A order id: ord_ and 26 letters and digits."
}
},
"required": [
"orderId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"order": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A order id: ord_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"subscription": {
"type": "boolean"
},
"method": {
"type": "string",
"enum": [
"ship",
"local_delivery",
"pickup"
]
},
"status": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up",
"cancelled"
]
},
"statusLabel": {
"type": "string"
},
"what": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"name",
"quantity"
],
"additionalProperties": false
}
},
"shipTo": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"pickupOn": {
"type": [
"string",
"null"
]
},
"pickupAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"note": {
"type": [
"string",
"null"
]
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"carrier": {
"type": "string"
},
"number": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"carrier",
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"stockNote": {
"type": [
"string",
"null"
]
},
"service": {
"type": [
"string",
"null"
]
},
"labelUrl": {
"type": [
"string",
"null"
]
},
"labelBuying": {
"type": "boolean"
},
"next": {
"type": "array",
"items": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up",
"cancelled"
]
}
},
"canCancel": {
"type": "boolean"
},
"placedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"orderId",
"agreementId",
"customerId",
"customer",
"number",
"subscription",
"method",
"status",
"statusLabel",
"what",
"items",
"shipTo",
"pickupOn",
"pickupAt",
"note",
"tracking",
"stockNote",
"service",
"labelUrl",
"labelBuying",
"next",
"canCancel",
"placedAt"
],
"additionalProperties": false
}
},
"required": [
"order"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.orders
Orders to send
- Kind
- Read
- Tool
sales_orders- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"tab": {
"default": "to_ship",
"description": "to_ship: not sent yet (the default); sent: on its way; done: delivered or picked up; cancelled.",
"type": "string",
"enum": [
"to_ship",
"sent",
"done",
"cancelled"
]
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"tab": {
"type": "string",
"enum": [
"to_ship",
"sent",
"done",
"cancelled"
]
},
"orders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A order id: ord_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"subscription": {
"type": "boolean"
},
"method": {
"type": "string",
"enum": [
"ship",
"local_delivery",
"pickup"
]
},
"status": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up",
"cancelled"
]
},
"statusLabel": {
"type": "string"
},
"what": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"name",
"quantity"
],
"additionalProperties": false
}
},
"shipTo": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"pickupOn": {
"type": [
"string",
"null"
]
},
"pickupAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"note": {
"type": [
"string",
"null"
]
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"carrier": {
"type": "string"
},
"number": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"carrier",
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"stockNote": {
"type": [
"string",
"null"
]
},
"service": {
"type": [
"string",
"null"
]
},
"labelUrl": {
"type": [
"string",
"null"
]
},
"labelBuying": {
"type": "boolean"
},
"next": {
"type": "array",
"items": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up",
"cancelled"
]
}
},
"canCancel": {
"type": "boolean"
},
"placedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"orderId",
"agreementId",
"customerId",
"customer",
"number",
"subscription",
"method",
"status",
"statusLabel",
"what",
"items",
"shipTo",
"pickupOn",
"pickupAt",
"note",
"tracking",
"stockNote",
"service",
"labelUrl",
"labelBuying",
"next",
"canCancel",
"placedAt"
],
"additionalProperties": false
}
},
"toShip": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"tab",
"orders",
"toShip"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.paidUp
Whether a sale is paid up
- Kind
- Read
- Tool
sales_paidUp- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"customerId": {
"anyOf": [
{
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"released": {
"type": "boolean"
},
"dueMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"due": {
"type": "string"
},
"currency": {
"type": "string"
},
"refunded": {
"type": "boolean"
},
"ended": {
"type": "boolean"
},
"payUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"customerId",
"released",
"dueMinor",
"due",
"currency",
"refunded",
"ended",
"payUrl"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.pauseAgreement
Pause
- Kind
- Change
- Tool
sales_pauseAgreement- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.payment
A payment to make
- Kind
- Read
- Tool
sales_payment- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
}
},
"required": [
"chargeId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"status": {
"type": "string",
"enum": [
"due",
"processing",
"paid",
"closed"
]
},
"what": {
"type": "string"
},
"amount": {
"type": "string"
},
"failure": {
"type": [
"string",
"null"
]
},
"retry": {
"type": [
"string",
"null"
]
},
"clientSecret": {
"type": [
"string",
"null"
]
},
"account": {
"type": [
"string",
"null"
]
},
"repeats": {
"type": "boolean"
},
"canCancel": {
"type": "boolean"
},
"stopsOn": {
"type": [
"string",
"null"
]
},
"cancelWords": {
"type": [
"string",
"null"
]
}
},
"required": [
"chargeId",
"agreementId",
"status",
"what",
"amount",
"failure",
"retry",
"clientSecret",
"account",
"repeats",
"canCancel",
"stopsOn",
"cancelWords"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.pickupDays
Pickup days with room
- Kind
- Read
- Tool
sales_pickupDays- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"productId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"on": {
"type": "string"
},
"label": {
"type": "string"
},
"left": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"on",
"label",
"left"
],
"additionalProperties": false
}
}
},
"required": [
"days"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.pickups
Pickups by time
- Kind
- Read
- Tool
sales_pickups- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"from": {
"description": "Only pickups at or after this time.",
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"agreementIds": {
"description": "Only these sales’ pickups.",
"maxItems": 200,
"type": "array",
"items": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"orders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A order id: ord_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"subscription": {
"type": "boolean"
},
"method": {
"type": "string",
"enum": [
"ship",
"local_delivery",
"pickup"
]
},
"status": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up",
"cancelled"
]
},
"statusLabel": {
"type": "string"
},
"what": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"name",
"quantity"
],
"additionalProperties": false
}
},
"shipTo": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"pickupOn": {
"type": [
"string",
"null"
]
},
"pickupAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
},
"note": {
"type": [
"string",
"null"
]
},
"tracking": {
"anyOf": [
{
"type": "object",
"properties": {
"carrier": {
"type": "string"
},
"number": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
},
"required": [
"carrier",
"number",
"url"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"stockNote": {
"type": [
"string",
"null"
]
},
"service": {
"type": [
"string",
"null"
]
},
"labelUrl": {
"type": [
"string",
"null"
]
},
"labelBuying": {
"type": "boolean"
},
"next": {
"type": "array",
"items": {
"type": "string",
"enum": [
"unfulfilled",
"packed",
"shipped",
"delivered",
"picked_up",
"cancelled"
]
}
},
"canCancel": {
"type": "boolean"
},
"placedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"orderId",
"agreementId",
"customerId",
"customer",
"number",
"subscription",
"method",
"status",
"statusLabel",
"what",
"items",
"shipTo",
"pickupOn",
"pickupAt",
"note",
"tracking",
"stockNote",
"service",
"labelUrl",
"labelBuying",
"next",
"canCancel",
"placedAt"
],
"additionalProperties": false
}
}
},
"required": [
"orders"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.policyMoney
See how your policies use payments
- Kind
- Read
- Tool
sales_policyMoney- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"charging": {
"type": "boolean"
},
"savedCards": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"policyCharges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"charging",
"savedCards",
"policyCharges"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.previewSale
See a sale before it’s agreed
- Kind
- Read
- Tool
sales_previewSale- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"lines": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"description": "The option combination, for a product with options.",
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$"
},
"priceId": {
"description": "A price of the product to use (Monthly, Drop-in). Left out, the best one open to the customer.",
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$"
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"units": {
"description": "For a price per unit: how many (hours, dogs).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"amountMinor": {
"description": "For pay what you want: the amount picked, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"quotedMinor": {
"description": "For something priced by quote: what you’re quoting them, per item, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 100000000
}
},
"required": [
"productId"
],
"additionalProperties": false
}
},
"codes": {
"default": [],
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 40
}
},
"proofs": {
"default": [],
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"open": {
"default": [],
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 81
}
},
"collect": {
"default": "card",
"type": "string",
"enum": [
"card",
"authorize",
"save_then_charge",
"invoice",
"in_person"
]
},
"eventAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"approveWithinDays": {
"type": "integer",
"minimum": 1,
"maximum": 30
},
"netDays": {
"type": "integer",
"minimum": 0,
"maximum": 120
},
"asCustomerId": {
"description": "The business only: see it as this customer would.",
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$"
},
"policies": {
"default": [],
"description": "The business’s policies a booking or order is sold under (cancellation, deposit, no_show), as `commerce.sell` would.",
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"enum": [
"cancellation",
"deposit",
"no_show"
]
}
},
"balanceAt": {
"type": "string",
"enum": [
"appointment",
"pickup",
"delivery"
]
},
"installments": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": 2,
"maximum": 12
},
"dates": {
"description": "The later payments’ dates (YYYY-MM-DD, the business’s calendar), one per payment after the first, in order. The first is charged now.",
"minItems": 1,
"maxItems": 11,
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"every": {
"description": "Or one payment every week or month from today. The default is monthly.",
"type": "string",
"enum": [
"week",
"month"
]
}
},
"required": [
"count"
],
"additionalProperties": false,
"description": "A payment plan: the first payment now, the rest charged to the saved card on their dates. The customer agrees to it on its own (`agreeToRenewal`)."
},
"tender": {
"default": [],
"description": "Gift cards (by `code`) and store credit or cards the customer holds (by `grantId`) to pay with first, in order. They pay what’s due now, then any balance; a card pays the rest.",
"maxItems": 5,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"code"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"grantId": {
"type": "string",
"pattern": "^grt_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A gift card or store credit the customer holds (`commerce.storedValue`). A grant id: grt_ and 26 letters and digits."
}
},
"required": [
"grantId"
],
"additionalProperties": false
}
]
}
},
"taxZip": {
"label": "ZIP code",
"description": "The customer’s ZIP code, for something shipped or sent digitally: with it, the words show the sales tax and the total with it. Without it, such a sale at a business that collects sales tax answers `askZip`. Anything supplied at the business is taxed there and never needs one.",
"type": "string",
"maxLength": 20
},
"locationId": {
"description": "Where it’s provided, when that’s a place or venue of the business (a session’s location), as `commerce.sell` takes it.",
"type": "string",
"pattern": "^loc_[0-9a-hjkmnp-tv-z]{26}$"
},
"shipTo": {
"description": "Where something shipped goes: with it, the words show shipping (the cheapest way, or `shipping`) and the sales tax for that address.",
"type": "object",
"properties": {
"line1": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"label": "Street address"
},
"line2": {
"default": "",
"label": "Suite or unit",
"type": "string",
"maxLength": 120
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"label": "City"
},
"region": {
"label": "State",
"type": "string",
"maxLength": 40
},
"postalCode": {
"label": "ZIP code",
"type": "string",
"maxLength": 20
},
"country": {
"default": "US",
"type": "string",
"const": "US"
},
"geo": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
},
"placeId": {
"type": "string",
"maxLength": 200
},
"checked": {
"type": "boolean"
},
"timeZone": {
"type": "string",
"maxLength": 64
},
"showStreet": {
"default": true,
"label": "Show the street address",
"type": "boolean"
}
},
"required": [
"line1",
"city",
"region"
],
"additionalProperties": false
},
"shipping": {
"description": "The way to ship it the customer picked (a `token` from `shipping.options`).",
"type": "string",
"maxLength": 400
}
},
"required": [
"lines"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "priced"
},
"words": {
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"name",
"label"
],
"additionalProperties": false
}
},
"total": {
"type": "string"
},
"dueNow": {
"type": "string"
},
"terms": {
"type": "string"
},
"renewal": {
"type": [
"string",
"null"
]
},
"button": {
"type": "string"
},
"later": {
"type": [
"string",
"null"
]
},
"tax": {
"type": [
"string",
"null"
]
}
},
"required": [
"lines",
"total",
"dueNow",
"terms",
"renewal",
"button",
"later",
"tax"
],
"additionalProperties": false
},
"termsVersion": {
"type": "string"
},
"repeats": {
"type": "boolean"
},
"collect": {
"type": "string",
"enum": [
"card",
"authorize",
"save_then_charge",
"invoice",
"in_person"
]
},
"fellBack": {
"type": "boolean"
},
"onSession": {
"anyOf": [
{
"type": "string",
"enum": [
"payment",
"authorize",
"setup"
]
},
{
"type": "null"
}
]
},
"giftCard": {
"type": "boolean"
},
"askZip": {
"type": "boolean"
},
"delivery": {
"anyOf": [
{
"type": "string",
"enum": [
"ship",
"local_delivery",
"pickup"
]
},
{
"type": "null"
}
]
},
"shipping": {
"anyOf": [
{
"type": "object",
"properties": {
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"name": {
"type": "string"
},
"price": {
"type": "string"
},
"days": {
"type": [
"string",
"null"
]
}
},
"required": [
"token",
"name",
"price",
"days"
],
"additionalProperties": false
}
},
"chosen": {
"type": [
"string",
"null"
]
},
"note": {
"type": [
"string",
"null"
]
}
},
"required": [
"options",
"chosen",
"note"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"words",
"termsVersion",
"repeats",
"collect",
"fellBack",
"onSession",
"giftCard",
"askZip",
"delivery",
"shipping"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "unpriceable"
},
"message": {
"type": "string"
},
"productId": {
"anyOf": [
{
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"offer": {
"anyOf": [
{
"type": "string",
"enum": [
"request_quote"
]
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"message",
"productId",
"offer"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"message": {
"type": "string"
},
"alternative": {
"anyOf": [
{
"type": "string",
"enum": [
"card",
"authorize",
"save_then_charge",
"invoice",
"in_person"
]
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"message",
"alternative"
],
"additionalProperties": false
}
]
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.priceConfirmation
A new price to confirm
- Kind
- Read
- Tool
sales_priceConfirmation- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
}
},
"required": [
"chargeId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"status": {
"type": "string",
"enum": [
"waiting",
"confirmed",
"closed"
]
},
"what": {
"type": "string"
},
"from": {
"type": "string"
},
"to": {
"type": "string"
},
"why": {
"type": "string"
},
"words": {
"type": "string"
},
"wordsVersion": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"canCancel": {
"type": "boolean"
},
"cancelWords": {
"type": [
"string",
"null"
]
}
},
"required": [
"chargeId",
"agreementId",
"status",
"what",
"from",
"to",
"why",
"words",
"wordsVersion",
"amountMinor",
"canCancel",
"cancelWords"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.priceList
What things cost
- Kind
- Read
- Tool
sales_priceList- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productIds": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
}
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"service",
"physical",
"digital",
"access",
"bundle",
"gift_card",
"shipping"
]
},
"prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"priceId": {
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price id: pri_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"label": {
"type": "string"
},
"fromMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"currency": {
"type": "string"
},
"model": {
"type": "string",
"enum": [
"flat",
"per_unit",
"tiered",
"deposit",
"pay_what_you_want",
"quote_required"
]
}
},
"required": [
"priceId",
"name",
"label",
"fromMinor",
"currency",
"model"
],
"additionalProperties": false
}
}
},
"required": [
"productId",
"name",
"description",
"type",
"prices"
],
"additionalProperties": false
}
}
},
"required": [
"products"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.prices
A product’s prices
- Kind
- Read
- Tool
sales_prices- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"archived": {
"default": false,
"description": "Include prices no longer offered.",
"type": "boolean"
}
},
"required": [
"productId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"priceId": {
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price id: pri_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"variantId": {
"anyOf": [
{
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"audienceId": {
"anyOf": [
{
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"active",
"archived"
]
},
"current": {
"type": "object",
"properties": {
"versionId": {
"type": "string",
"pattern": "^prv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price version id: prv_ and 26 letters and digits."
},
"version": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"model": {
"type": "string",
"enum": [
"flat",
"per_unit",
"tiered",
"deposit",
"pay_what_you_want",
"quote_required"
]
},
"label": {
"type": "string"
},
"fromMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"currency": {
"type": "string"
},
"grandfather": {
"type": "string",
"enum": [
"keep",
"keep_until",
"migrate_at_renewal",
"migrate_after_notice"
]
},
"publishedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"retiredAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"versionId",
"version",
"model",
"label",
"fromMinor",
"currency",
"grandfather",
"publishedAt",
"retiredAt"
],
"additionalProperties": false
},
"history": {
"type": "array",
"items": {
"type": "object",
"properties": {
"versionId": {
"type": "string",
"pattern": "^prv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price version id: prv_ and 26 letters and digits."
},
"version": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"model": {
"type": "string",
"enum": [
"flat",
"per_unit",
"tiered",
"deposit",
"pay_what_you_want",
"quote_required"
]
},
"label": {
"type": "string"
},
"fromMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"currency": {
"type": "string"
},
"grandfather": {
"type": "string",
"enum": [
"keep",
"keep_until",
"migrate_at_renewal",
"migrate_after_notice"
]
},
"publishedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"retiredAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
]
}
},
"required": [
"versionId",
"version",
"model",
"label",
"fromMinor",
"currency",
"grandfather",
"publishedAt",
"retiredAt"
],
"additionalProperties": false
}
}
},
"required": [
"priceId",
"name",
"isDefault",
"variantId",
"audienceId",
"status",
"current",
"history"
],
"additionalProperties": false
}
}
},
"required": [
"prices"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.product
Look up a product
- Kind
- Read
- Tool
sales_product- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
}
},
"required": [
"productId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"product": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"type": {
"type": "string",
"enum": [
"service",
"physical",
"digital",
"access",
"bundle",
"gift_card",
"shipping"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"fulfillment": {
"type": "string",
"enum": [
"at_appointment",
"pickup",
"ship",
"local_delivery",
"digital",
"on_site"
]
},
"durationMinutes": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"priceMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"currency": {
"type": "string"
},
"priceLabel": {
"type": "string"
},
"priceModel": {
"anyOf": [
{
"type": "string",
"enum": [
"flat",
"per_unit",
"tiered",
"deposit",
"pay_what_you_want",
"quote_required"
]
},
{
"type": "null"
}
]
},
"perUnit": {
"anyOf": [
{
"type": "object",
"properties": {
"label": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"label",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"credits": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"validDays": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"repeats": {
"anyOf": [
{
"type": "object",
"properties": {
"interval": {
"type": "string"
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"trialDays": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"interval",
"count",
"trialDays"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"deposit": {
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"amountMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"percent",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"payWhatYouWant": {
"anyOf": [
{
"type": "object",
"properties": {
"minMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"suggestedMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"maxMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"minMinor",
"suggestedMinor",
"maxMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"taxCode": {
"type": [
"string",
"null"
]
},
"locationId": {
"anyOf": [
{
"type": "string",
"pattern": "^loc_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A location id: loc_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"active",
"archived"
]
},
"inStock": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"values"
],
"additionalProperties": false
}
},
"variants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
"label": {
"type": "string"
},
"choices": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"inventoryCount": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"label",
"choices",
"inventoryCount"
],
"additionalProperties": false
}
},
"parts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"anyOf": [
{
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"productId",
"variantId",
"name",
"quantity"
],
"additionalProperties": false
}
},
"images": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"id",
"url",
"alt"
],
"additionalProperties": false
}
},
"downloads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"contentType": {
"type": "string"
},
"bytes": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"name",
"contentType",
"bytes"
],
"additionalProperties": false
}
},
"downloadLimit": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"pickupPerDay": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"weightOz": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"mirrored": {
"type": "boolean"
}
},
"required": [
"id",
"type",
"name",
"description",
"fulfillment",
"durationMinutes",
"priceMinor",
"currency",
"priceLabel",
"priceModel",
"perUnit",
"credits",
"validDays",
"repeats",
"deposit",
"payWhatYouWant",
"taxCode",
"locationId",
"status",
"inStock",
"options",
"variants",
"parts",
"images",
"downloads",
"downloadLimit",
"pickupPerDay",
"weightOz",
"mirrored"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"product"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.productPolicies
The cancellation policy products are sold under
- Kind
- Read
- Tool
sales_productPolicies- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productIds": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
}
}
},
"required": [
"productIds"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"policies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"cancellation": {
"type": "object",
"properties": {
"policyId": {
"type": "string",
"pattern": "^pol_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A policy id: pol_ and 26 letters and digits."
},
"terms": {
"type": "object",
"properties": {
"freeUntilMinutes": {
"type": "integer",
"minimum": 0,
"maximum": 525600
},
"lateRefundPercent": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"refundAs": {
"type": "string",
"enum": [
"card",
"store_credit"
]
}
},
"required": [
"freeUntilMinutes",
"lateRefundPercent"
],
"additionalProperties": false
}
},
"required": [
"policyId",
"terms"
],
"additionalProperties": false
}
},
"required": [
"productId",
"cancellation"
],
"additionalProperties": false
}
}
},
"required": [
"policies"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.products
List products
- Kind
- Read
- Tool
sales_products- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"status": {
"default": "active",
"description": "On sale (active), taken off sale (archived), or all.",
"type": "string",
"enum": [
"active",
"archived",
"all"
]
},
"type": {
"type": "string",
"enum": [
"service",
"physical",
"digital",
"access",
"bundle",
"gift_card",
"shipping"
]
},
"fulfillment": {
"description": "How the customer gets it: at_appointment for bookable services.",
"type": "string",
"enum": [
"at_appointment",
"pickup",
"ship",
"local_delivery",
"digital",
"on_site"
]
},
"productIds": {
"description": "Only these.",
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
}
},
"q": {
"description": "Part of a name.",
"type": "string",
"maxLength": 120
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"type": {
"type": "string",
"enum": [
"service",
"physical",
"digital",
"access",
"bundle",
"gift_card",
"shipping"
]
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"fulfillment": {
"type": "string",
"enum": [
"at_appointment",
"pickup",
"ship",
"local_delivery",
"digital",
"on_site"
]
},
"durationMinutes": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"priceMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"currency": {
"type": "string"
},
"priceLabel": {
"type": "string"
},
"priceModel": {
"anyOf": [
{
"type": "string",
"enum": [
"flat",
"per_unit",
"tiered",
"deposit",
"pay_what_you_want",
"quote_required"
]
},
{
"type": "null"
}
]
},
"perUnit": {
"anyOf": [
{
"type": "object",
"properties": {
"label": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"label",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"credits": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"validDays": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"repeats": {
"anyOf": [
{
"type": "object",
"properties": {
"interval": {
"type": "string"
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"trialDays": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"interval",
"count",
"trialDays"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"deposit": {
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"amountMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"percent",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"payWhatYouWant": {
"anyOf": [
{
"type": "object",
"properties": {
"minMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"suggestedMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"maxMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"minMinor",
"suggestedMinor",
"maxMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"taxCode": {
"type": [
"string",
"null"
]
},
"locationId": {
"anyOf": [
{
"type": "string",
"pattern": "^loc_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A location id: loc_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"active",
"archived"
]
},
"inStock": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"values"
],
"additionalProperties": false
}
},
"variants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
"label": {
"type": "string"
},
"choices": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"inventoryCount": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"label",
"choices",
"inventoryCount"
],
"additionalProperties": false
}
},
"parts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"anyOf": [
{
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"productId",
"variantId",
"name",
"quantity"
],
"additionalProperties": false
}
},
"images": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"alt": {
"type": "string"
}
},
"required": [
"id",
"url",
"alt"
],
"additionalProperties": false
}
},
"downloads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"contentType": {
"type": "string"
},
"bytes": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"id",
"name",
"contentType",
"bytes"
],
"additionalProperties": false
}
},
"downloadLimit": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"pickupPerDay": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"weightOz": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"mirrored": {
"type": "boolean"
}
},
"required": [
"id",
"type",
"name",
"description",
"fulfillment",
"durationMinutes",
"priceMinor",
"currency",
"priceLabel",
"priceModel",
"perUnit",
"credits",
"validDays",
"repeats",
"deposit",
"payWhatYouWant",
"taxCode",
"locationId",
"status",
"inStock",
"options",
"variants",
"parts",
"images",
"downloads",
"downloadLimit",
"pickupPerDay",
"weightOz",
"mirrored"
],
"additionalProperties": false
}
}
},
"required": [
"products"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.publishAdjustment
Set a discount
- Kind
- Change
- Tool
sales_publishAdjustment- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"adjustmentId": {
"description": "The adjustment to change. Left out, a new one is added.",
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"effect": {
"type": "string",
"enum": [
"percent",
"amount",
"fixed_price",
"free_item",
"buy_x_get_y"
],
"description": "percent off, amount off, fixed_price (each costs this), free_item, or buy_x_get_y."
},
"percent": {
"description": "For percent: how much off, like 15.",
"type": "number",
"minimum": 0.01,
"maximum": 100
},
"amountMinor": {
"description": "For amount: how much off; for fixed_price: the price. In cents.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"stackingGroup": {
"description": "Adjustments in one group combine; different groups are alternatives and the customer gets the lower total. Left out: default.",
"type": "string",
"pattern": "^[a-z0-9_-]{1,40}$"
},
"priority": {
"description": "Breaks a tie between alternatives: higher wins.",
"type": "integer",
"minimum": -100,
"maximum": 100
},
"audienceId": {
"description": "Only for this audience’s holders (a member price).",
"anyOf": [
{
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"requiresCode": {
"description": "Only through a code (add one with commerce.createCode).",
"type": "boolean"
},
"heldBy": {
"description": "System only: the module that says who holds it (its `adjustments` fill), like loyalty for a reward.",
"anyOf": [
{
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,39}$"
},
{
"type": "null"
}
]
},
"startsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"endsAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"firstNCharges": {
"description": "An intro: only the first N paid charges of a repeating price.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 120
},
{
"type": "null"
}
]
},
"reads": {
"description": "pinned: customers keep this version at renewals; live: renewals read the current one.",
"type": "string",
"enum": [
"pinned",
"live"
]
},
"budgetMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"maxRedemptions": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"perCustomer": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 1000
},
{
"type": "null"
}
]
},
"productIds": {
"description": "The products it reaches; left out, the whole order.",
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
}
},
"minSubtotalMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"minQuantity": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"buy": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"get": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"getPercent": {
"description": "Buy X get Y: how much off the Y, 100 for free.",
"type": "number",
"minimum": 0.01,
"maximum": 100
},
"freeProductId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"freeQuantity": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"name",
"effect"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.publishPrice
Set a price
- Kind
- Change
- Tool
sales_publishPrice- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"priceId": {
"description": "The price to change. Left out, a new price is added.",
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$"
},
"variantId": {
"description": "For one option combination only (a new price).",
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$"
},
"audienceId": {
"description": "Only for this audience’s holders, like a member or Instagram price (a new price).",
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$"
},
"name": {
"description": "What you call it: Monthly, Drop-in.",
"type": "string",
"maxLength": 60
},
"amountMinor": {
"description": "In cents: each one (flat), per unit (per_unit), the full price (deposit). Left out for tiered, pay what you want and quote required.",
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"terms": {
"description": "How the price works (model): flat, per_unit, tiered, deposit, pay_what_you_want or quote_required. Left out, it’s flat.",
"oneOf": [
{
"type": "object",
"properties": {
"model": {
"type": "string",
"const": "flat"
}
},
"required": [
"model"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"model": {
"type": "string",
"const": "per_unit"
},
"unitLabel": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"minUnits": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"maxUnits": {
"default": null,
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"model",
"unitLabel"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"model": {
"type": "string",
"const": "tiered"
},
"mode": {
"type": "string",
"enum": [
"graduated",
"volume"
]
},
"tiers": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"upTo": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"unitMinor": {
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"flatMinor": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 100000000
}
},
"required": [
"upTo",
"unitMinor"
],
"additionalProperties": false
}
}
},
"required": [
"model",
"mode",
"tiers"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"model": {
"type": "string",
"const": "deposit"
},
"depositBps": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "null"
}
]
},
"depositMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
{
"type": "null"
}
]
},
"balanceAt": {
"type": "string",
"enum": [
"appointment",
"pickup",
"delivery"
]
}
},
"required": [
"model",
"depositBps",
"depositMinor",
"balanceAt"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"model": {
"type": "string",
"const": "pay_what_you_want"
},
"minMinor": {
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
"suggestedMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
{
"type": "null"
}
]
},
"maxMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100000000
},
{
"type": "null"
}
]
}
},
"required": [
"model",
"minMinor",
"suggestedMinor",
"maxMinor"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"model": {
"type": "string",
"const": "quote_required"
}
},
"required": [
"model"
],
"additionalProperties": false
}
]
},
"recurring": {
"description": "For a price that repeats: every count interval (1 month), with trialDays free first. Null for one-time.",
"anyOf": [
{
"type": "object",
"properties": {
"interval": {
"type": "string",
"enum": [
"day",
"week",
"month",
"year"
]
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 36
},
"trialDays": {
"type": "integer",
"minimum": 0,
"maximum": 365
}
},
"required": [
"interval",
"count",
"trialDays"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"grandfather": {
"type": "object",
"properties": {
"policy": {
"type": "string",
"enum": [
"keep",
"keep_until",
"migrate_at_renewal",
"migrate_after_notice"
],
"description": "What happens to customers already paying when this price changes later: keep (they keep it), keep_until (until keepUntil or for keepCharges charges), migrate_at_renewal, or migrate_after_notice (after noticeDays, 7 to 30)."
},
"keepUntil": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "null"
}
]
},
"keepCharges": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 120
},
{
"type": "null"
}
]
},
"noticeDays": {
"anyOf": [
{
"type": "integer",
"minimum": 7,
"maximum": 30
},
{
"type": "null"
}
]
},
"survivesPause": {
"type": "boolean"
},
"survivesSwitch": {
"type": "boolean"
}
},
"required": [
"policy"
],
"additionalProperties": false
}
},
"required": [
"productId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.quote
Price a cart
- Kind
- Read
- Tool
sales_quote- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"lines": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"description": "The option combination, for a product with options.",
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$"
},
"priceId": {
"description": "A price of the product to use (Monthly, Drop-in). Left out, the best one open to the customer.",
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$"
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"units": {
"description": "For a price per unit: how many (hours, dogs).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"amountMinor": {
"description": "For pay what you want: the amount picked, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 100000000
}
},
"required": [
"productId"
],
"additionalProperties": false
}
},
"codes": {
"default": [],
"description": "Codes the customer typed, like SPRING10.",
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 40
}
},
"proofs": {
"default": [],
"description": "Signed link tokens captured when the customer arrived. An audience or channel is never named here: a price reached by editing a link isn’t applied.",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"open": {
"default": [],
"description": "Open audiences the customer named, as key=value.",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 81
}
},
"asCustomerId": {
"description": "The business only: price it as this customer would see it.",
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$"
},
"previewAudienceIds": {
"description": "The business only: price it for a made-up customer holding these audiences.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
}
}
},
"required": [
"lines"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "priced"
},
"currency": {
"type": "string"
},
"subtotalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"discountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"totalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"dueNowMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"anyOf": [
{
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"service",
"physical",
"digital",
"access",
"bundle",
"gift_card",
"shipping"
]
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"priceId": {
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price id: pri_ and 26 letters and digits."
},
"versionId": {
"type": "string",
"pattern": "^prv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price version id: prv_ and 26 letters and digits."
},
"model": {
"type": "string",
"enum": [
"flat",
"per_unit",
"tiered",
"deposit",
"pay_what_you_want",
"quote_required"
]
},
"unitMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"subtotalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"discountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"totalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"dueNowMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"recurring": {
"anyOf": [
{
"type": "object",
"properties": {
"interval": {
"type": "string",
"enum": [
"day",
"week",
"month",
"year"
]
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"trialDays": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"interval",
"count",
"trialDays"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"schedule": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"step": {
"type": "string",
"const": "charge_now"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"step",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"step": {
"type": "string",
"const": "deposit_now"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"step",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"step": {
"type": "string",
"const": "balance_at"
},
"event": {
"type": "string",
"enum": [
"appointment",
"pickup",
"delivery"
]
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"step",
"event",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"step": {
"type": "string",
"const": "trial"
},
"days": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"step",
"days"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"step": {
"type": "string",
"const": "recurring"
},
"interval": {
"type": "string",
"enum": [
"day",
"week",
"month",
"year"
]
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"step",
"interval",
"count",
"amountMinor"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"step": {
"type": "string",
"const": "installment"
},
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"on": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"step",
"number",
"on",
"amountMinor"
],
"additionalProperties": false
}
]
}
},
"label": {
"type": "string"
},
"fulfillment": {
"type": "string",
"enum": [
"at_appointment",
"pickup",
"ship",
"local_delivery",
"digital",
"on_site"
]
},
"taxCode": {
"type": [
"string",
"null"
]
},
"parts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"anyOf": [
{
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"taxCode": {
"type": [
"string",
"null"
]
}
},
"required": [
"productId",
"variantId",
"name",
"quantity",
"taxCode"
],
"additionalProperties": false
}
},
"adjustments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"adjustmentId",
"amountMinor"
],
"additionalProperties": false
}
}
},
"required": [
"productId",
"variantId",
"name",
"type",
"quantity",
"priceId",
"versionId",
"model",
"unitMinor",
"subtotalMinor",
"discountMinor",
"totalMinor",
"dueNowMinor",
"recurring",
"schedule",
"label",
"fulfillment",
"taxCode",
"parts",
"adjustments"
],
"additionalProperties": false
}
},
"phases": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"fromCharge": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"throughCharge": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"totalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"fromCharge",
"throughCharge",
"totalMinor"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"installments": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"on": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"number",
"on",
"amountMinor"
],
"additionalProperties": false
}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "object",
"properties": {
"engineVersion": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"resolvedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"versions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"priceId": {
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price id: pri_ and 26 letters and digits."
},
"versionId": {
"type": "string",
"pattern": "^prv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price version id: prv_ and 26 letters and digits."
},
"version": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"why": {
"type": "string",
"enum": [
"list",
"audience",
"pinned",
"migrated"
]
},
"label": {
"type": "string"
}
},
"required": [
"productId",
"priceId",
"versionId",
"version",
"why",
"label"
],
"additionalProperties": false
}
},
"applied": {
"type": "array",
"items": {
"type": "object",
"properties": {
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
},
"versionId": {
"type": "string",
"pattern": "^adv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment version id: adv_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"effect": {
"type": "string",
"enum": [
"percent",
"amount",
"fixed_price",
"free_item",
"buy_x_get_y"
]
},
"via": {
"type": "string",
"enum": [
"audience",
"code",
"everyone",
"held"
]
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"firstNCharges": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"adjustmentId",
"versionId",
"name",
"effect",
"via",
"amountMinor",
"firstNCharges"
],
"additionalProperties": false
}
},
"notApplied": {
"type": "array",
"items": {
"type": "object",
"properties": {
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
},
"versionId": {
"type": "string",
"pattern": "^adv_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment version id: adv_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"reason": {
"type": "string",
"enum": [
"exclusive_with",
"smaller_than",
"limit_reached",
"first_charges_done",
"buy_more",
"add_item",
"cart_minimum",
"other_currency",
"nothing_to_discount",
"not_now"
]
},
"instead": {
"type": "array",
"items": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
}
},
"message": {
"type": "string"
}
},
"required": [
"adjustmentId",
"versionId",
"name",
"reason",
"instead",
"message"
],
"additionalProperties": false
}
},
"audiences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"proof": {
"type": "string"
}
},
"required": [
"audienceId",
"name",
"proof"
],
"additionalProperties": false
}
},
"codes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ok",
"unknown",
"expired",
"used_up",
"already_used"
]
},
"message": {
"type": "string"
}
},
"required": [
"code",
"status",
"message"
],
"additionalProperties": false
}
}
},
"required": [
"engineVersion",
"resolvedAt",
"versions",
"applied",
"notApplied",
"audiences",
"codes"
],
"additionalProperties": false
}
},
"required": [
"status",
"currency",
"subtotalMinor",
"discountMinor",
"totalMinor",
"dueNowMinor",
"lines",
"phases",
"explanation"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "unpriceable"
},
"reason": {
"type": "string",
"enum": [
"not_for_sale",
"pick_option",
"sold_out",
"not_enough",
"no_price",
"quote_required",
"pick_amount",
"below_minimum",
"above_maximum",
"pick_units",
"mixed_currency"
]
},
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"message": {
"type": "string"
},
"offer": {
"anyOf": [
{
"type": "string",
"enum": [
"request_quote"
]
},
{
"type": "null"
}
]
},
"line": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"status",
"reason",
"productId",
"message",
"offer"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "unresolvable"
},
"message": {
"type": "string"
}
},
"required": [
"status",
"message"
],
"additionalProperties": false
}
]
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.quoteRequests
Quote requests
- Kind
- Read
- Tool
sales_quoteRequests- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"status": {
"default": "open",
"type": "string",
"enum": [
"open",
"offered",
"declined"
]
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"requests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"pattern": "^qr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A quote request id: qr_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"product": {
"type": "string"
},
"message": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"open",
"offered",
"declined"
]
},
"agreementId": {
"anyOf": [
{
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
},
"required": [
"requestId",
"customerId",
"customer",
"productId",
"product",
"message",
"status",
"agreementId",
"createdAt"
],
"additionalProperties": false
}
}
},
"required": [
"requests"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.refundCharge
Refund a charge
- Kind
- Change
- Tool
sales_refundCharge- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"amountMinor": {
"description": "How much to give back, in cents. Leave it out to refund what’s left.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"reason": {
"default": "",
"type": "string",
"maxLength": 200
},
"restock": {
"default": true,
"description": "When this refunds the whole sale, put what it took back in stock. Say false when it isn’t coming back, like a mug that broke on the way. Seats and rooms always come back.",
"type": "boolean"
}
},
"required": [
"chargeId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.removeFromAudience
Take a customer out of an audience
- Kind
- Change
- Tool
sales_removeFromAudience- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
}
},
"required": [
"audienceId",
"customerId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.restoreAdjustment
Start a discount again
- Kind
- Change
- Tool
sales_restoreAdjustment- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"adjustmentId": {
"type": "string",
"pattern": "^adj_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A adjustment id: adj_ and 26 letters and digits."
}
},
"required": [
"adjustmentId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.restoreAudience
Bring back an audience
- Kind
- Change
- Tool
sales_restoreAudience- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
}
},
"required": [
"audienceId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.restoreCode
Turn a code back on
- Kind
- Change
- Tool
sales_restoreCode- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"codeId": {
"type": "string",
"pattern": "^cod_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A code id: cod_ and 26 letters and digits."
}
},
"required": [
"codeId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.restorePrice
Offer a price again
- Kind
- Change
- Tool
sales_restorePrice- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"priceId": {
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A price id: pri_ and 26 letters and digits."
}
},
"required": [
"priceId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.restoreProduct
Put a product back on sale
- Kind
- Change
- Tool
sales_restoreProduct- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
}
},
"required": [
"productId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.resumeAgreement
Resume
- Kind
- Change
- Tool
sales_resumeAgreement- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.revenue
See what you took in a month
- Kind
- Read
- Tool
sales_revenue- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"month": {
"description": "The month, like 2026-09, in the business’s time zone. This month when left out.",
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
}
},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"label": {
"type": "string"
},
"previous": {
"type": "string"
},
"next": {
"type": [
"string",
"null"
]
},
"totals": {
"type": "object",
"properties": {
"salesMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"refundsMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"revenueMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"taxMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"feesMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"disputesMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"netMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"sales": {
"type": "string"
},
"refunds": {
"type": "string"
},
"revenue": {
"type": "string"
},
"tax": {
"type": "string"
},
"fees": {
"type": "string"
},
"disputes": {
"type": "string"
},
"net": {
"type": "string"
}
},
"required": [
"salesMinor",
"refundsMinor",
"revenueMinor",
"taxMinor",
"feesMinor",
"disputesMinor",
"netMinor",
"sales",
"refunds",
"revenue",
"tax",
"fees",
"disputes",
"net"
],
"additionalProperties": false
},
"byProduct": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amountMinor",
"amount",
"charges"
],
"additionalProperties": false
}
},
"byMembership": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amountMinor",
"amount",
"charges"
],
"additionalProperties": false
}
},
"byAudience": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amountMinor",
"amount",
"charges"
],
"additionalProperties": false
}
},
"byCampaign": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amountMinor",
"amount",
"charges"
],
"additionalProperties": false
}
},
"byLocation": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"amount": {
"type": "string"
},
"charges": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"key",
"name",
"amountMinor",
"amount",
"charges"
],
"additionalProperties": false
}
}
},
"required": [
"month",
"label",
"previous",
"next",
"totals",
"byProduct",
"byMembership",
"byAudience",
"byCampaign",
"byLocation"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.revokeAudienceLink
Turn off a link into an audience
- Kind
- Change
- Tool
sales_revokeAudienceLink- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"linkId": {
"type": "string",
"pattern": "^aul_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience link id: aul_ and 26 letters and digits."
}
},
"required": [
"linkId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.salesOwed
See what’s owed on some sales
- Kind
- Read
- Tool
sales_salesOwed- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementIds": {
"maxItems": 200,
"type": "array",
"items": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
}
},
"required": [
"agreementIds"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"charges": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"state": {
"type": "string",
"enum": [
"owed",
"paid",
"other"
]
},
"amount": {
"type": "string",
"description": "With tax: \"$25.00\"."
},
"amountMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"currency": {
"type": "string"
}
},
"required": [
"chargeId",
"agreementId",
"state",
"amount",
"amountMinor",
"currency"
],
"additionalProperties": false
}
}
},
"required": [
"charges"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.salesTax
See where you collect sales tax
- Kind
- Read
- Tool
sales_salesTax- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"regions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Two-letter states, A to Z."
},
"charging": {
"type": "boolean"
},
"sellsPhysical": {
"type": "boolean"
},
"disclaimer": {
"type": "string"
}
},
"required": [
"regions",
"charging",
"sellsPhysical",
"disclaimer"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.saveQuote
Keep a quote
- Kind
- Change
- Tool
sales_saveQuote- Scope
commerce:write- Reached by
- API, MCP
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"lines": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"description": "The option combination, for a product with options.",
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$"
},
"priceId": {
"description": "A price of the product to use (Monthly, Drop-in). Left out, the best one open to the customer.",
"type": "string",
"pattern": "^pri_[0-9a-hjkmnp-tv-z]{26}$"
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 1000
},
"units": {
"description": "For a price per unit: how many (hours, dogs).",
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"amountMinor": {
"description": "For pay what you want: the amount picked, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 100000000
}
},
"required": [
"productId"
],
"additionalProperties": false
}
},
"codes": {
"default": [],
"description": "Codes the customer typed, like SPRING10.",
"maxItems": 5,
"type": "array",
"items": {
"type": "string",
"maxLength": 40
}
},
"proofs": {
"default": [],
"description": "Signed link tokens captured when the customer arrived. An audience or channel is never named here: a price reached by editing a link isn’t applied.",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
},
"open": {
"default": [],
"description": "Open audiences the customer named, as key=value.",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 81
}
},
"asCustomerId": {
"description": "The business only: price it as this customer would see it.",
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$"
},
"previewAudienceIds": {
"description": "The business only: price it for a made-up customer holding these audiences.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
}
}
},
"required": [
"lines"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.saveShipping
Change shipping
- Kind
- Change
- Tool
sales_saveShipping- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"flatMinor": {
"description": "Without a shipping account: what every shipped order pays, in cents. Null ships free.",
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"box": {
"description": "The box you usually ship in, in inches. Rates use it.",
"type": "object",
"properties": {
"lengthIn": {
"type": "integer",
"minimum": 1,
"maximum": 108
},
"widthIn": {
"type": "integer",
"minimum": 1,
"maximum": 108
},
"heightIn": {
"type": "integer",
"minimum": 1,
"maximum": 108
}
},
"required": [
"lengthIn",
"widthIn",
"heightIn"
],
"additionalProperties": false
},
"defaultWeightOz": {
"description": "What one item weighs boxed, in ounces, for products with no weight of their own.",
"type": "integer",
"minimum": 1,
"maximum": 2400
}
},
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.segmentMembers
See who’s in an audience
- Kind
- Read
- Tool
sales_segmentMembers- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
}
},
"required": [
"audienceId"
],
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"name": {
"type": "string"
},
"count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"customerIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
}
}
},
"required": [
"audienceId",
"name",
"count",
"customerIds"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.sendOffer
Send an offer
- Kind
- Change
- Tool
sales_sendOffer- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
waits for the owner to confirm it in Allpage, whatever they chose for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.setInventory
Set how many are in stock
- Kind
- Change
- Tool
sales_setInventory- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"description": "The option combination, for a product with options.",
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$"
},
"count": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
],
"description": "How many are left; null to stop counting."
}
},
"required": [
"productId",
"count"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.setShipTo
Change where orders go
- Kind
- Change
- Tool
sales_setShipTo- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"label": "Street address"
},
"line2": {
"default": "",
"label": "Suite or unit",
"type": "string",
"maxLength": 120
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"label": "City"
},
"region": {
"label": "State",
"type": "string",
"maxLength": 40
},
"postalCode": {
"label": "ZIP code",
"type": "string",
"maxLength": 20
},
"country": {
"default": "US",
"type": "string",
"const": "US"
},
"geo": {
"type": "object",
"properties": {
"lat": {
"type": "number",
"minimum": -90,
"maximum": 90
},
"lng": {
"type": "number",
"minimum": -180,
"maximum": 180
}
},
"required": [
"lat",
"lng"
],
"additionalProperties": false
},
"placeId": {
"type": "string",
"maxLength": 200
},
"checked": {
"type": "boolean"
},
"timeZone": {
"type": "string",
"maxLength": 64
},
"showStreet": {
"default": true,
"label": "Show the street address",
"type": "boolean"
}
},
"required": [
"line1",
"city",
"region"
],
"additionalProperties": false,
"description": "Where its orders go: street, city, state and ZIP code."
}
},
"required": [
"agreementId",
"address"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.setTaxRegions
Set where you collect sales tax
- Kind
- Change
- Tool
sales_setTaxRegions- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
a private change: runs now if the owner lets your app make private changes, otherwise waits for their approval
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"regions": {
"maxItems": 51,
"type": "array",
"items": {
"type": "string",
"enum": [
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"DC",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY"
]
},
"description": "Two-letter codes of the US states where the business is registered to collect sales tax; empty for none."
}
},
"required": [
"regions"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.setUnpaidPolicy
Choose what happens when a card keeps failing
- Kind
- Change
- Tool
sales_setUnpaidPolicy- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"onUnpaid": {
"type": "string",
"enum": [
"pause",
"cancel",
"keep"
],
"description": "pause (the default): it and their access pause; cancel: it ends; keep: it runs unpaid one more period."
}
},
"required": [
"agreementId",
"onUnpaid"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.shipping
How you ship
- Kind
- Read
- Tool
sales_shipping- Scope
commerce:read- Reached by
- API, MCP, ChatGPT
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"flatMinor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"flat": {
"type": "string"
},
"box": {
"type": "object",
"properties": {
"lengthIn": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"widthIn": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"heightIn": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"lengthIn",
"widthIn",
"heightIn"
],
"additionalProperties": false
},
"defaultWeightOz": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"account": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"connected",
"missing_scope",
"needs_reconnect",
"not_connected",
"unavailable"
]
},
"partner": {
"type": [
"string",
"null"
]
},
"account": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
},
"connect": {
"anyOf": [
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"start": {
"type": "string"
}
},
"required": [
"title",
"start"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"partner",
"account",
"reason",
"connect"
],
"additionalProperties": false
},
"needsAddress": {
"type": "boolean"
}
},
"required": [
"flatMinor",
"flat",
"box",
"defaultWeightOz",
"account",
"needsAddress"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.skipDelivery
Skip a delivery
- Kind
- Change
- Tool
sales_skipDelivery- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"on": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The delivery to skip: its date (`nextOn` from commerce.myOrders, or the subscription’s next charge date). Only the next one can be skipped, until the day before."
}
},
"required": [
"agreementId",
"on"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.summary
What’s going on
- Kind
- Read
- Tool
sales_summary- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"facts": {
"type": "array",
"items": {
"type": "string"
},
"description": "One-line facts, e.g. \"3 bookings today\"."
},
"attention": {
"description": "Things that need the owner, each with a plain reason.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"text"
],
"additionalProperties": false
}
},
"happening": {
"description": "What’s on today, each at its time.",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"at": {
"type": "number",
"description": "Epoch milliseconds."
},
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"id",
"at",
"text"
],
"additionalProperties": false
}
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"value": {
"type": "number"
},
"prior": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"count",
"money"
]
},
"href": {
"type": "string"
}
},
"required": [
"id",
"label",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"title",
"facts"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.today
See what’s owed and what’s to send
- Kind
- Read
- Tool
sales_today- Scope
commerce:read- Reached by
- API, MCP
Read-only.
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
}Output
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {
"type": "object",
"properties": {
"owed": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chargeId": {
"type": "string",
"pattern": "^chg_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A charge id: chg_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"what": {
"type": "string"
},
"amount": {
"type": "string",
"description": "What’s owed, with tax: \"$40.00\"."
}
},
"required": [
"chargeId",
"customerId",
"customer",
"what",
"amount"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"totalMinor": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"currency": {
"type": "string"
}
},
"required": [
"items",
"total",
"totalMinor",
"currency"
],
"additionalProperties": false
},
"disputes": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"renewals": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"what": {
"type": "string"
},
"on": {
"type": "string",
"description": "When it renews: \"today\", \"Thursday\"."
}
},
"required": [
"agreementId",
"customerId",
"customer",
"what",
"on"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"items",
"total"
],
"additionalProperties": false
},
"toSend": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"orderId": {
"type": "string",
"pattern": "^ord_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A order id: ord_ and 26 letters and digits."
},
"customerId": {
"type": "string",
"pattern": "^cus_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A customer id: cus_ and 26 letters and digits."
},
"customer": {
"type": "string"
},
"what": {
"type": "string"
},
"how": {
"type": "string",
"description": "\"pickup Friday\", or where it stands."
}
},
"required": [
"orderId",
"customerId",
"customer",
"what",
"how"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"items",
"total"
],
"additionalProperties": false
}
},
"required": [
"owed",
"disputes",
"renewals",
"toSend"
],
"additionalProperties": false
}
},
"required": [
"status",
"title",
"change",
"result"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "refused"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
},
"required": [
"status",
"title",
"change",
"message"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "needs"
},
"kind": {
"type": "string",
"enum": [
"module",
"portal",
"business",
"limit",
"paused",
"reauth"
]
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"status",
"kind",
"title",
"change",
"message"
],
"additionalProperties": {}
}
]
}commerce.unfreezeAgreement
End a billing freeze
- Kind
- Change
- Tool
sales_unfreezeAgreement- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.updateAudience
Change an audience
- Kind
- Change
- Tool
sales_updateAudience- Scope
commerce:write- Reached by
- API, MCP
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"audienceId": {
"type": "string",
"pattern": "^aud_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A audience id: aud_ and 26 letters and digits."
},
"key": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,40}$"
},
"value": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,40}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"rule": {
"description": "Who matches a rule audience: tags, custom fields, grants, visits and the channel they came through ({ channel: { is: \"instagram\" } }). Visits: { visited: { offeringId?, kind?, since?: { days } }, gte? } counts sessions they came to; { daysSinceVisit: {}, gte: 30 } is everyone away 30 days or more (pair it with { visited: {} } for people who came before).",
"$ref": "#/$defs/__schema0"
},
"sharePercent": {
"description": "An experiment’s share of buyers, in percent.",
"type": "number",
"minimum": 0.01,
"maximum": 99.99
},
"binding": {
"description": "each_charge: checked again at every charge (a lapsed member loses it). at_purchase: kept from the purchase.",
"type": "string",
"enum": [
"each_charge",
"at_purchase"
]
},
"retention": {
"type": "string",
"enum": [
"lifetime",
"until_revoked",
"until_date"
]
},
"retainUntil": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"qualify": {
"description": "How someone who isn’t a member qualifies: signed_link (a link you share), code, or open (anyone can claim it, so treat its prices as public).",
"type": "string",
"enum": [
"signed_link",
"code",
"open"
]
},
"showAsTag": {
"description": "Show its members as a customer tag in automations.",
"type": "boolean"
}
},
"required": [
"audienceId"
],
"additionalProperties": false,
"$defs": {
"__schema0": {
"anyOf": [
{
"type": "object",
"properties": {
"all": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
}
},
"required": [
"all"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"any": {
"minItems": 1,
"type": "array",
"items": {
"$ref": "#/$defs/__schema0"
}
}
},
"required": [
"any"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"not": {
"$ref": "#/$defs/__schema0"
}
},
"required": [
"not"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"count": {
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
},
"since": {
"anyOf": [
{
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
}
},
"required": [
"event"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650
}
},
"required": [
"days"
],
"additionalProperties": false
}
]
},
"where": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
}
},
"required": [
"event"
],
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"count"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"sum": {
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
},
"since": {
"anyOf": [
{
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
}
},
"required": [
"event"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650
}
},
"required": [
"days"
],
"additionalProperties": false
}
]
},
"where": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"field": {
"type": "string",
"minLength": 1
}
},
"required": [
"event",
"field"
],
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"sum"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"daysSince": {
"type": "object",
"properties": {
"event": {
"type": "string",
"minLength": 1
}
},
"required": [
"event"
],
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"daysSince"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"visited": {
"type": "object",
"properties": {
"offeringId": {
"description": "One offering’s visits only.",
"type": "string",
"pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$"
},
"kind": {
"description": "One kind of offering only: class, appointment, workshop.",
"type": "string",
"pattern": "^[a-z_]{1,40}$"
},
"since": {
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650
}
},
"required": [
"days"
],
"additionalProperties": false
}
},
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"visited"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"daysSinceVisit": {
"type": "object",
"properties": {
"offeringId": {
"description": "One offering’s visits only.",
"type": "string",
"pattern": "^off_[0-9a-hjkmnp-tv-z]{26}$"
},
"kind": {
"description": "One kind of offering only: class, appointment, workshop.",
"type": "string",
"pattern": "^[a-z_]{1,40}$"
}
},
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"daysSinceVisit"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"hasGrant": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"productId": {
"type": "string"
},
"benefit": {
"description": "A membership or pack by its benefit name: membership:gold.",
"type": "string",
"pattern": "^(membership|pack|pass):[a-z0-9][a-z0-9_-]{0,62}$"
}
},
"additionalProperties": false
}
},
"required": [
"hasGrant"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"balance": {
"type": "object",
"properties": {
"unit": {
"type": "string",
"minLength": 1
}
},
"required": [
"unit"
],
"additionalProperties": false
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"eq": {
"type": "number"
}
},
"required": [
"balance"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tag": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"name"
],
"additionalProperties": false
}
},
"required": [
"tag"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"channel": {
"type": "object",
"properties": {
"is": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,40}$"
}
},
"required": [
"is"
],
"additionalProperties": false
}
},
"required": [
"channel"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"field": {
"type": "object",
"properties": {
"record": {
"type": "string",
"const": "customer"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"record",
"key"
],
"additionalProperties": false
},
"is": {
"type": [
"string",
"number",
"boolean"
]
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"exists": {
"type": "boolean"
}
},
"required": [
"field"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"state": {
"type": "object",
"properties": {
"key": {
"type": "string",
"minLength": 1
}
},
"required": [
"key"
],
"additionalProperties": false
},
"is": {
"type": [
"string",
"number",
"boolean"
]
},
"gte": {
"type": "number"
},
"lte": {
"type": "number"
},
"exists": {
"type": "boolean"
}
},
"required": [
"state"
],
"additionalProperties": false
}
]
}
}
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.updateProduct
Change a product
- Kind
- Change
- Tool
sales_updateProduct- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 2000
},
"fulfillment": {
"description": "How the customer gets it. Services: at_appointment or on_site; physical: pickup, ship or local_delivery; digital: digital; passes: on_site or digital; bundles: any, except a bundle of only passes, packs and services: on_site, at_appointment or digital. Left out, it’s the first of those.",
"type": "string",
"enum": [
"at_appointment",
"pickup",
"ship",
"local_delivery",
"digital",
"on_site"
]
},
"durationMinutes": {
"description": "How long a service takes. Services need it.",
"anyOf": [
{
"type": "integer",
"minimum": 5,
"maximum": 1440,
"multipleOf": 5
},
{
"type": "null"
}
]
},
"inventoryCount": {
"description": "How many are left to sell; null when you don’t count. Physical, digital and passes only. With options, each new combination starts with it.",
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"locationId": {
"description": "Where it’s sold or done, when the business has more than one place.",
"anyOf": [
{
"type": "string",
"pattern": "^loc_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A location id: loc_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"priceMinor": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "Its price in cents."
},
"deposit": {
"description": "Take part of the price online when they book or order (a percent or an amount in cents); the rest is due at the appointment, pickup or delivery. Null takes the whole price.",
"anyOf": [
{
"type": "object",
"properties": {
"percent": {
"type": "integer",
"minimum": 1,
"maximum": 99
},
"amountMinor": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"payWhatYouWant": {
"description": "Let the customer pick what they pay, in cents: at least minMinor, with an optional suggestedMinor shown first and maxMinor cap. priceMinor is then only a fallback. Null goes back to the one price.",
"anyOf": [
{
"type": "object",
"properties": {
"minMinor": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "The least they can pay, in cents; 0 for free."
},
"suggestedMinor": {
"description": "The amount shown first, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"maxMinor": {
"description": "The most they can pay, in cents.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
}
},
"required": [
"minMinor"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"taxCode": {
"description": "A Stripe tax code. Left out, it’s the usual one for the kind of product (physical goods, services or digital).",
"anyOf": [
{
"type": "string",
"pattern": "^txcd_\\d{8}$"
},
{
"type": "null"
}
]
},
"options": {
"description": "Up to three options customers pick, like Size and Color, each with its values. Not on bundles.",
"maxItems": 3,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"values": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
}
},
"required": [
"name",
"values"
],
"additionalProperties": false
}
},
"components": {
"description": "What a bundle holds: your other products, each so many times. A bundle of packs sells as a package that gives each pack; a membership (a repeating price) can’t go in one.",
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"pattern": "^prd_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A product id: prd_ and 26 letters and digits."
},
"variantId": {
"type": "string",
"pattern": "^var_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A variant id: var_ and 26 letters and digits."
},
"quantity": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"productId"
],
"additionalProperties": false
}
},
"credits": {
"description": "A pass only: how many uses it holds, like a 10-class pack. Each class booked takes one. A dollar pack (grants.savePack with counts: cents) holds its amount in cents, up to $10,000.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"validDays": {
"description": "A pass with uses: days it’s good for from purchase. Null never runs out.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 3650
},
{
"type": "null"
}
]
},
"repeats": {
"description": "Charge it again every interval until the customer cancels, like a monthly membership. Null is paid once.",
"anyOf": [
{
"type": "object",
"properties": {
"interval": {
"type": "string",
"enum": [
"week",
"month",
"year"
]
},
"count": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 12
},
"trialDays": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 90
}
},
"required": [
"interval"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"policies": {
"description": "Its own policies, ahead of the business’s (a retreat’s 60-day cancellation): the policyId of a named policy (policy.accept with a name) for each kind it differs in. Sales read that policy’s newest version. Null goes back to the business’s own.",
"type": "object",
"properties": {
"cancellation": {
"anyOf": [
{
"type": "string",
"pattern": "^pol_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A policy id: pol_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"deposit": {
"anyOf": [
{
"type": "string",
"pattern": "^pol_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A policy id: pol_ and 26 letters and digits."
},
{
"type": "null"
}
]
},
"noShow": {
"anyOf": [
{
"type": "string",
"pattern": "^pol_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A policy id: pol_ and 26 letters and digits."
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"custom": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 40
},
"additionalProperties": {
"anyOf": [
{
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
{
"type": "null"
}
]
},
"description": "The business’s own fields on products, by key; null clears one."
},
"images": {
"description": "Photos from your files, by file id (files.list with kind `web`); the first is the main one. Replaces its photos.",
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
}
},
"downloads": {
"description": "A digital product’s files, by file id (files.list with visibility `private`), in order. Buyers download them once it’s paid. Replaces its files.",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"pattern": "^fil_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A file id: fil_ and 26 letters and digits."
}
},
"downloadLimit": {
"description": "A digital product’s downloads of each file per purchase. Null for no limit.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 100
},
{
"type": "null"
}
]
},
"pickupPerDay": {
"description": "Something picked up: how many can be picked up each day, like 40 cakes. Customers choose a day with room at checkout. Null for no limit.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 10000
},
{
"type": "null"
}
]
},
"weightOz": {
"description": "Something shipped: one of it boxed, in ounces (32 for 2 lb). Shipping rates are worked out from it. Null uses your default weight per item.",
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 2400
},
{
"type": "null"
}
]
}
},
"required": [
"productId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}commerce.withdrawOffer
Withdraw an offer
- Kind
- Change
- Tool
sales_withdrawOffer- Scope
commerce:write- Reached by
- API, MCP, ChatGPT
customers see it: waits for the owner’s approval unless they chose Just do it for your app
Input
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"agreementId": {
"type": "string",
"pattern": "^agr_[0-9a-hjkmnp-tv-z]{26}$",
"description": "A agreement id: agr_ and 26 letters and digits."
}
},
"required": [
"agreementId"
],
"additionalProperties": false
}Output
{
"oneOf": [
{
"type": "object",
"required": [
"status",
"title",
"change"
],
"properties": {
"status": {
"const": "done"
},
"title": {
"type": "string"
},
"change": {
"type": "boolean"
},
"result": {},
"undo": {
"type": "object",
"properties": {
"command": {
"type": "string"
},
"input": {}
}
}
}
},
{
"type": "object",
"required": [
"status",
"proposalId"
],
"properties": {
"status": {
"const": "proposed"
},
"proposalId": {
"type": "string"
},
"preview": {},
"approveAt": {
"type": "string",
"format": "uri"
}
}
},
{
"type": "object",
"required": [
"status",
"check"
],
"properties": {
"status": {
"const": "pending"
},
"message": {
"type": "string"
},
"check": {
"type": "string"
},
"checkInput": {
"type": "object"
}
}
},
{
"type": "object",
"required": [
"status",
"message"
],
"properties": {
"status": {
"const": "refused"
},
"message": {
"type": "string"
},
"field": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"status",
"kind",
"message"
],
"properties": {
"status": {
"const": "needs"
},
"kind": {
"type": "string"
},
"message": {
"type": "string"
},
"note": {
"type": "string"
}
}
}
]
}