Skip to main content

API Changelog

Track breaking changes, new endpoints, and removed endpoints between Shoplazza OpenAPI versions. Versions follow the vYYYYMM naming convention.

v202601

Version info

FieldValue
ReleasedTBD
StatusCurrent
API prefix/openapi/2026-01/
Previous/openapi/2025-06/
SunsetTBD
API reference/api/202601/openapi

Summary

  • Discount management is consolidated under a new /discounts API, replacing all price_rules and discount_codes endpoints.
  • Coupon endpoints are restructured: the POST /coupons/receive endpoint is removed, and get for /coupons is replaced by a POST method. A dedicated coupons/{id} resource provides read and update.
  • The popups and salespops/config endpoints are removed without replacement.
  • A DELETE method is added to /products, enabling product deletion.
  • A new PATCH method on /collections/{id}/smart-rule allows updating smart collection rules.

Breaking changes

Discounts (Price Rules & Discount Codes)

All endpoints under /price_rules and /discount_codes are replaced by the new /discounts API. The following table maps the old endpoints to their new counterparts.

Before (old endpoint)After (new endpoint)
GET /price_rulesGET /discounts
POST /price_rulesPOST /discounts/non-automatic or POST /discounts/automatic
GET /price_rules/{id}GET /discounts/{id}
PUT /price_rules/{id}PUT /discounts/non-automatic/{id} or PUT /discounts/automatic/{id}
DELETE /price_rules/{id}DELETE /discounts/{id}
GET /price_rules/{id}/discount_codesGET /discounts (list) or GET /discounts/by-code/{code}
POST /price_rules/{id}/discount_codesPOST /discounts/non-automatic or POST /discounts/automatic
POST /price_rules/{id}/discount_codes/batchPOST /discounts/batch-delete
GET /price_rules/count(no direct replacement)
GET /discount_codesGET /discounts
GET /discount_codes/lookupGET /discounts/by-code/{code}
GET /price_rules/{id}/discount_codes/{code_id}GET /discounts/{id}
PUT /price_rules/{id}/discount_codes/{code_id}PUT /discounts/non-automatic/{id} or PUT /discounts/automatic/{id}
DELETE /price_rules/{id}/discount_codes/{code_id}DELETE /discounts/{id}

Additionally, GET /discount_flash_sales and GET /discount_rebates are removed without replacement.

Coupons

  • GET /coupons is replaced by POST /coupons. Existing integrations that relied on the GET method must now use POST (with the appropriate request body) to create coupons.
  • POST /coupons/receive is removed without replacement.

Additions

Collections

  • PATCH /collections/{id}/smart-rule — Update smart collection rules

Coupons

  • GET /coupons/{id} — Get coupon
  • PUT /coupons/{id} — Update coupon

Discounts

  • GET /discounts — List discounts
  • POST /discounts/automatic — Create automatic discount
  • PUT /discounts/automatic/{id} — Update automatic discount
  • POST /discounts/batch-delete — Batch delete discounts
  • GET /discounts/by-code/{discount_code} — Get discount by code
  • POST /discounts/cancel — Cancel discounts
  • PUT /discounts/combine — Update discount combine
  • POST /discounts/non-automatic — Create non-automatic discount
  • PUT /discounts/non-automatic/{id} — Update non-automatic discount
  • POST /discounts/restart — Restart discount
  • GET /discounts/{id} — Get discount
  • DELETE /discounts/{id} — Delete discount

Changes (non-breaking)

  • DELETE /products — Delete products (new method added; existing GET and POST remain unchanged)

Removed without replacement

The following endpoints have been removed with no direct replacement in this version:

  • POST /coupons/receive
  • GET /discount_flash_sales
  • GET /discount_rebates
  • GET /popups
  • GET /salespops/config

Migration

  1. Replace price rule and discount code calls: Update all integrations that use /price_rules or /discount_codes paths to use the corresponding /discounts endpoints as shown in the Breaking changes table.
  2. Update coupon listing: Replace GET /coupons with POST /coupons to create coupons; use the new GET /coupons/{id} to retrieve a single coupon.
  3. Remove deprecated calls: Delete any references to POST /coupons/receive, GET /discount_flash_sales, GET /discount_rebates, GET /popups, and GET /salespops/config.
  4. Utilise new capabilities: Use the new DELETE /products endpoint for product deletion, and PATCH /collections/{id}/smart-rule for smart collection rule updates.

Schema & behavior

Field-level changes in request or response schemas are not listed in this changelog. Refer to the API reference for complete schema details.

v202506

Version info

FieldValue
ReleasedTBD
StatusSupported
API prefix/openapi/2025-06/
Previous/openapi/2022-01/
SunsetTBD
API reference/api/openapi

Summary

  • Resource path restructuring – Many core endpoints (Orders, Customers, Procurements, Recurring Application Charges) have renamed path parameters (e.g., {id}{order_id}) and updated prefixes, requiring code updates.
  • New billing and payment capabilities – Added endpoints for application charge transactions and Shoplazza payment balance, expanding financial data access.
  • Inventory management overhaul – Introduced dedicated inventory_items, inventory_levels, and locations endpoints, replacing legacy inventory statistics.
  • Deprecation of legacy modules – Center-related (procurement/stock/transfer) endpoints and several data analysis endpoints are removed without direct replacement.
  • Streamlined webhook and theme management – Script tags renamed, themes gain versioning and upgrade support, and payment app configuration is simplified.

Breaking changes

Customers

BeforeAfter
GET /openapi/2022-01/customers/{id}GET /openapi/2025-06/customers/{customer_id}
PUT /openapi/2022-01/customers/{id}PUT /openapi/2025-06/customers/{customer_id}

Orders

BeforeAfter
GET /openapi/2022-01/orders/{id}GET /openapi/2025-06/orders/{order_id}
PUT /openapi/2022-01/orders/{id}PUT /openapi/2025-06/orders/{order_id}
DELETE /openapi/2022-01/orders/{id}DELETE /openapi/2025-06/orders/{order_id}
POST /openapi/2022-01/orders/{id}/cancelPOST /openapi/2025-06/orders/{order_id}/cancel
POST /openapi/2022-01/orders/{id}/payment/successPOST /openapi/2025-06/orders/{order_id}/payment/success
GET /openapi/2022-01/orders/{id}/refundGET /openapi/2025-06/orders/{order_id}/refund
POST /openapi/2022-01/orders/{id}/refundPOST /openapi/2025-06/orders/{order_id}/refund
GET /openapi/2022-01/orders/{id}/transactionsGET /openapi/2025-06/orders/{order_id}/transactions
POST /openapi/2022-01/orders/{id}/transactionsRemoved
GET /openapi/2022-01/orders/{id}/risksGET /openapi/2025-06/orders/{order_id}/risks
GET /openapi/2022-01/orders/after_sales_listGET /openapi/2025-06/orders/post_sales
POST /openapi/2022-01/orders/{id}/partial_refundRemoved without replacement

Procurements

BeforeAfter
GET /openapi/2022-01/procurements/{id}GET /openapi/2025-06/procurements/{procurement_id}
PUT /openapi/2022-01/procurements/{id}PUT /openapi/2025-06/procurements/{procurement_id}
PATCH /openapi/2022-01/procurements/{id}/cancelPATCH /openapi/2025-06/procurements/{procurement_id}/cancel
GET /openapi/2022-01/procurements/{id}/itemsGET /openapi/2025-06/procurements/{procurement_id}/items
POST /openapi/2022-01/procurements/{id}/itemsPOST /openapi/2025-06/procurements/{procurement_id}/items
DELETE /openapi/2022-01/procurements/{id}/itemsDELETE /openapi/2025-06/procurements/{procurement_id}/items
PATCH /openapi/2022-01/procurements/{id}/receivePATCH /openapi/2025-06/procurements/{procurement_id}/receive
PUT /openapi/2022-01/procurments/{id}/items (typo)Replaced by PUT /openapi/2025-06/procurements/{procurement_id}/items (new method)

Recurring Application Charges

BeforeAfter
PUT /openapi/2022-01/recurring_application_charges/{recurring_charge_id}/customizePUT /openapi/2025-06/recurring_application_charges/{charge_id}/customize
POST /openapi/2022-01/recurring_application_charges/{recurring_charge_id}/usage_chargePOST /openapi/2025-06/recurring_application_charges/{charge_id}/usage_charge
GET /openapi/2022-01/recurring_application_charges/{recurring_charge_id}/usage_chargeGET /openapi/2025-06/recurring_application_charges/{charge_id}/usage_charge
GET /openapi/2022-01/recurring_application_charges/{recurring_charge_id}/usage_charge/{usage_charge_id}GET /openapi/2025-06/recurring_application_charges/{charge_id}/usage_charge/{usage_charge_id}

Script Tags

BeforeAfter
POST /openapi/2022-01/script_tags_newPOST /openapi/2025-06/script_tags
GET /openapi/2022-01/script_tags_newGET /openapi/2025-06/script_tags
GET /openapi/2022-01/script_tags_new/countGET /openapi/2025-06/script_tags/count
GET /openapi/2022-01/script_tags_new/{id}GET /openapi/2025-06/script_tags/{script_tag_id}
PUT /openapi/2022-01/script_tags_new/{id}PUT /openapi/2025-06/script_tags/{script_tag_id}
DELETE /openapi/2022-01/script_tags_new/{id}DELETE /openapi/2025-06/script_tags/{script_tag_id}

Metafields

BeforeAfter
POST /openapi/2022-01/{resource}/{resource_id}/metafieldsPOST /openapi/2025-06/metafields/{owner_resource}/{owner_id}
GET /openapi/2022-01/{resource}/{resource_id}/metafieldsGET /openapi/2025-06/metafields/{owner_resource}/{owner_id}
GET /openapi/2022-01/{resource}/{resource_id}/metafields/countGET /openapi/2025-06/metafields/{owner_resource}/{owner_id}/count
GET /openapi/2022-01/{resource}/{resource_id}/metafields/{id}GET /openapi/2025-06/metafields/{owner_resource}/{owner_id}/{id}
PATCH /openapi/2022-01/{resource}/{resource_id}/metafields/{id}PATCH /openapi/2025-06/metafields/{owner_resource}/{owner_id}/{id}
DELETE /openapi/2022-01/{resource}/{resource_id}/metafields/{id}DELETE /openapi/2025-06/metafields/{owner_resource}/{owner_id}/{id}

Data Analysis

BeforeAfter
GET /openapi/2022-01/data/analysisPOST /openapi/2025-06/data-analysis
GET /openapi/2022-01/data/countRemoved (replaced by new data-analysis endpoints)
GET /openapi/2022-01/data/queryRemoved
GET /openapi/2022-01/data/taskRemoved
GET /openapi/2022-01/data/tasksRemoved
POST /openapi/2024-07/data-analysis/spuPOST /openapi/2025-06/data-analysis/spu (prefix change)

Discount Flash Sales

BeforeAfter
GET /openapi/2022-01/discount_flashsalesGET /openapi/2025-06/discount_flash_sales

Areas / Province

BeforeAfter
GET /openapi/2022-01/areas/country/{country_code}/provinceGET /openapi/2025-06/areas/country/{country}/province

Shoplazza Payment

All GET endpoints under /openapi/2024-07/shoplazza-payment/ are replaced by identical endpoints under /openapi/2025-06/shoplazza-payment/. No functional change, but the prefix has been updated.

BeforeAfter
/openapi/2024-07/shoplazza-payment/disputes/openapi/2025-06/shoplazza-payment/disputes
/openapi/2024-07/shoplazza-payment/disputes/{id}/openapi/2025-06/shoplazza-payment/disputes/{id}
/openapi/2024-07/shoplazza-payment/payment-orders/openapi/2025-06/shoplazza-payment/payment-orders
/openapi/2024-07/shoplazza-payment/payment-orders/{id}/openapi/2025-06/shoplazza-payment/payment-orders/{id}
/openapi/2024-07/shoplazza-payment/payout/details/openapi/2025-06/shoplazza-payment/payout/details
/openapi/2024-07/shoplazza-payment/refunds/openapi/2025-06/shoplazza-payment/refunds
/openapi/2024-07/shoplazza-payment/refunds/{id}/openapi/2025-06/shoplazza-payment/refunds/{id}
/openapi/2024-07/shoplazza-payment/reserved-fund/details/openapi/2025-06/shoplazza-payment/reserved-fund/details
/openapi/2024-07/shoplazza-payment/settlements/details/openapi/2025-06/shoplazza-payment/settlements/details

Carrier Services

BeforeAfter
POST /openapi/2022-01/carrier_services/ (trailing slash)POST /openapi/2025-06/carrier_services (no trailing slash)

Price Rules – Discount Codes

BeforeAfter
DELETE /openapi/2022-01/price_rules/{price_rule_id}/discount_codes (removed)DELETE /openapi/2025-06/price_rules/{price_rule_id}/discount_codes/{discount_code_id}
GET /openapi/2022-01/tracking-codesGET /openapi/2025-06/tracking/carriers (replacement)

Pages

BeforeAfter
DELETE /openapi/2022-07/pages/{id}DELETE /openapi/2025-06/pages/store-pages/batch (batch delete)

File

BeforeAfter
GET /openapi/2022-01/file/{file_uri}Removed (replaced by GET /openapi/2025-06/file/detail/{file_uri})

Additions

Application Charges

  • GET /openapi/2025-06/application_charges/{charge_id}/transactions — List one-time application charge transactions

Areas

  • POST /openapi/2025-06/areas/country/{country}/province — Create province
  • DELETE /openapi/2025-06/areas/country/{country}/province — Delete province
  • GET /openapi/2025-06/areas/{code}/children — List sub areas

Articles & Blogs

  • GET /openapi/2025-06/articles — List articles
  • POST /openapi/2025-06/articles — Create article
  • GET /openapi/2025-06/articles/authors — List authors
  • GET /openapi/2025-06/articles/count — Get article count
  • GET /openapi/2025-06/articles/{id} — Get article
  • PUT /openapi/2025-06/articles/{id} — Update article
  • DELETE /openapi/2025-06/articles/{id} — Delete article
  • GET /openapi/2025-06/blogs — List blogs
  • POST /openapi/2025-06/blogs — Create blog
  • GET /openapi/2025-06/blogs/count — Get blog count
  • GET /openapi/2025-06/blogs/{id} — Get blog
  • PUT /openapi/2025-06/blogs/{id} — Update blog
  • DELETE /openapi/2025-06/blogs/{id} — Delete blog

Categories

  • GET /openapi/2025-06/categories — List categories

Collects

  • POST /openapi/2025-06/collects/batch — Batch create collect

Data Analysis

  • POST /openapi/2025-06/data-analysis/land-page — Get data analysis land page
  • POST /openapi/2025-06/data-analysis/sku — Get data analysis by SKU
  • POST /openapi/2025-06/data-analysis/utm — Get data analysis UTM

Files

  • GET /openapi/2025-06/file/detail/{file_uri} — Get file

Gift Cards

  • POST /openapi/2025-06/gift_cards/batch — Batch create gift cards

Inventory

  • GET /openapi/2025-06/inventory_items — List inventory items
  • GET /openapi/2025-06/inventory_items/variant — List variant inventory items
  • GET /openapi/2025-06/inventory_items/{inventory_item_id} — Get inventory item
  • PUT /openapi/2025-06/inventory_items/{inventory_item_id} — Update inventory item
  • GET /openapi/2025-06/inventory_levels — List inventory levels
  • PUT /openapi/2025-06/inventory_levels — Update inventory level
  • POST /openapi/2025-06/inventory_levels — Create inventory level
  • DELETE /openapi/2025-06/inventory_levels — Delete inventory level
  • POST /openapi/2025-06/inventory_levels/set — Set inventory level
  • GET /openapi/2025-06/locations — List locations
  • GET /openapi/2025-06/locations/count — Count locations
  • POST /openapi/2025-06/locations/deactivate — Deactivate location
  • GET /openapi/2025-06/locations/default — Get default location
  • PUT /openapi/2025-06/locations/default — Change default location
  • POST /openapi/2025-06/locations/priority — Edit location priority
  • GET /openapi/2025-06/locations/{location_id} — Get location
  • GET /openapi/2025-06/locations/{location_id}/inventory_levels — List inventory levels

Metafields (Shop)

  • GET /openapi/2025-06/metafields-shop — List shop metafields
  • POST /openapi/2025-06/metafields-shop — Create shop metafield
  • GET /openapi/2025-06/metafields-shop/count — Get shop metafield count
  • GET /openapi/2025-06/metafields-shop/{id} — Get shop metafield
  • DELETE /openapi/2025-06/metafields-shop/{id} — Delete shop metafield
  • PATCH /openapi/2025-06/metafields-shop/{id} — Update shop metafield

OAuth

  • GET /openapi/2025-06/oauth/access_scopes — List access scopes

Orders

  • GET /openapi/2025-06/orders/post_sales — List post-sale orders

Pages

  • POST /openapi/2025-06/pages/details — Batch get pages
  • DELETE /openapi/2025-06/pages/store-pages/batch — Batch delete pages
  • GET /openapi/2025-06/pages/store-pages/info — Search page

Payment

  • GET /openapi/2025-06/payment/channels — Get list available payment channels
  • POST /openapi/2025-06/payments_apps/configure — Configure payment app

Price Rules

  • POST /openapi/2025-06/price_rules/{price_rule_id}/discount_codes/batch — Batch create discount codes

Procurements (new method)

  • PUT /openapi/2025-06/procurements/{procurement_id}/items — Batch update procurement items

Recurring Application Charges (new)

  • GET /openapi/2025-06/recurring_application_charges/{charge_id}/transactions — List recurring application charge transactions

Shipping

  • POST /openapi/2025-06/shipping-lines/available-lines — Get available shipping lines
  • GET /openapi/2025-06/shipping-schemas/general — Get general shopping schema
  • POST /openapi/2025-06/shipping-schemas/general — Save general shopping schema
  • PUT /openapi/2025-06/shipping-schemas/shipping-zone — Update shopping zone
  • POST /openapi/2025-06/shipping-schemas/shipping-zone — Create shopping zone
  • DELETE /openapi/2025-06/shipping-schemas/shipping-zone — Delete shopping zone

Shoplazza Payment (new)

  • GET /openapi/2025-06/shoplazza-payment/balance — Get balance
  • GET /openapi/2025-06/shoplazza-payment/balance/details — List balances

Themes

  • GET /openapi/2025-06/themes/task/{task_id} — Get theme task
  • PUT /openapi/2025-06/themes/{theme_id}/doc-rename — Rename theme file
  • GET /openapi/2025-06/themes/{theme_id}/doc/version-records — List theme file versions (all files)
  • GET /openapi/2025-06/themes/{theme_id}/doc/versions — List theme file versions (single file)
  • GET /openapi/2025-06/themes/{theme_id}/doc/versions/{version_id} — Get theme file version by ID
  • POST /openapi/2025-06/themes/{theme_id}/upgrade — Upgrade specific theme

Tracking

  • GET /openapi/2025-06/tracking/carriers — List carriers
  • GET /openapi/2025-06/tracking/carriers/detect — Detect carrier by tracking number

Transactions

  • GET /openapi/2025-06/transactions/{transaction_id} — Get app charge transaction

Removed without replacement

The following endpoints have been removed and there is no direct functional replacement in this version:

  • /openapi/2022-01/center/procurements (GET)
  • /openapi/2022-01/center/procurements/{procurement_id} (GET)
  • /openapi/2022-01/center/procurements/{procurement_id}/items (GET)
  • /openapi/2022-01/center/stock_adjust_orders (GET)
  • /openapi/2022-01/center/stock_adjust_orders/{stock_adjust_order_id}/items (GET)
  • /openapi/2022-01/center/stock_adjust_orders/{stock_adjust_orders_id} (GET)
  • /openapi/2022-01/center/transfer_orders (GET)
  • /openapi/2022-01/center/transfer_orders/{transfer_order_id} (GET)
  • /openapi/2022-01/center/transfer_orders/{transfer_order_id}/items (GET)
  • /openapi/2022-01/orders/{id}/partial_refund (POST)
  • /openapi/2022-01/salespops/datagraph (GET)
  • /openapi/2022-01/statistics/inventory/cost_price (GET)
  • /openapi/2022-01/statistics/inventory/loss_quantity (GET)
  • /openapi/2022-01/themes/upload (POST)
  • /openapi/2022-01/themes/{theme_id}/doc-asset (POST)
  • /openapi/2022-01/themes/{theme_id}/download (GET)
  • /openapi/2022-01/payments_apps/complete_callbacks (POST)
  • /openapi/2022-01/payments_apps/notify_callbacks (POST)

Migration

  1. Update all path parameters – Replace {id} with {order_id}, {customer_id}, {procurement_id}, {charge_id}, and {script_tag_id} as shown in the Breaking changes tables. Update your API client configuration to use the new base URL /openapi/2025-06/.

  2. Switch to new data analysis endpoints – Replace the previous GET /data/analysis, /data/count, /data/query, /data/task, and /data/tasks with the new POST /data-analysis and its sub-resources (/land-page, /sku, /spu, /utm).

  3. Adopt the new metafield path pattern – Instead of /{resource}/{resource_id}/metafields, use /metafields/{owner_resource}/{owner_id}. Owner resources are now explicitly passed as path parameters.

  4. Replace tracking codes and carrier services – Migrate from GET /tracking-codes to GET /tracking/carriers and POST /tracking/carriers/detect. For carrier services, ensure the trailing slash is removed from the endpoint path.

  5. Handle removed endpoints – If you relied on center inventory operations, partial refund, salespop analytics, or theme upload/download, evaluate the new inventory management endpoints or consider alternative workflows. No direct replacement is provided for these.

Schema & behavior

Field-level changes are not listed in this changelog. For detailed request and response schemas, refer to the /api/openapi. Note that the POST /orders/{order_id}/transactions endpoint has been removed; use the new /transactions/{transaction_id} endpoint for retrieving transaction details. Also, the DELETE method on the discount codes list endpoint has been removed; use the per-code delete endpoint instead.

v202201

Version info

ReleasedStatusAPI prefixPreviousSunsetAPI reference
TBDSupported/openapi/2022-01/N/ATBD/api/202201/openapi

Summary

  • This version is the first release of the Shoplazza OpenAPI and serves as the baseline for future changelogs.
  • No breaking changes, additions, or removals exist in this version.
  • All endpoints documented in this version are considered current and stable.
  • Developers should refer to this baseline when upgrading to newer versions.