Commerce extension
162 operations are available in this resource for the current release, grouped by area so related endpoints are easier to scan.
Template tokens and loops for the extension are documented separately: Commerce extension templating.
Coupons
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Coupons/api/projects/{project_id}/sales/coupons | Lists all coupons for a project, newest first. | Path parameters: project_id |
POST | Create Coupon/api/projects/{project_id}/sales/coupons | Creates a coupon for a project from the submitted coupon payload and dispatches a coupon-created event. | Path parameters: project_idJSON body: CouponPayload (code, discount_type?, amount, target_scope?, allow_stack?, max_uses?, max_uses_per_customer?, starts_at?, ends_at?, is_active?) |
DELETE | Delete Coupon/api/projects/{project_id}/sales/coupons/{coupon_id} | Deletes a project coupon by id and dispatches a coupon-deleted event. | Path parameters: project_id, coupon_id |
GET | Get Coupon/api/projects/{project_id}/sales/coupons/{coupon_id} | Returns a single coupon by id for a project. | Path parameters: project_id, coupon_id |
PATCH | Update Coupon/api/projects/{project_id}/sales/coupons/{coupon_id} | Updates a project coupon from the submitted coupon payload and dispatches a coupon-updated event. | Path parameters: project_id, coupon_idJSON body: CouponPayload (code, discount_type?, amount, target_scope?, allow_stack?, max_uses?, max_uses_per_customer?, starts_at?, ends_at?, is_active?) |
Invoices
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Invoices/api/projects/{project_id}/sales/invoices | List invoices for a project | Path parameters: project_idQuery parameters: ListInvoicesQuery (page?, perPage) |
GET | Get Invoice/api/projects/{project_id}/sales/invoices/{invoice_id} | Get invoice detail | Path parameters: project_id, invoice_id |
Locations
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Cities/api/projects/{project_id}/sales/locations/cities | Lists cities for the requested state ids. | Path parameters: project_idQuery parameters: LocationCitiesQuery (state_ids?, page?, per_page?, q?) |
GET | List Countries/api/projects/{project_id}/sales/locations/countries | Lists countries available for project location selection. | Path parameters: project_idQuery parameters: LocationCountriesQuery (page?, per_page?, q?) |
GET | List Postal Codes/api/projects/{project_id}/sales/locations/postal-codes | Lists postal codes for the requested city ids. | Path parameters: project_idQuery parameters: LocationPostalQuery (city_ids?, page?, per_page?, q?) |
GET | List Postal Lookup/api/projects/{project_id}/sales/locations/postal-lookup | Reverse lookup against the existing location tables; exact postal code only. | Path parameters: project_idQuery parameters: PostalLookupQuery (country) |
GET | List States/api/projects/{project_id}/sales/locations/states | Lists states or regions filtered by the requested country codes. | Path parameters: project_idQuery parameters: LocationStatesQuery (countries?, page?, per_page?, q?) |
Orders
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Orders/api/projects/{project_id}/sales/orders | List orders for a project | Path parameters: project_idQuery parameters: ListOrdersQuery (page?, perPage, q?, sort?, filters) |
POST | Create Order/api/projects/{project_id}/sales/orders | Create new order | Path parameters: project_idJSON body: CreateOrderRequest |
GET | Get Order/api/projects/{project_id}/sales/orders/{order_id} | Get order detail | Path parameters: project_id, order_id |
PATCH | Update Order/api/projects/{project_id}/sales/orders/{order_id} | Update order | Path parameters: project_id, order_idJSON body: UpdateOrderRequest |
GET | List Order Events/api/projects/{project_id}/sales/orders/{order_id}/events | Get order events/timeline | Path parameters: project_id, order_id |
POST | Hold Order/api/projects/{project_id}/sales/orders/{order_id}/hold | Hold/unhold order | Path parameters: project_id, order_idJSON body: HoldOrderRequest |
GET | List Invoices/api/projects/{project_id}/sales/orders/{order_id}/invoices | List invoices for a specific order | Path parameters: project_id, order_id |
GET | List Shipments/api/projects/{project_id}/sales/orders/{order_id}/shipments | List shipments for a specific order | Path parameters: project_id, order_id |
POST | Create Shipment/api/projects/{project_id}/sales/orders/{order_id}/shipments | Create shipment for order | Path parameters: project_id, order_idJSON body: CreateShipmentRequest |
POST | Auto-create Shipment/api/projects/{project_id}/sales/orders/{order_id}/shipments/auto-create | Automatically creates a shipment for an order in the target project when the automation rules are met. | Path parameters: project_id, order_id |
POST | Check Shipment Availability/api/projects/{project_id}/sales/orders/{order_id}/shipments/can-create | Evaluates whether a shipment can be created for an order in the target project. | Path parameters: project_id, order_idJSON body: CanCreateShipmentRequest (shipment?, is_admin_approved?, is_stock_reserved?, trigger?) |
GET | List shipped quantities/api/projects/{project_id}/sales/orders/{order_id}/shipped-quantities | Get shipped quantities for order items | Path parameters: project_id, order_id |
GET | List Order Transactions/api/projects/{project_id}/sales/orders/{order_id}/transactions | List transactions for a specific order | Path parameters: project_id, order_id |
GET | List Order Attributes/api/projects/{project_id}/sales/orders/attributes | List order attributes for a project | Path parameters: project_id |
POST | Create Order Attribute/api/projects/{project_id}/sales/orders/attributes | Create order attribute | Path parameters: project_idJSON body: CreateOrderAttributeRequest (attribute_code, default_label, input_type, is_required?, default_value?, placeholder?, min_text_length?, max_text_length?, min_date?, max_date?, allowed_extensions?, max_file_size?, visible_on_frontend?, hidden_from_customer?, visible_on_backend?, customer_roles?, checkout_position?, sort_order?, save_for_future?, show_on_grids?, include_in_pdf?, include_in_emails?, options?, conditions?, is_active?) |
DELETE | Delete Order Attribute/api/projects/{project_id}/sales/orders/attributes/{attribute_id} | Delete order attribute | Path parameters: project_id, attribute_id |
GET | Get Order Attribute/api/projects/{project_id}/sales/orders/attributes/{attribute_id} | Get order attribute detail | Path parameters: project_id, attribute_id |
PATCH | Update Order Attribute/api/projects/{project_id}/sales/orders/attributes/{attribute_id} | Update order attribute | Path parameters: project_id, attribute_idJSON body: UpdateOrderAttributeRequest (default_label?, input_type?, is_required?, default_value?, placeholder?, min_text_length?, max_text_length?, min_date?, max_date?, allowed_extensions?, max_file_size?, visible_on_frontend?, hidden_from_customer?, visible_on_backend?, customer_roles?, checkout_position?, sort_order?, save_for_future?, show_on_grids?, include_in_pdf?, include_in_emails?, options?, conditions?, is_active?) |
GET | List Shipments/api/projects/{project_id}/sales/orders/shipments | List shipments for a project | Path parameters: project_idQuery parameters: ListShipmentsQuery (page?, perPage) |
GET | List Shipment Methods/api/projects/{project_id}/sales/orders/shipments/methods | Lists the effective shipping methods for a project, merging system defaults with project overrides and custom methods. | Path parameters: project_idQuery parameters: ListQuery (page?, per_page?, q?, filter?, raw_filters?) |
POST | Create Shipment Method/api/projects/{project_id}/sales/orders/shipments/methods | Creates a project-scoped shipping method from the submitted carrier and method details. | Path parameters: project_idJSON body: UpsertShippingMethodRequest (carrier_code, carrier_label?, method_code, method_label, is_active?, sort_order?, meta?, use_default?) |
DELETE | Delete Shipment Method/api/projects/{project_id}/sales/orders/shipments/methods/{method_id} | Deletes a project-scoped shipping method; system default methods cannot be deleted. | Path parameters: project_id, method_id |
PATCH | Update Shipment Method/api/projects/{project_id}/sales/orders/shipments/methods/{method_id} | Updates a project shipping method, creating a project override when the target is a system default. | Path parameters: project_id, method_idJSON body: UpsertShippingMethodRequest (carrier_code, carrier_label?, method_code, method_label, is_active?, sort_order?, meta?, use_default?) |
GET | List Shipment Methods Tree/api/projects/{project_id}/sales/orders/shipments/methods/tree | Lists active shipping methods grouped by carrier for a project. | Path parameters: project_id |
GET | List Shipment Rules/api/projects/{project_id}/sales/orders/shipments/rules | Returns the resolved shipment automation rule settings for the target project. | Path parameters: project_id |
PUT | Update Shipment Rule/api/projects/{project_id}/sales/orders/shipments/rules | Updates the shipment automation rule settings for the target project and returns the resolved settings. | Path parameters: project_idJSON body: ShipmentRuleSettingsInput |
Payments
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Payment Config/api/projects/{project_id}/sales/payment-config | Get project payment configurations | Path parameters: project_id |
GET | List Payment Services/api/projects/{project_id}/sales/payment-services | List all available payment services | Path parameters: project_id |
PATCH | Update Payment Service/api/projects/{project_id}/sales/payment-services/{service_id} | Creates or updates a project's payment service configuration (enablement, endpoint override, recurring flag, config, and connected account). | Path parameters: project_id, service_idJSON body: ProjectPaymentConfigUpdate (is_enabled?, endpoint_override?, recurring_enabled?, config?, connected_account_id?, disconnect_account?) |
POST | Update Payment Service Platform Fees/api/projects/{project_id}/sales/payment-services/{service_id}/platform-fees | Updates the platform fee configuration for a project payment service. | Path parameters: project_id, service_idJSON body: PaymentFeeRequest (platform_fee_percent?, platform_fee_fixed?) |
GET | List Account/api/projects/{project_id}/sales/payment-services/{service_id}/stripe/account | Returns the connected Stripe account's details and migration status for a project payment service. | Path parameters: project_id, service_id |
POST | Connect Stripe/api/projects/{project_id}/sales/payment-services/{service_id}/stripe/connect | Creates or reuses a merchant-owned Stripe Connect account for a project payment service and returns an onboarding link. | Path parameters: project_id, service_idJSON body: StripeConnectRequest (return_url, refresh_url) |
GET | Get Stripe Login Link/api/projects/{project_id}/sales/payment-services/{service_id}/stripe/login-link | Returns a Stripe dashboard login link for the project's connected Stripe account. | Path parameters: project_id, service_id |
POST | Complete Migration/api/projects/{project_id}/sales/payment-services/{service_id}/stripe/migration/complete | Completes a pending Stripe account migration by promoting the replacement account to active for a project payment service. | Path parameters: project_id, service_id |
GET | List Platform Payment Settings/api/projects/{project_id}/sales/platform-payment-settings | Returns the project's platform payment fee settings. | Path parameters: project_id |
POST | Create Platform Payment Setting/api/projects/{project_id}/sales/platform-payment-settings | Updates the project's platform payment fee settings. | Path parameters: project_idJSON body: PlatformPaymentSettingsRequest (platform_fee_percent?, platform_fee_fixed?) |
Products
| Method | Operation | Description | Request information |
|---|---|---|---|
POST | Load storefront product grid/__runtime/products | Renders the storefront product listing HTML for a project, applying category filters and pagination. | JSON body: RuntimeProductsRequest (project_id, extension_id?, page?, page_size?, page_items_limit?, q?, sort?, direction?, filters?, path?, query?) |
POST | Search storefront products/__runtime/products/search | Searches the products and pages of a project for the storefront search UI and returns matching products plus page results. | JSON body: RuntimeProductsRequest (project_id, extension_id?, page?, page_size?, page_items_limit?, q?, sort?, direction?, filters?, path?, query?) |
DELETE | Delete recent searches/__runtime/products/search/recent | Clears the stored recent product-search terms for the current actor identity in a project. | Query parameters: RuntimeSearchRecentsListQuery (project_id, limit?)Request data read: headers |
GET | List recent searches/__runtime/products/search/recent | Lists the recent product-search terms stored for the current actor identity in a project. | Query parameters: RuntimeSearchRecentsListQuery (project_id, limit?)Request data read: headers |
POST | Save recent search/__runtime/products/search/recent | Records a product-search term for the current actor identity in a project and returns the updated recent-search list. | JSON body: RuntimeSearchRecentsUpsertRequest (project_id, query)Request data read: headers |
GET | List products/api/projects/{project_id}/extensions/2/products | Lists products for a project extension, including draft products unless the request filters them out. | Path parameters: project_idQuery parameters: PageParams (page?, page_size?, q?, sort?, direction?, include_drafts?, filters?) |
POST | Create product/api/projects/{project_id}/extensions/2/products | Creates a product for a project extension from the submitted product JSON payload. | Path parameters: project_idJSON body: ProductWriteRequest (name?, slug?, price?, product_type?, category_slug?, description?, status?, is_draft?, categories?, media?, media_urls?, images?, attribute_values?, attributes?, variants?, group_items?, bundle_pricing_mode?, downloads?, virtual_services?, meta?, sku?, currency?, weight?, stock_quantity?, track_stock?, backorders?, require_shipping?) |
DELETE | Delete product/api/projects/{project_id}/extensions/2/products/{product_id} | Deletes a product from a project extension. | Path parameters: project_id, product_idJSON body: PortfolioMediaBulkPayload (items?) |
PUT | Update product/api/projects/{project_id}/extensions/2/products/{product_id} | Updates a product for a project extension from the submitted product JSON payload. | Path parameters: project_id, product_idJSON body: ProductWriteRequest (name?, slug?, price?, product_type?, category_slug?, description?, status?, is_draft?, categories?, media?, media_urls?, images?, attribute_values?, attributes?, variants?, group_items?, bundle_pricing_mode?, downloads?, virtual_services?, meta?, sku?, currency?, weight?, stock_quantity?, track_stock?, backorders?, require_shipping?) |
GET | Search catalog products/api/projects/{project_id}/sales/products/search | Search products from ext2_products table | Path parameters: project_idQuery parameters: ProductSearchQuery (q?, limit?, offset?) |
Domain access
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | Check Domain/__runtime/domain/allow | Checks whether a host or domain is present in the server's allowed custom-domain list. | Query parameters: key/value map |
Product reviews
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Product Reviews/__runtime/product-reviews | Lists approved product reviews for a storefront product with rating summaries and purchase verification. | Query parameters: ProductReviewsQuery (product_id?, product_slug?, page?, page_size?)Request data read: host |
POST | Create Product Review/__runtime/product-reviews | Creates a product review for a storefront product, optionally attributing it to the authenticated storefront user. | JSON body: ProductReviewCreateRequest (product_id?, product_slug?, reviewer_name?, reviewer_email?, title?, body?, image_url?, ratings?)Request data read: headers, host |
POST | Upload Product Review image/__runtime/product-reviews/upload-image | Uploads a product review image for the storefront resolved from the request Host and returns the stored image URL. | Request data read: host |
Returns
| Method | Operation | Description | Request information |
|---|---|---|---|
POST | Upload RMA/__runtime/rma/attachment | Uploads an RMA attachment image for the project identified by the multipart project_id and returns the stored file URL. | Request details are not specified in the current route metadata. |
POST | Create Create/__runtime/rma/create | Creates a public return (RMA) request for an order item, supporting guest submissions validated by email. | JSON body: RuntimeRmaPublicCreateRequest (project_id, order_number, order_item_id, requested_qty?, reason?, description?, email?)Request data read: headers |
GET | List Order Items/__runtime/rma/order-items | Looks up an order's return-eligible items by order number for the authenticated customer or a supplied guest email. | Query parameters: RuntimeRmaOrderLookupQuery (project_id, order_number, email?)Request data read: headers |
GET | List Orders/__runtime/rma/orders | Lists the authenticated customer's orders with return (RMA) eligibility for a project. | Query parameters: RuntimeRmaOrdersQuery (project_id)Request data read: headers |
GET | List RMA/__runtime/user/rma | Lists the authenticated customer's return (RMA) requests with pagination and optional search. | Query parameters: RuntimeRmaListQuery (project_id, page?, per_page?, q?)Request data read: headers |
POST | Create RMA/__runtime/user/rma | Creates a return (RMA) request for the authenticated customer's order item. | JSON body: RuntimeRmaCreateRequest (project_id, order_number, order_item_id, requested_qty?, reason?, description?)Request data read: headers |
GET | Get RMA/__runtime/user/rma/{rma_number} | Returns the details of one of the authenticated customer's return (RMA) requests. | Path parameters: rma_numberQuery parameters: RuntimeRmaListQuery (project_id, page?, per_page?, q?)Request data read: headers |
GET | List RMA Messages/__runtime/user/rma/{rma_number}/messages | Lists the customer-visible messages for one of the authenticated customer's return (RMA) requests. | Path parameters: rma_numberQuery parameters: RuntimeRmaListQuery (project_id, page?, per_page?, q?)Request data read: headers |
POST | Create RMA Message/__runtime/user/rma/{rma_number}/messages | Appends a customer message, up to five uploaded RMA attachments, or both to the signed-in customer's return request, then returns the updated message thread. | Path parameters: rma_numberJSON body: RuntimeRmaMessagePayload (body?, attachments?)Query parameters: RuntimeRmaListQuery (project_id, page?, per_page?, q?)Request data read: headers |
GET | List RMA Addresses/api/projects/{project_id}/sales/rma/addresses | Lists a project's RMA return addresses, with the default address first. | Path parameters: project_id |
POST | Create RMA Address/api/projects/{project_id}/sales/rma/addresses | Creates an RMA return address for a project and dispatches a commerce location-created webhook. | Path parameters: project_idJSON body: ReturnAddressPayload (label?, contact_name?, company?, phone?, email?, line1, line2?, city, region?, postal_code, country_code, is_default?, ...) |
DELETE | Delete RMA Address/api/projects/{project_id}/sales/rma/addresses/{address_id} | Deletes an RMA return address for a project and dispatches a commerce location-deleted webhook. | Path parameters: project_id, address_id |
PATCH | Update RMA Address/api/projects/{project_id}/sales/rma/addresses/{address_id} | Updates an existing RMA return address for a project and dispatches a commerce location-updated webhook. | Path parameters: project_id, address_idJSON body: ReturnAddressPayload (label?, contact_name?, company?, phone?, email?, line1, line2?, city, region?, postal_code, country_code, is_default?, ...) |
GET | List RMA Requests/api/projects/{project_id}/sales/rma/requests | Lists a project's RMA return requests with pagination, text search, status filtering, and sorting. | Path parameters: project_idQuery parameters: ListRmaRequestsQuery (page?, per_page?, q?, sort?, filters?) |
GET | Get RMA Request/api/projects/{project_id}/sales/rma/requests/{rma_id} | Returns a single RMA return request belonging to a project. | Path parameters: project_id, rma_id |
PATCH | Update RMA Request/api/projects/{project_id}/sales/rma/requests/{rma_id} | Updates an RMA return request's status, notes, return label, and return address, and dispatches return lifecycle webhooks. | Path parameters: project_id, rma_idJSON body: UpdateRmaRequestPayload (status?, admin_note?, resolution_note?, return_label_url?, return_tracking_number?, return_carrier?, return_address_id?, return_address_json?, requested_info_message?, customer_reply?) |
GET | List Request Messages/api/projects/{project_id}/sales/rma/requests/{rma_id}/messages | Lists the message thread for an RMA return request in a project. | Path parameters: project_id, rma_id |
POST | Create Request Message/api/projects/{project_id}/sales/rma/requests/{rma_id}/messages | Adds an admin message to an RMA return request in a project and returns the updated message thread. | Path parameters: project_id, rma_idJSON body: RmaMessagePayload (body?, attachments?) |
GET | List RMA Settings/api/projects/{project_id}/sales/rma/settings | Returns a project's returns (RMA) configuration and return addresses, creating the default settings row on first access. | Path parameters: project_id |
PUT | Update RMA Setting/api/projects/{project_id}/sales/rma/settings | Updates a project's returns (RMA) configuration, including the return window, approval behavior, allowed statuses, and default return address. | Path parameters: project_idJSON body: RmaSettingsPayload (enabled?, return_window_days?, require_approval?, allow_more_info?, auto_approve?, allowed_statuses?, default_return_address_id?) |
Shipment restrictions
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Shipment Restrictions/api/projects/{project_id}/sales/shipment-restrictions | Lists the shipment restrictions configured for a project, newest first, with pagination. | Path parameters: project_idQuery parameters: ListRestrictionsQuery (page?, perPage) |
POST | Create Shipment Restriction/api/projects/{project_id}/sales/shipment-restrictions | Creates a shipment restriction for a project from the supplied configuration and returns the created record. | Path parameters: project_idJSON body: UpsertShipmentRestrictionRequest (name?, description?, is_active?, restricted_carriers?, restricted_methods?, show_message?, restriction_message?, show_message_once?, conditions?, admin_area_only?, customer_roles?, days_of_week?, time_from?, time_to?, apply_with_coupon_codes?, apply_with_cart_rules?, do_not_apply_with_coupon_codes?, do_not_apply_with_cart_rules?) |
DELETE | Delete Shipment Restriction/api/projects/{project_id}/sales/shipment-restrictions/{restriction_id} | Deletes a shipment restriction from a project. | Path parameters: project_id, restriction_id |
GET | Get Shipment Restriction/api/projects/{project_id}/sales/shipment-restrictions/{restriction_id} | Returns a single shipment restriction for a project by id. | Path parameters: project_id, restriction_id |
PATCH | Update Shipment Restriction/api/projects/{project_id}/sales/shipment-restrictions/{restriction_id} | Updates an existing shipment restriction for a project from the supplied configuration and returns the updated record. | Path parameters: project_id, restriction_idJSON body: UpsertShipmentRestrictionRequest (name?, description?, is_active?, restricted_carriers?, restricted_methods?, show_message?, restriction_message?, show_message_once?, conditions?, admin_area_only?, customer_roles?, days_of_week?, time_from?, time_to?, apply_with_coupon_codes?, apply_with_cart_rules?, do_not_apply_with_coupon_codes?, do_not_apply_with_cart_rules?) |
Shipment rules
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Shipment Rules/api/projects/{project_id}/sales/shipment-rules | Lists the shipment rate rules configured for a project. | Path parameters: project_idQuery parameters: ListRulesQuery (page?, perPage) |
POST | Create Shipment Rule/api/projects/{project_id}/sales/shipment-rules | Creates a shipment rate rule for a project. | Path parameters: project_idJSON body: UpsertShipmentRuleRequest (name?, description?, is_active?, priority?, discard_subsequent?, shipping_carriers?, shipping_methods?, ignore_free_shipping_promo?, calculation_type?, base_rate?, fixed_rate_per_product?, rate_per_unit_weight?, percentage_per_product?, handling_percentage?, rate_change_min?, rate_change_max?, total_rate_min?, total_rate_max?, conditions?, apply_to?, admin_area_only?, customer_roles?, days_of_week?, time_from?, time_to?, apply_with_coupon_codes?, apply_with_cart_rules?, do_not_apply_with_coupon_codes?, do_not_apply_with_cart_rules?) |
DELETE | Delete Shipment Rule/api/projects/{project_id}/sales/shipment-rules/{rule_id} | Deletes a shipment rate rule from a project. | Path parameters: project_id, rule_id |
GET | Get Shipment Rule/api/projects/{project_id}/sales/shipment-rules/{rule_id} | Retrieves a single shipment rate rule by id within a project. | Path parameters: project_id, rule_id |
PATCH | Update Shipment Rule/api/projects/{project_id}/sales/shipment-rules/{rule_id} | Updates an existing shipment rate rule in a project. | Path parameters: project_id, rule_idJSON body: UpsertShipmentRuleRequest (name?, description?, is_active?, priority?, discard_subsequent?, shipping_carriers?, shipping_methods?, ignore_free_shipping_promo?, calculation_type?, base_rate?, fixed_rate_per_product?, rate_per_unit_weight?, percentage_per_product?, handling_percentage?, rate_change_min?, rate_change_max?, total_rate_min?, total_rate_max?, conditions?, apply_to?, admin_area_only?, customer_roles?, days_of_week?, time_from?, time_to?, apply_with_coupon_codes?, apply_with_cart_rules?, do_not_apply_with_coupon_codes?, do_not_apply_with_cart_rules?) |
Shipments
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Shipments/api/projects/{project_id}/sales/shipments | List shipments for a project | Path parameters: project_idQuery parameters: ListShipmentsQuery (page?, perPage) |
DELETE | Delete Shipment/api/projects/{project_id}/sales/shipments/{shipment_id} | Delete shipment | Path parameters: project_id, shipment_id |
GET | Get Shipment/api/projects/{project_id}/sales/shipments/{shipment_id} | Get shipment detail | Path parameters: project_id, shipment_id |
PATCH | Update Shipment/api/projects/{project_id}/sales/shipments/{shipment_id} | Update shipment | Path parameters: project_id, shipment_idJSON body: UpdateShipmentRequest |
GET | List Shipment Comments/api/projects/{project_id}/sales/shipments/{shipment_id}/comments | Lists the comments attached to a shipment in the target project. | Path parameters: project_id, shipment_id |
POST | Create Shipment Comment/api/projects/{project_id}/sales/shipments/{shipment_id}/comments | Adds a comment to a shipment in the target project. | Path parameters: project_id, shipment_idJSON body: AddShipmentCommentRequest |
GET | Get Shipment Detail/api/projects/{project_id}/sales/shipments/{shipment_id}/detail | Get shipment detail with optional relations | Path parameters: project_id, shipment_idQuery parameters: ShipmentDetailQuery (include_items?, include_tracks?, include_comments?) |
POST | Refresh Shipment Tracking/api/projects/{project_id}/sales/shipments/{shipment_id}/refresh-tracking | Force refresh tracking for a shipment | Path parameters: project_id, shipment_id |
GET | List Tracking Events/api/projects/{project_id}/sales/shipments/{shipment_id}/tracking-events | Get tracking events for a shipment | Path parameters: project_id, shipment_id |
GET | List Shipment Tracks/api/projects/{project_id}/sales/shipments/{shipment_id}/tracks | Lists the tracking records attached to a shipment in the target project. | Path parameters: project_id, shipment_id |
POST | Create Shipment Track/api/projects/{project_id}/sales/shipments/{shipment_id}/tracks | Adds a tracking record to a shipment in the target project. | Path parameters: project_id, shipment_idJSON body: CreateShipmentTrackRequest |
Shipping methods
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Shipping Methods/api/projects/{project_id}/sales/shipping-methods | Lists the effective shipping methods for a project, merging system defaults with project overrides and custom methods. | Path parameters: project_idQuery parameters: ListQuery (page?, per_page?, q?, filter?, raw_filters?) |
POST | Create Shipping Method/api/projects/{project_id}/sales/shipping-methods | Creates a project-scoped shipping method from the submitted carrier and method details. | Path parameters: project_idJSON body: UpsertShippingMethodRequest (carrier_code, carrier_label?, method_code, method_label, is_active?, sort_order?, meta?, use_default?) |
DELETE | Delete Shipping Method/api/projects/{project_id}/sales/shipping-methods/{method_id} | Deletes a project-scoped shipping method; system default methods cannot be deleted. | Path parameters: project_id, method_id |
PATCH | Update Shipping Method/api/projects/{project_id}/sales/shipping-methods/{method_id} | Updates a project shipping method, creating a project override when the target is a system default. | Path parameters: project_id, method_idJSON body: UpsertShippingMethodRequest (carrier_code, carrier_label?, method_code, method_label, is_active?, sort_order?, meta?, use_default?) |
GET | List Shipping Methods Tree/api/projects/{project_id}/sales/shipping-methods/tree | Lists active shipping methods grouped by carrier for a project. | Path parameters: project_id |
Subscriptions
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | Get Free Trial Hash/__runtime/subscription/free_trial/hash | Evaluates free-trial eligibility for a storefront subscription and returns a claim hash, redirect, or ineligibility reason. | Query parameters: key/value map Request data read: headers, host |
GET | List Subscriptions/__runtime/subscriptions/trials | Lists the storefront subscriptions that offer a free trial for the project resolved from the request host. | Request data read: host |
POST | Cancel Subscription/__runtime/user/subscription/cancel | Cancels a storefront customer's subscription at the next billing cycle and dispatches a commerce subscription-cancelled webhook. | JSON body: SubscriptionRefundRequest (subscription_id)Request data read: headers, host |
POST | Reactivate Subscription/__runtime/user/subscription/reactivate | Reactivates a storefront customer's subscription and dispatches a commerce subscription-updated webhook. | JSON body: SubscriptionRefundRequest (subscription_id)Request data read: headers, host |
POST | Confirm Refund/__runtime/user/subscription/refund/confirm | Confirms and processes a Stripe refund for a storefront customer's eligible subscription, returning the refund outcome. | JSON body: SubscriptionRefundRequest (subscription_id)Request data read: headers, host |
POST | Preview Refund/__runtime/user/subscription/refund/preview | Previews whether a storefront customer's subscription is eligible for a refund and the refund amount. | JSON body: SubscriptionRefundRequest (subscription_id)Request data read: headers, host |
Subscription groups
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Subscription Groups/api/projects/{project_id}/sales/subscription_groups | Lists subscription groups and their subscriptions for a project. | Path parameters: project_id |
POST | Create Subscription Group/api/projects/{project_id}/sales/subscription_groups | Creates a subscription group with optional nested subscriptions for a project. | Path parameters: project_idJSON body: SubscriptionGroupPayload (name, discount_type?, discount_amount?, discount_scope?, intro_duration?, intro_unit?, discount_target?, tax_enabled?, require_payment_before_trial?, refund_policy?, upgrade_allowed?, upgrade_charge_model?, upgrade_proration_window_days?, downgrade_allowed?, downgrade_apply?, allow_multiple_subscriptions?, subscriptions?) |
DELETE | Delete Subscription Group/api/projects/{project_id}/sales/subscription_groups/{group_id} | Deletes a subscription group and returns the refreshed refund policy for a project. | Path parameters: project_id, group_id |
GET | Get Subscription Group/api/projects/{project_id}/sales/subscription_groups/{group_id} | Returns a single subscription group with its subscriptions for a project, or null when missing. | Path parameters: project_id, group_id |
PUT | Update Subscription Group/api/projects/{project_id}/sales/subscription_groups/{group_id} | Updates a subscription group and upserts its nested subscriptions for a project. | Path parameters: project_id, group_idJSON body: SubscriptionGroupPayload (name, discount_type?, discount_amount?, discount_scope?, intro_duration?, intro_unit?, discount_target?, tax_enabled?, require_payment_before_trial?, refund_policy?, upgrade_allowed?, upgrade_charge_model?, upgrade_proration_window_days?, downgrade_allowed?, downgrade_apply?, allow_multiple_subscriptions?, subscriptions?) |
Tax zones
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Tax Zones/api/projects/{project_id}/sales/tax-zones | Lists the tax zones configured for a project, ordered by priority. | Path parameters: project_id |
POST | Create Tax Zone/api/projects/{project_id}/sales/tax-zones | Creates a tax zone for a project. | Path parameters: project_idJSON body: CreateTaxZoneRequest (name, tax_title?, rate_percent?, countries?, regions?, cities?, postal_codes?, priority?, is_active?) |
DELETE | Delete Tax Zone/api/projects/{project_id}/sales/tax-zones/{zone_id} | Deletes a tax zone from a project. | Path parameters: project_id, zone_id |
GET | Get Tax Zone/api/projects/{project_id}/sales/tax-zones/{zone_id} | Retrieves a single tax zone by id within a project. | Path parameters: project_id, zone_id |
PATCH | Update Tax Zone/api/projects/{project_id}/sales/tax-zones/{zone_id} | Updates one or more fields on an existing tax zone in a project. | Path parameters: project_id, zone_idJSON body: UpdateTaxZoneRequest (name?, tax_title?, rate_percent?, countries?, regions?, cities?, postal_codes?, priority?, is_active?) |
Transactions
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Transactions/api/projects/{project_id}/sales/transactions | List transactions for a project | Path parameters: project_idQuery parameters: ListTransactionsQuery (page?, per_page?, order_id?, q?, sort?, filters?) |
GET | Get Transaction/api/projects/{project_id}/sales/transactions/{transaction_id} | Get transaction detail | Path parameters: project_id, transaction_id |
Store import
| Method | Operation | Description | Request information |
|---|---|---|---|
POST | Start Connect/api/projects/{project_id}/shopify/connect/start | Begins the Shopify OAuth connection flow for a project and returns the authorization URL. | Path parameters: project_idJSON body: StartShopifyConnectBody (store_domain, return_to?, auto_import?, api_version?, import_products?, import_collections?, import_orders?, import_customers?, import_pages?)Authentication: session Request data read: headers |
GET | Get Connect status/api/projects/{project_id}/shopify/connect/status | Returns the Shopify connection status and granted scopes for a project. | Path parameters: project_idAuthentication: session |
GET | List Shopify Imports/api/projects/{project_id}/shopify/imports | Lists the most recent Shopify import jobs for a project. | Path parameters: project_idAuthentication: session |
POST | Create Shopify Import/api/projects/{project_id}/shopify/imports | Queues a Shopify import job for a project and returns the created job. | Path parameters: project_idJSON body: CreateShopifyImportBody (store_domain?, access_token?, api_version?, import_products?, import_collections?, import_orders?, import_customers?, import_pages?)Authentication: session |
GET | Get Shopify Import/api/projects/{project_id}/shopify/imports/{job_id} | Returns a single Shopify import job by id for a project. | Path parameters: project_id, job_idAuthentication: session |
GET | Handle Connect callback/api/shopify/connect/callback | Handles the Shopify OAuth redirect, validating state and HMAC before storing the project connection. | Query parameters: ShopifyConnectCallbackQuery (shop?, hmac?, code?, state?, host?, timestamp?, error?, error_description?) |
Cart
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Cart/__runtime/cart | Returns the current storefront cart for the resolved project, creating a guest cart when none exists. | Query parameters: RuntimeCartProjectQuery (project_id?)Authentication: API key Request data read: headers, cookies, host |
POST | Start buy now cart/__runtime/cart/buy-now | Adds an item to the cart and returns a checkout URL for an immediate purchase. | JSON body: CartItemAddRequest (product_id, variant_id?, variant_sku?, variant_label?, variant_attributes?, quantity?)Query parameters: RuntimeCartProjectQuery (project_id?)Authentication: API key Request data read: headers, cookies, host |
POST | Clear Cart/__runtime/cart/clear | Removes all items from the storefront cart and returns the empty cart. | Query parameters: RuntimeCartProjectQuery (project_id?)Authentication: API key Request data read: headers, cookies, host |
POST | Create Coupon/__runtime/cart/coupons | Applies a coupon code to the storefront cart and returns the updated cart with its discount. | JSON body: ApplyCouponRequest (code)Query parameters: RuntimeCartProjectQuery (project_id?)Authentication: API key Request data read: headers, cookies, host |
DELETE | Delete Coupon/__runtime/cart/coupons/{code} | Removes a coupon code from the storefront cart and returns the updated cart. | Path parameters: codeQuery parameters: RuntimeCartProjectQuery (project_id?)Authentication: API key Request data read: headers, cookies, host |
POST | Create Cart Item/__runtime/cart/items | Adds a product and optional variant to the storefront cart and returns the updated cart. | JSON body: CartItemAddRequest (product_id, variant_id?, variant_sku?, variant_label?, variant_attributes?, quantity?)Query parameters: RuntimeCartProjectQuery (project_id?)Authentication: API key Request data read: headers, cookies, host |
DELETE | Delete Cart Item/__runtime/cart/items/{item_id} | Removes an item from the storefront cart and returns the updated cart. | Path parameters: item_idQuery parameters: RuntimeCartProjectQuery (project_id?)Authentication: API key Request data read: headers, cookies, host |
PATCH | Update Cart Item/__runtime/cart/items/{item_id} | Updates a cart item's quantity, removing it when the quantity is zero, and returns the updated cart. | Path parameters: item_idJSON body: CartItemUpdateRequest (quantity)Query parameters: RuntimeCartProjectQuery (project_id?)Authentication: API key Request data read: headers, cookies, host |
Categories
| Method | Operation | Description | Request information |
|---|---|---|---|
POST | Create Carousel/__runtime/categories/carousels | Lists storefront category carousels with rendered product HTML for a project or host. | JSON body: RuntimeCategoryCarouselsRequest (project_id?, offset?, limit?, products_limit?, product_type?, category_key?, order?, category_slug?, category_slugs?, category_ids?, exclude_product_ids?, product_item_code?, featured_product_item_code?, product_item_codes?, featured_product_item_codes?)Request data read: host |
Checkout
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Checkout Addresses/__runtime/checkout/addresses | Lists the signed-in customer's saved shipping addresses for a storefront project. | Request data read: headers, host |
POST | Create Checkout Address/__runtime/checkout/addresses | Saves a new shipping address for the signed-in customer of a storefront project. | JSON body: SaveAddressRequest (label?, street, city, state, zip, country, phone?, is_default?)Request data read: headers, host |
DELETE | Delete Checkout Address/__runtime/checkout/addresses/{id} | Deletes one of the signed-in customer's saved shipping addresses for a storefront project. | Path parameters: idRequest data read: headers, host |
PATCH | Update Checkout Address/__runtime/checkout/addresses/{id} | Updates one of the signed-in customer's saved shipping addresses for a storefront project. | Path parameters: idJSON body: SaveAddressRequest (label?, street, city, state, zip, country, phone?, is_default?)Request data read: headers, host |
GET | List Checkout/__runtime/checkout/cards | Lists the signed-in customer's saved payment cards for a storefront project, returning an empty list for guests. | Request data read: headers, host |
GET | List Guest Email Exists/__runtime/checkout/guest-email-exists | Checks whether an email already belongs to a customer of a storefront project, optionally creating and sending an invitation. | Query parameters: key/value map Request data read: host |
GET | List Cities/__runtime/checkout/locations/cities | Lists the cities for a country and state used in storefront checkout address selection. | Query parameters: CheckoutLocationQuery (country?, state?, city?) |
GET | List Countries/__runtime/checkout/locations/countries | Lists the countries available for storefront checkout address selection. | Request details are not specified in the current route metadata. |
GET | List Postal Codes/__runtime/checkout/locations/postal-codes | Lists the postal codes for a city used in storefront checkout address selection. | Query parameters: CheckoutLocationQuery (country?, state?, city?) |
GET | Resolve Checkout Location/__runtime/checkout/locations/resolve | Resolves which states contain a given city for storefront checkout address selection. | Query parameters: CheckoutLocationQuery (country?, state?, city?) |
GET | List States/__runtime/checkout/locations/states | Lists the states or regions for a country used in storefront checkout address selection. | Query parameters: CheckoutLocationQuery (country?, state?, city?) |
POST | Create Checkout/__runtime/checkout/order | Finalizes a storefront checkout on the project host and creates or completes a sales order from the active cart. | Request data read: headers, host |
GET | Get payment return popup/__runtime/checkout/payment_return_popup | Renders the HTML popup that reports a completed payment to the opener window and then closes itself. | Query parameters: key/value map |
POST | Create Stripe intent/__runtime/checkout/stripe/intent | Creates a Stripe PaymentIntent for a storefront cart and returns the client secret used to confirm payment. | Request data read: headers, host |
POST | Create Stripe Session/__runtime/checkout/stripe/session | Creates a Stripe Checkout session for a storefront cart and returns the redirect URL. | JSON body: key/value map Request data read: headers, cookies, host |
POST | Get Checkout/__runtime/checkout/summary | Computes the checkout summary for a storefront host, returning cart subtotal, discounts, shipping, tax, and total, or the price change for a subscription upgrade. | JSON body: CheckoutSummaryRequest (shipping_address?, billing_address?, shipping_method?, buy_now_item_id?, subscription_id?, interval?, current_subscription_id?)Query parameters: key/value map Request data read: headers, cookies, host |
Wishlist
| Method | Operation | Description | Request information |
|---|---|---|---|
GET | List Wishlist/__runtime/wishlist | Lists the current wishlist entries for a storefront project, including per-variant keys and rendered product-card HTML. | Query parameters: RuntimeWishlistListQuery (project_id, limit?, product_item_code?)Request data read: headers |
POST | Create Wishlist/__runtime/wishlist | Removes all items from the current shopper's storefront wishlist. | JSON body: RuntimeWishlistListQuery (project_id, limit?, product_item_code?)Request data read: headers |
POST | Create Wishlist Item/__runtime/wishlist/items | Adds a product or variant to the current shopper's storefront wishlist. | JSON body: RuntimeWishlistItemRequest (project_id, product_id, variant_id?, variant_sku?, variant_label?, variant_attributes?, product_item_code?)Request data read: headers |
DELETE | Delete Wishlist Item/__runtime/wishlist/items/{product_id} | Removes a product or variant from the current shopper's storefront wishlist. | Path parameters: product_idQuery parameters: RuntimeWishlistDeleteQuery (project_id, variant_id?, variant_sku?, variant_attributes?)Request data read: headers |
POST | Toggle Wishlist Item/__runtime/wishlist/items/toggle | Toggles a product or variant in the current shopper's storefront wishlist. | JSON body: RuntimeWishlistItemRequest (project_id, product_id, variant_id?, variant_sku?, variant_label?, variant_attributes?, product_item_code?)Request data read: headers |

