Extensions API

137 API operations were detected for the current release. Operations are grouped by the first stable resource in their path so related requests are easier to find.

How to Read This Reference

  • A value in braces, such as {project_id}, must be inserted into the endpoint path.
  • A field ending in ? is optional according to the detected request schema.
  • JSON body lists fields sent in the request body.
  • Query parameters lists values appended after ? in the URL.
  • When request details are not specified, the current release metadata does not provide enough information to publish them safely.

Resource Summary

ResourceOperations
Current account5
Page templates15
Forms8
Coupons5
Invoices2
Locations4
Orders26
Payments9
Product search1
Returns11
Shipment restrictions5
Shipment rules5
Shipments11
Shipping methods5
Subscription groups5
Tax zones5
Transactions2
Store import6
API authentication7

Current account

MethodEndpointDescriptionRequest information
GET/api/meReturns the signed-in account's identity, credit balance, template-management access, and permission scopes.Authentication: session
GET/api/me/profileReturns the signed-in account identity, tenant identifier, application context, template-management access, and permission scopes.Authentication: session
GET/api/me/transactionsLists transactions owned by the signed-in account in reverse chronological order with pagination and optional test-mode inclusion.Query parameters: TransactionsQuery (limit?, offset?, include_test?)
Authentication: session
GET/api/me/transactions/{id}/eventsLists payment-provider events associated with a transaction owned by the signed-in account, ordered from oldest to newest.Path parameters: id
Authentication: session
GET/api/me/transactions/{id}/invoiceReturns an HTML invoice for a transaction owned by the signed-in account, including its related payment-provider events.Path parameters: id
Authentication: session

Page templates

MethodEndpointRequest information
GET/api/page-template-entriesQuery parameters: ProjectScopedQuery (project_id?)
Authentication: session
POST/api/page-template-entriesJSON body: CreateEntryBody (project_id?, template_id, title, slug?, route, status?, meta_title?, meta_description?, schema_json?, faq_config?, values?)
Authentication: session
DELETE/api/page-template-entries/{id}Path parameters: id
Authentication: session
GET/api/page-template-entries/{id}Path parameters: id
Authentication: session
PUT/api/page-template-entries/{id}Path parameters: id
JSON body: UpdateEntryBody (template_id?, title?, slug?, route?, status?, meta_title?, meta_description?, schema_json?, faq_config?, values?)
Authentication: session
GET/api/page-template-entries/{id}/previewPath parameters: id
Authentication: session
DELETE/api/page-template-variables/{id}Path parameters: id
Authentication: session
PUT/api/page-template-variables/{id}Path parameters: id
JSON body: UpdateVariableBody (key?, label?, type?, default_value?, options?, sort_order?)
Authentication: session
GET/api/page-templatesQuery parameters: ProjectScopedQuery (project_id?)
Authentication: session
POST/api/page-templatesJSON body: CreateTemplateBody (project_id?, name, slug?, description?, template_html?, template_json?, faq_section_template?, faq_item_template?, status?)
Authentication: session
DELETE/api/page-templates/{id}Path parameters: id
Authentication: session
GET/api/page-templates/{id}Path parameters: id
Authentication: session
PUT/api/page-templates/{id}Path parameters: id
JSON body: UpdateTemplateBody (name?, slug?, description?, template_html?, template_json?, faq_section_template?, faq_item_template?, status?)
Authentication: session
GET/api/page-templates/{id}/variablesPath parameters: id
Authentication: session
POST/api/page-templates/{id}/variablesPath parameters: id
JSON body: CreateVariableBody (key, label, type?, default_value?, options?, sort_order?)
Authentication: session

Forms

MethodEndpointRequest information
GET/api/projects/{project_id}/formsPath parameters: project_id
POST/api/projects/{project_id}/formsPath parameters: project_id
JSON body: CreateFormPayload (name, type, description?, fields?, layout?, settings?, formKey?)
DELETE/api/projects/{project_id}/forms/{form_id}Path parameters: project_id, form_id
PUT/api/projects/{project_id}/forms/{form_id}Path parameters: project_id, form_id
JSON body: UpdateFormPayload (name, type, description?, fields?, layout?, settings?, formKey?)
GET/api/projects/{project_id}/forms/{form_id}/submissionsPath parameters: project_id, form_id
Query parameters: ListSubmissionsQuery (project_id, status?, limit?, offset?)
DELETE/api/projects/{project_id}/forms/{form_id}/submissions/{submission_id}Path parameters: project_id, form_id, submission_id
PUT/api/projects/{project_id}/forms/{form_id}/submissions/{submission_id}Path parameters: project_id, form_id, submission_id
JSON body: UpdateSubmissionPayload (status)
POST/api/public/forms/submitJSON body: PublicSubmitPayload (projectId, formKey, data)

Coupons

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/couponsPath parameters: project_id
POST/api/projects/{project_id}/sales/couponsPath parameters: project_id
JSON body: CouponPayload (code, discount_type, amount, target_scope, allow_stack, max_uses?, max_uses_per_customer?, starts_at?, ends_at?, is_active)
DELETE/api/projects/{project_id}/sales/coupons/{coupon_id}Path parameters: project_id, coupon_id
GET/api/projects/{project_id}/sales/coupons/{coupon_id}Path parameters: project_id, coupon_id
PATCH/api/projects/{project_id}/sales/coupons/{coupon_id}Path parameters: project_id, coupon_id
JSON body: CouponPayload (code, discount_type, amount, target_scope, allow_stack, max_uses?, max_uses_per_customer?, starts_at?, ends_at?, is_active)

Invoices

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/invoicesPath parameters: project_id
Query parameters: ListInvoicesQuery (page, perPage)
GET/api/projects/{project_id}/sales/invoices/{invoice_id}Path parameters: project_id, invoice_id

Locations

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/locations/citiesPath parameters: project_id
Query parameters: LocationCitiesQuery (state_ids?, page?, per_page?, q?)
GET/api/projects/{project_id}/sales/locations/countriesPath parameters: project_id
Query parameters: LocationCountriesQuery (page?, per_page?, q?)
GET/api/projects/{project_id}/sales/locations/postal-codesPath parameters: project_id
Query parameters: LocationPostalQuery (city_ids?, page?, per_page?, q?)
GET/api/projects/{project_id}/sales/locations/statesPath parameters: project_id
Query parameters: LocationStatesQuery (countries?, page?, per_page?, q?)

Orders

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/ordersPath parameters: project_id
Query parameters: ListOrdersQuery (page, perPage, q?, sort?, filters)
POST/api/projects/{project_id}/sales/ordersPath parameters: project_id
JSON body: CreateOrderRequest
GET/api/projects/{project_id}/sales/orders/{order_id}Path parameters: project_id, order_id
PATCH/api/projects/{project_id}/sales/orders/{order_id}Path parameters: project_id, order_id
JSON body: UpdateOrderRequest
GET/api/projects/{project_id}/sales/orders/{order_id}/eventsPath parameters: project_id, order_id
POST/api/projects/{project_id}/sales/orders/{order_id}/holdPath parameters: project_id, order_id
JSON body: HoldOrderRequest
GET/api/projects/{project_id}/sales/orders/{order_id}/invoicesPath parameters: project_id, order_id
GET/api/projects/{project_id}/sales/orders/{order_id}/shipmentsPath parameters: project_id, order_id
POST/api/projects/{project_id}/sales/orders/{order_id}/shipmentsPath parameters: project_id, order_id
JSON body: CreateShipmentRequest
POST/api/projects/{project_id}/sales/orders/{order_id}/shipments/auto-createPath parameters: project_id, order_id
POST/api/projects/{project_id}/sales/orders/{order_id}/shipments/can-createPath parameters: project_id, order_id
JSON body: CanCreateShipmentRequest (shipment?, is_admin_approved, is_stock_reserved, trigger?)
GET/api/projects/{project_id}/sales/orders/{order_id}/shipped-quantitiesPath parameters: project_id, order_id
GET/api/projects/{project_id}/sales/orders/{order_id}/transactionsPath parameters: project_id, order_id
GET/api/projects/{project_id}/sales/orders/attributesPath parameters: project_id
POST/api/projects/{project_id}/sales/orders/attributesPath parameters: project_id
JSON 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?, ...)
DELETE/api/projects/{project_id}/sales/orders/attributes/{attribute_id}Path parameters: project_id, attribute_id
GET/api/projects/{project_id}/sales/orders/attributes/{attribute_id}Path parameters: project_id, attribute_id
PATCH/api/projects/{project_id}/sales/orders/attributes/{attribute_id}Path parameters: project_id, attribute_id
JSON 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?, ...)
GET/api/projects/{project_id}/sales/orders/shipmentsPath parameters: project_id
Query parameters: ListShipmentsQuery (page, perPage)
GET/api/projects/{project_id}/sales/orders/shipments/methodsPath parameters: project_id
Query parameters: ListQuery (page, per_page, q?, filter, raw_filters)
POST/api/projects/{project_id}/sales/orders/shipments/methodsPath parameters: project_id
JSON body: UpsertShippingMethodRequest (carrier_code, carrier_label?, method_code, method_label, is_active?, sort_order?, meta?, use_default?)
DELETE/api/projects/{project_id}/sales/orders/shipments/methods/{method_id}Path parameters: project_id, method_id
PATCH/api/projects/{project_id}/sales/orders/shipments/methods/{method_id}Path parameters: project_id, method_id
JSON body: UpsertShippingMethodRequest (carrier_code, carrier_label?, method_code, method_label, is_active?, sort_order?, meta?, use_default?)
GET/api/projects/{project_id}/sales/orders/shipments/methods/treePath parameters: project_id
GET/api/projects/{project_id}/sales/orders/shipments/rulesPath parameters: project_id
PUT/api/projects/{project_id}/sales/orders/shipments/rulesPath parameters: project_id
JSON body: ShipmentRuleSettingsInput

Payments

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/payment-configPath parameters: project_id
GET/api/projects/{project_id}/sales/payment-servicesPath parameters: project_id
PATCH/api/projects/{project_id}/sales/payment-services/{service_id}Path parameters: project_id, service_id
JSON body: ProjectPaymentConfigUpdate (is_enabled?, endpoint_override?, recurring_enabled?, config?, connected_account_id?, disconnect_account?)
POST/api/projects/{project_id}/sales/payment-services/{service_id}/platform-feesPath parameters: project_id, service_id
JSON body: PaymentFeeRequest (platform_fee_percent?, platform_fee_fixed?)
GET/api/projects/{project_id}/sales/payment-services/{service_id}/stripe/accountPath parameters: project_id, service_id
POST/api/projects/{project_id}/sales/payment-services/{service_id}/stripe/connectPath parameters: project_id, service_id
JSON body: StripeConnectRequest (return_url, refresh_url)
GET/api/projects/{project_id}/sales/payment-services/{service_id}/stripe/login-linkPath parameters: project_id, service_id
GET/api/projects/{project_id}/sales/platform-payment-settingsPath parameters: project_id
POST/api/projects/{project_id}/sales/platform-payment-settingsPath parameters: project_id
JSON body: PlatformPaymentSettingsRequest (platform_fee_percent?, platform_fee_fixed?)
MethodEndpointRequest information
GET/api/projects/{project_id}/sales/products/searchPath parameters: project_id
Query parameters: ProductSearchQuery (q, limit, offset)

Returns

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/rma/addressesPath parameters: project_id
POST/api/projects/{project_id}/sales/rma/addressesPath parameters: project_id
JSON body: ReturnAddressPayload (label?, contact_name?, company?, phone?, email?, line1, line2?, city, region?, postal_code, country_code, is_default?, ...)
DELETE/api/projects/{project_id}/sales/rma/addresses/{address_id}Path parameters: project_id, address_id
PATCH/api/projects/{project_id}/sales/rma/addresses/{address_id}Path parameters: project_id, address_id
JSON body: ReturnAddressPayload (label?, contact_name?, company?, phone?, email?, line1, line2?, city, region?, postal_code, country_code, is_default?, ...)
GET/api/projects/{project_id}/sales/rma/requestsPath parameters: project_id
Query parameters: ListRmaRequestsQuery (page, per_page, q?, sort?, filters)
GET/api/projects/{project_id}/sales/rma/requests/{rma_id}Path parameters: project_id, rma_id
PATCH/api/projects/{project_id}/sales/rma/requests/{rma_id}Path parameters: project_id, rma_id
JSON 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/api/projects/{project_id}/sales/rma/requests/{rma_id}/messagesPath parameters: project_id, rma_id
POST/api/projects/{project_id}/sales/rma/requests/{rma_id}/messagesPath parameters: project_id, rma_id
JSON body: RmaMessagePayload (body, attachments)
GET/api/projects/{project_id}/sales/rma/settingsPath parameters: project_id
PUT/api/projects/{project_id}/sales/rma/settingsPath parameters: project_id
JSON body: RmaSettingsPayload (enabled, return_window_days, require_approval, allow_more_info, auto_approve, allowed_statuses, default_return_address_id?)

Shipment restrictions

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/shipment-restrictionsPath parameters: project_id
Query parameters: ListRestrictionsQuery (page, perPage)
POST/api/projects/{project_id}/sales/shipment-restrictionsPath parameters: project_id
JSON 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?, ...)
DELETE/api/projects/{project_id}/sales/shipment-restrictions/{restriction_id}Path parameters: project_id, restriction_id
GET/api/projects/{project_id}/sales/shipment-restrictions/{restriction_id}Path parameters: project_id, restriction_id
PATCH/api/projects/{project_id}/sales/shipment-restrictions/{restriction_id}Path parameters: project_id, restriction_id
JSON 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?, ...)

Shipment rules

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/shipment-rulesPath parameters: project_id
Query parameters: ListRulesQuery (page, perPage)
POST/api/projects/{project_id}/sales/shipment-rulesPath parameters: project_id
JSON 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?, ...)
DELETE/api/projects/{project_id}/sales/shipment-rules/{rule_id}Path parameters: project_id, rule_id
GET/api/projects/{project_id}/sales/shipment-rules/{rule_id}Path parameters: project_id, rule_id
PATCH/api/projects/{project_id}/sales/shipment-rules/{rule_id}Path parameters: project_id, rule_id
JSON 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?, ...)

Shipments

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/shipmentsPath parameters: project_id
Query parameters: ListShipmentsQuery (page, perPage)
DELETE/api/projects/{project_id}/sales/shipments/{shipment_id}Path parameters: project_id, shipment_id
GET/api/projects/{project_id}/sales/shipments/{shipment_id}Path parameters: project_id, shipment_id
PATCH/api/projects/{project_id}/sales/shipments/{shipment_id}Path parameters: project_id, shipment_id
JSON body: UpdateShipmentRequest
GET/api/projects/{project_id}/sales/shipments/{shipment_id}/commentsPath parameters: project_id, shipment_id
POST/api/projects/{project_id}/sales/shipments/{shipment_id}/commentsPath parameters: project_id, shipment_id
JSON body: AddShipmentCommentRequest
GET/api/projects/{project_id}/sales/shipments/{shipment_id}/detailPath parameters: project_id, shipment_id
Query parameters: ShipmentDetailQuery (include_items, include_tracks, include_comments)
POST/api/projects/{project_id}/sales/shipments/{shipment_id}/refresh-trackingPath parameters: project_id, shipment_id
GET/api/projects/{project_id}/sales/shipments/{shipment_id}/tracking-eventsPath parameters: project_id, shipment_id
GET/api/projects/{project_id}/sales/shipments/{shipment_id}/tracksPath parameters: project_id, shipment_id
POST/api/projects/{project_id}/sales/shipments/{shipment_id}/tracksPath parameters: project_id, shipment_id
JSON body: CreateShipmentTrackRequest

Shipping methods

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/shipping-methodsPath parameters: project_id
Query parameters: ListQuery (page, per_page, q?, filter, raw_filters)
POST/api/projects/{project_id}/sales/shipping-methodsPath parameters: project_id
JSON body: UpsertShippingMethodRequest (carrier_code, carrier_label?, method_code, method_label, is_active?, sort_order?, meta?, use_default?)
DELETE/api/projects/{project_id}/sales/shipping-methods/{method_id}Path parameters: project_id, method_id
PATCH/api/projects/{project_id}/sales/shipping-methods/{method_id}Path parameters: project_id, method_id
JSON body: UpsertShippingMethodRequest (carrier_code, carrier_label?, method_code, method_label, is_active?, sort_order?, meta?, use_default?)
GET/api/projects/{project_id}/sales/shipping-methods/treePath parameters: project_id

Subscription groups

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/subscription_groupsPath parameters: project_id
POST/api/projects/{project_id}/sales/subscription_groupsPath parameters: project_id
JSON 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?, ...)
DELETE/api/projects/{project_id}/sales/subscription_groups/{group_id}Path parameters: project_id, group_id
GET/api/projects/{project_id}/sales/subscription_groups/{group_id}Path parameters: project_id, group_id
PUT/api/projects/{project_id}/sales/subscription_groups/{group_id}Path parameters: project_id, group_id
JSON 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?, ...)

Tax zones

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/tax-zonesPath parameters: project_id
POST/api/projects/{project_id}/sales/tax-zonesPath parameters: project_id
JSON body: CreateTaxZoneRequest (name, tax_title?, rate_percent?, countries?, regions?, cities?, postal_codes?, priority?, is_active?)
DELETE/api/projects/{project_id}/sales/tax-zones/{zone_id}Path parameters: project_id, zone_id
GET/api/projects/{project_id}/sales/tax-zones/{zone_id}Path parameters: project_id, zone_id
PATCH/api/projects/{project_id}/sales/tax-zones/{zone_id}Path parameters: project_id, zone_id
JSON body: UpdateTaxZoneRequest (name?, tax_title?, rate_percent?, countries?, regions?, cities?, postal_codes?, priority?, is_active?)

Transactions

MethodEndpointRequest information
GET/api/projects/{project_id}/sales/transactionsPath parameters: project_id
Query parameters: ListTransactionsQuery (page, per_page, order_id?, q?, sort?, filters)
GET/api/projects/{project_id}/sales/transactions/{transaction_id}Path parameters: project_id, transaction_id

Store import

MethodEndpointRequest information
POST/api/projects/{project_id}/shopify/connect/startPath parameters: project_id
JSON 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/api/projects/{project_id}/shopify/connect/statusPath parameters: project_id
Authentication: session
GET/api/projects/{project_id}/shopify/importsPath parameters: project_id
Authentication: session
POST/api/projects/{project_id}/shopify/importsPath parameters: project_id
JSON body: CreateShopifyImportBody (store_domain?, access_token?, api_version?, import_products, import_collections, import_orders, import_customers, import_pages)
Authentication: session
GET/api/projects/{project_id}/shopify/imports/{job_id}Path parameters: project_id, job_id
Authentication: session
GET/api/shopify/connect/callbackQuery parameters: ShopifyConnectCallbackQuery (shop?, hmac?, code?, state?, host?, timestamp?, error?, error_description?)

API authentication

MethodEndpointRequest information
POST/v1/auth/api-keys/revokeAuthentication: Bearer API key
Request data read: headers
POST/v1/auth/api-keys/rotateAuthentication: Bearer API key
Request data read: headers
GET/v1/auth/connectionsAuthentication: Bearer API key
Request data read: headers
POST/v1/auth/connectionsJSON body: CreateConnectionRequest (state)
Authentication: Bearer API key
Request data read: headers
DELETE/v1/auth/connections/{project_id}Path parameters: project_id
Authentication: Bearer API key
Request data read: headers
POST/v1/auth/connections/completeJSON body: CompleteConnectionRequest (code)
Authentication: Bearer API key
Request data read: headers
POST/v1/auth/connections/validateJSON body: ValidateConnectionRequest (project_id)
Authentication: Bearer API key
Request data read: headers

Reference Coverage

Request body, query, path, header, cookie, and session information is shown only when it can be detected from current route, spec, schema, or test metadata. Response fields, pagination behavior, sorting, filtering, and error mappings are omitted when that metadata is unavailable.