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
| Resource | Operations |
|---|---|
| Current account | 5 |
| Page templates | 15 |
| Forms | 8 |
| Coupons | 5 |
| Invoices | 2 |
| Locations | 4 |
| Orders | 26 |
| Payments | 9 |
| Product search | 1 |
| Returns | 11 |
| Shipment restrictions | 5 |
| Shipment rules | 5 |
| Shipments | 11 |
| Shipping methods | 5 |
| Subscription groups | 5 |
| Tax zones | 5 |
| Transactions | 2 |
| Store import | 6 |
| API authentication | 7 |
Current account
| Method | Endpoint | Description | Request information |
|---|---|---|---|
GET | /api/me | Returns the signed-in account's identity, credit balance, template-management access, and permission scopes. | Authentication: session |
GET | /api/me/profile | Returns the signed-in account identity, tenant identifier, application context, template-management access, and permission scopes. | Authentication: session |
GET | /api/me/transactions | Lists 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}/events | Lists payment-provider events associated with a transaction owned by the signed-in account, ordered from oldest to newest. | Path parameters: idAuthentication: session |
GET | /api/me/transactions/{id}/invoice | Returns an HTML invoice for a transaction owned by the signed-in account, including its related payment-provider events. | Path parameters: idAuthentication: session |
Page templates
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/page-template-entries | Query parameters: ProjectScopedQuery (project_id?)Authentication: session |
POST | /api/page-template-entries | JSON 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: idAuthentication: session |
GET | /api/page-template-entries/{id} | Path parameters: idAuthentication: session |
PUT | /api/page-template-entries/{id} | Path parameters: idJSON 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}/preview | Path parameters: idAuthentication: session |
DELETE | /api/page-template-variables/{id} | Path parameters: idAuthentication: session |
PUT | /api/page-template-variables/{id} | Path parameters: idJSON body: UpdateVariableBody (key?, label?, type?, default_value?, options?, sort_order?)Authentication: session |
GET | /api/page-templates | Query parameters: ProjectScopedQuery (project_id?)Authentication: session |
POST | /api/page-templates | JSON 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: idAuthentication: session |
GET | /api/page-templates/{id} | Path parameters: idAuthentication: session |
PUT | /api/page-templates/{id} | Path parameters: idJSON body: UpdateTemplateBody (name?, slug?, description?, template_html?, template_json?, faq_section_template?, faq_item_template?, status?)Authentication: session |
GET | /api/page-templates/{id}/variables | Path parameters: idAuthentication: session |
POST | /api/page-templates/{id}/variables | Path parameters: idJSON body: CreateVariableBody (key, label, type?, default_value?, options?, sort_order?)Authentication: session |
Forms
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/forms | Path parameters: project_id |
POST | /api/projects/{project_id}/forms | Path parameters: project_idJSON 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_idJSON body: UpdateFormPayload (name, type, description?, fields?, layout?, settings?, formKey?) |
GET | /api/projects/{project_id}/forms/{form_id}/submissions | Path parameters: project_id, form_idQuery 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_idJSON body: UpdateSubmissionPayload (status) |
POST | /api/public/forms/submit | JSON body: PublicSubmitPayload (projectId, formKey, data) |
Coupons
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/coupons | Path parameters: project_id |
POST | /api/projects/{project_id}/sales/coupons | 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 | /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_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 | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/invoices | Path parameters: project_idQuery parameters: ListInvoicesQuery (page, perPage) |
GET | /api/projects/{project_id}/sales/invoices/{invoice_id} | Path parameters: project_id, invoice_id |
Locations
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/locations/cities | Path parameters: project_idQuery parameters: LocationCitiesQuery (state_ids?, page?, per_page?, q?) |
GET | /api/projects/{project_id}/sales/locations/countries | Path parameters: project_idQuery parameters: LocationCountriesQuery (page?, per_page?, q?) |
GET | /api/projects/{project_id}/sales/locations/postal-codes | Path parameters: project_idQuery parameters: LocationPostalQuery (city_ids?, page?, per_page?, q?) |
GET | /api/projects/{project_id}/sales/locations/states | Path parameters: project_idQuery parameters: LocationStatesQuery (countries?, page?, per_page?, q?) |
Orders
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/orders | Path parameters: project_idQuery parameters: ListOrdersQuery (page, perPage, q?, sort?, filters) |
POST | /api/projects/{project_id}/sales/orders | Path parameters: project_idJSON 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_idJSON body: UpdateOrderRequest |
GET | /api/projects/{project_id}/sales/orders/{order_id}/events | Path parameters: project_id, order_id |
POST | /api/projects/{project_id}/sales/orders/{order_id}/hold | Path parameters: project_id, order_idJSON body: HoldOrderRequest |
GET | /api/projects/{project_id}/sales/orders/{order_id}/invoices | Path parameters: project_id, order_id |
GET | /api/projects/{project_id}/sales/orders/{order_id}/shipments | Path parameters: project_id, order_id |
POST | /api/projects/{project_id}/sales/orders/{order_id}/shipments | Path parameters: project_id, order_idJSON body: CreateShipmentRequest |
POST | /api/projects/{project_id}/sales/orders/{order_id}/shipments/auto-create | Path parameters: project_id, order_id |
POST | /api/projects/{project_id}/sales/orders/{order_id}/shipments/can-create | Path parameters: project_id, order_idJSON body: CanCreateShipmentRequest (shipment?, is_admin_approved, is_stock_reserved, trigger?) |
GET | /api/projects/{project_id}/sales/orders/{order_id}/shipped-quantities | Path parameters: project_id, order_id |
GET | /api/projects/{project_id}/sales/orders/{order_id}/transactions | Path parameters: project_id, order_id |
GET | /api/projects/{project_id}/sales/orders/attributes | Path parameters: project_id |
POST | /api/projects/{project_id}/sales/orders/attributes | 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?, ...) |
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_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?, ...) |
GET | /api/projects/{project_id}/sales/orders/shipments | Path parameters: project_idQuery parameters: ListShipmentsQuery (page, perPage) |
GET | /api/projects/{project_id}/sales/orders/shipments/methods | Path parameters: project_idQuery parameters: ListQuery (page, per_page, q?, filter, raw_filters) |
POST | /api/projects/{project_id}/sales/orders/shipments/methods | Path parameters: project_idJSON 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_idJSON 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/tree | Path parameters: project_id |
GET | /api/projects/{project_id}/sales/orders/shipments/rules | Path parameters: project_id |
PUT | /api/projects/{project_id}/sales/orders/shipments/rules | Path parameters: project_idJSON body: ShipmentRuleSettingsInput |
Payments
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/payment-config | Path parameters: project_id |
GET | /api/projects/{project_id}/sales/payment-services | Path parameters: project_id |
PATCH | /api/projects/{project_id}/sales/payment-services/{service_id} | Path parameters: project_id, service_idJSON 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-fees | Path parameters: project_id, service_idJSON body: PaymentFeeRequest (platform_fee_percent?, platform_fee_fixed?) |
GET | /api/projects/{project_id}/sales/payment-services/{service_id}/stripe/account | Path parameters: project_id, service_id |
POST | /api/projects/{project_id}/sales/payment-services/{service_id}/stripe/connect | Path parameters: project_id, service_idJSON body: StripeConnectRequest (return_url, refresh_url) |
GET | /api/projects/{project_id}/sales/payment-services/{service_id}/stripe/login-link | Path parameters: project_id, service_id |
GET | /api/projects/{project_id}/sales/platform-payment-settings | Path parameters: project_id |
POST | /api/projects/{project_id}/sales/platform-payment-settings | Path parameters: project_idJSON body: PlatformPaymentSettingsRequest (platform_fee_percent?, platform_fee_fixed?) |
Product search
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/products/search | Path parameters: project_idQuery parameters: ProductSearchQuery (q, limit, offset) |
Returns
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/rma/addresses | Path parameters: project_id |
POST | /api/projects/{project_id}/sales/rma/addresses | Path parameters: project_idJSON 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_idJSON 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/requests | Path parameters: project_idQuery 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_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 | /api/projects/{project_id}/sales/rma/requests/{rma_id}/messages | Path parameters: project_id, rma_id |
POST | /api/projects/{project_id}/sales/rma/requests/{rma_id}/messages | Path parameters: project_id, rma_idJSON body: RmaMessagePayload (body, attachments) |
GET | /api/projects/{project_id}/sales/rma/settings | Path parameters: project_id |
PUT | /api/projects/{project_id}/sales/rma/settings | 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 | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/shipment-restrictions | Path parameters: project_idQuery parameters: ListRestrictionsQuery (page, perPage) |
POST | /api/projects/{project_id}/sales/shipment-restrictions | 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?, ...) |
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_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?, ...) |
Shipment rules
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/shipment-rules | Path parameters: project_idQuery parameters: ListRulesQuery (page, perPage) |
POST | /api/projects/{project_id}/sales/shipment-rules | 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?, ...) |
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_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?, ...) |
Shipments
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/shipments | Path parameters: project_idQuery 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_idJSON body: UpdateShipmentRequest |
GET | /api/projects/{project_id}/sales/shipments/{shipment_id}/comments | Path parameters: project_id, shipment_id |
POST | /api/projects/{project_id}/sales/shipments/{shipment_id}/comments | Path parameters: project_id, shipment_idJSON body: AddShipmentCommentRequest |
GET | /api/projects/{project_id}/sales/shipments/{shipment_id}/detail | Path parameters: project_id, shipment_idQuery parameters: ShipmentDetailQuery (include_items, include_tracks, include_comments) |
POST | /api/projects/{project_id}/sales/shipments/{shipment_id}/refresh-tracking | Path parameters: project_id, shipment_id |
GET | /api/projects/{project_id}/sales/shipments/{shipment_id}/tracking-events | Path parameters: project_id, shipment_id |
GET | /api/projects/{project_id}/sales/shipments/{shipment_id}/tracks | Path parameters: project_id, shipment_id |
POST | /api/projects/{project_id}/sales/shipments/{shipment_id}/tracks | Path parameters: project_id, shipment_idJSON body: CreateShipmentTrackRequest |
Shipping methods
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/shipping-methods | Path parameters: project_idQuery parameters: ListQuery (page, per_page, q?, filter, raw_filters) |
POST | /api/projects/{project_id}/sales/shipping-methods | Path parameters: project_idJSON 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_idJSON 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/tree | Path parameters: project_id |
Subscription groups
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/subscription_groups | Path parameters: project_id |
POST | /api/projects/{project_id}/sales/subscription_groups | 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?, ...) |
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_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?, ...) |
Tax zones
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/tax-zones | Path parameters: project_id |
POST | /api/projects/{project_id}/sales/tax-zones | Path parameters: project_idJSON 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_idJSON body: UpdateTaxZoneRequest (name?, tax_title?, rate_percent?, countries?, regions?, cities?, postal_codes?, priority?, is_active?) |
Transactions
| Method | Endpoint | Request information |
|---|---|---|
GET | /api/projects/{project_id}/sales/transactions | Path parameters: project_idQuery 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
| Method | Endpoint | Request information |
|---|---|---|
POST | /api/projects/{project_id}/shopify/connect/start | 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 | /api/projects/{project_id}/shopify/connect/status | Path parameters: project_idAuthentication: session |
GET | /api/projects/{project_id}/shopify/imports | Path parameters: project_idAuthentication: session |
POST | /api/projects/{project_id}/shopify/imports | 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 | /api/projects/{project_id}/shopify/imports/{job_id} | Path parameters: project_id, job_idAuthentication: session |
GET | /api/shopify/connect/callback | Query parameters: ShopifyConnectCallbackQuery (shop?, hmac?, code?, state?, host?, timestamp?, error?, error_description?) |
API authentication
| Method | Endpoint | Request information |
|---|---|---|
POST | /v1/auth/api-keys/revoke | Authentication: Bearer API key Request data read: headers |
POST | /v1/auth/api-keys/rotate | Authentication: Bearer API key Request data read: headers |
GET | /v1/auth/connections | Authentication: Bearer API key Request data read: headers |
POST | /v1/auth/connections | JSON body: CreateConnectionRequest (state)Authentication: Bearer API key Request data read: headers |
DELETE | /v1/auth/connections/{project_id} | Path parameters: project_idAuthentication: Bearer API key Request data read: headers |
POST | /v1/auth/connections/complete | JSON body: CompleteConnectionRequest (code)Authentication: Bearer API key Request data read: headers |
POST | /v1/auth/connections/validate | JSON 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.