Skip to main content

API Changelog

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

v202607

Version info

FieldValue
ReleasedTBD
StatusCurrent
API prefix/openapi/2026-07/
Previous/openapi/2026-01/
SunsetTBD
API referencev202607 API Reference

Summary

  • This version is a routine release that increments the API prefix from 2026-01 to 2026-07.
  • Existing integrations using the previous prefix will continue to work with the same functional behavior under the new prefix.
  • Updating your API base path to /openapi/2026-07/ is required to access this version; no other migration steps are needed.

v202601

Version info

FieldValue
ReleasedTBD
StatusSupported
API prefix/openapi/2026-01/
Previous/openapi/2025-06/
SunsetTBD
API referencev202601 API Reference

Summary

  • Price rules and discount codes endpoints are fully replaced by a new unified Discounts API.
  • New discounts endpoints support automatic and non‑automatic discounts, code lookup, combine configurations, batch operations, and cancellation.
  • Asynchronous smart collection creation is introduced for better performance on large rules.
  • Several legacy endpoints (flash sales, rebates, popups, sales pop config) are removed without replacement.
  • Coupons API changes: listing (GET /coupons) is removed; a new POST /coupons endpoint is added.

Breaking changes

Discounts & Price Rules

The existing /price_rules and /discount_codes endpoints are replaced by the new /discounts endpoints. Use the following mapping to migrate your code.

Before (v2025-06)After (v2026-01)
GET /price_rulesGET /discounts
POST /price_rulesPOST /discounts/automatic or POST /discounts/non-automatic
GET /price_rules/{price_rule_id}GET /discounts/{id}
PUT /price_rules/{price_rule_id}PUT /discounts/automatic/{id} or PUT /discounts/non-automatic/{id}
DELETE /price_rules/{price_rule_id}DELETE /discounts/{id}
GET /price_rules/{price_rule_id}/discount_codesGET /discounts (filter by code) or GET /discounts/by-code/{discount_code}
POST /price_rules/{price_rule_id}/discount_codesPOST /discounts/non-automatic (creates a discount with a code)
GET /price_rules/{price_rule_id}/discount_codes/{discount_code_id}GET /discounts/{id} or GET /discounts/by-code/{discount_code}
PUT /price_rules/{price_rule_id}/discount_codes/{discount_code_id}PUT /discounts/non-automatic/{id}
DELETE /price_rules/{price_rule_id}/discount_codes/{discount_code_id}DELETE /discounts/{id}
GET /discount_codesGET /discounts
GET /discount_codes/lookupGET /discounts/by-code/{discount_code}

Coupons

  • GET /coupons (list coupons) has been removed. There is no direct replacement.
  • POST /coupons is added (see Additions).

Additions

The following new endpoints are introduced:

  • Coupons
    • POST /coupons — Create coupon
    • 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 — Configure which discount types can be combined
    • 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
  • Collections
    • POST /collections/async — Asynchronously create a smart collection
    • GET /collections/async-task/{id} — Get collection async task
    • PATCH /collections/{id}/smart-rule — Update smart collection rules
    • PATCH /collections/{id}/smart-rule/async — Asynchronously update smart collection rules

Changes (non‑breaking)

  • DELETE /products — Delete product (new method on existing path).

Removed without replacement

The following endpoints have been removed and have no direct replacement:

  • POST /coupons/receive — Receive coupon
  • GET /discount_flash_sales — List discount flash sales
  • GET /discount_rebates — List discount rebates
  • GET /popups — List popups
  • GET /price_rules/count — Get price rule count
  • POST /price_rules/{price_rule_id}/discount_codes/batch — Batch create discount codes
  • GET /salespops/config — Get sales pop config

Migration

  1. Price rules to discounts: Replace all calls to /price_rules and /discount_codes with the corresponding /discounts endpoints listed in the Breaking changes table. Note that the new API requires distinguishing between automatic and non‑automatic discounts.
  2. Coupon listing: If your application relied on GET /coupons to list coupons, use the new GET /discounts endpoint (which includes all discount types) or adopt the individual coupon retrieval via GET /coupons/{id}.
  3. Batch discount code creation: The batch endpoint is removed. Create discounts individually using POST /discounts/non-automatic.
  4. Count endpoint: Use pagination (page/limit) on GET /discounts instead of the removed /price_rules/count.

Schema & behavior

Field-level changes are not listed in this changelog. For detailed request/response schemas and behavior changes, refer to the API reference.

v202506

Version info

FieldValue
ReleasedTBD
StatusSupported
API prefix/openapi/2025-06/
Previous202201
SunsetTBD
API referencev202506 API Reference

Summary

  • Consolidated data analysis – Legacy data endpoints are replaced with a unified /data-analysis API offering granular insights by SKU, SPU, landing page, and UTM.
  • Modern inventory management – Full CRUD for inventory items and levels, plus location management with priority and deactivation support.
  • Simplified payment & settlement – All shoplazza-payment endpoints are now version‑prefixed, providing consistent access to balances, disputes, payouts, refunds, and settlements.
  • Streamlined resource paths – Key resources (orders, customers, procurements, script_tags, metafields) adopt cleaner, parameter‑consistent paths.
  • New capabilities – App proxies, articles & blogs, gift card batch creation, theme file versioning, and advanced shipping schema management are now available.

Breaking changes

Carrier Services

  • The POST /carrier_services/ (with trailing slash) endpoint is removed. Use the new POST /carrier_services without trailing slash.
BeforeAfter
POST /{ver}/carrier_services/POST /{ver}/carrier_services

Data Analysis

  • The legacy GET /data/analysis, GET /data/count, GET /data/query, GET /data/task, and GET /data/tasks endpoints are removed without direct replacement. Use the new Data Analysis API instead.
BeforeAfter
GET /{ver}/data/analysisPOST /{ver}/data-analysis (and related sub‑endpoints)
GET /{ver}/data/queryPOST /{ver}/data-analysis (and sub‑endpoints)
GET /{ver}/data/taskPOST /{ver}/data-analysis (and sub‑endpoints)
GET /{ver}/data/tasksPOST /{ver}/data-analysis (and sub‑endpoints)
GET /{ver}/data/count(no replacement)

Files

  • The GET method on /{ver}/file/{file_uri} is removed.
BeforeAfter
GET /{ver}/file/{file_uri}Use GET /{ver}/file/detail/{file_uri}

Inventory & Locations

  • The GET /{ver}/statistics/inventory/cost_price and GET /{ver}/statistics/inventory/loss_quantity endpoints are removed. Use the new Inventory Items and Inventory Levels endpoints.
BeforeAfter
GET /{ver}/statistics/inventory/cost_priceGET /{ver}/inventory_items (and related)
GET /{ver}/statistics/inventory/loss_quantityGET /{ver}/inventory_items (and related)

Orders & Customers

  • All order and customer sub‑endpoints now use {order_id} and {customer_id} instead of {id}.
BeforeAfter
GET/PUT/DELETE /{ver}/orders/{id}GET/PUT/DELETE /{ver}/orders/{order_id}
POST /{ver}/orders/{id}/cancelPOST /{ver}/orders/{order_id}/cancel
POST /{ver}/orders/{id}/payment/successPOST /{ver}/orders/{order_id}/payment/success
GET/POST /{ver}/orders/{id}/refundGET/POST /{ver}/orders/{order_id}/refund
GET/POST /{ver}/orders/{id}/transactionsGET /{ver}/orders/{order_id}/transactions
GET /{ver}/orders/{id}/risksNow GET /{ver}/orders/{order_id}/risks (no change in path)
GET/PUT /{ver}/customers/{id}GET/PUT /{ver}/customers/{customer_id}

Payment App Callbacks

  • The POST /payments_apps/complete_callbacks and POST /payments_apps/notify_callbacks endpoints are removed. Use the new POST /payments_apps/configure for configuration; callback handling may be replaced by webhooks.
BeforeAfter
POST /{ver}/payments_apps/complete_callbacks(no direct replacement)
POST /{ver}/payments_apps/notify_callbacks(no direct replacement)

Price Rules

  • The DELETE method on /{ver}/price_rules/{price_rule_id}/discount_codes is removed. Use DELETE /{ver}/price_rules/{price_rule_id}/discount_codes/{discount_code_id} to delete a single discount code.
BeforeAfter
DELETE /{ver}/price_rules/{price_rule_id}/discount_codesDELETE /{ver}/price_rules/{price_rule_id}/discount_codes/{discount_code_id}

Procurements & Stock Management

  • All procurement endpoints are moved from /center/procurements and direct /procurements to a unified /procurements/{procurement_id} pattern.
BeforeAfter
GET /{ver}/center/procurementsGET /{ver}/procurements/{procurement_id} (and list via search)
GET /{ver}/center/procurements/{procurement_id}GET /{ver}/procurements/{procurement_id}
GET /{ver}/center/procurements/{procurement_id}/itemsGET /{ver}/procurements/{procurement_id}/items
GET /{ver}/procurements/{id}GET /{ver}/procurements/{procurement_id}
PUT /{ver}/procurements/{id}PUT /{ver}/procurements/{procurement_id}
PATCH /{ver}/procurements/{id}/cancelPATCH /{ver}/procurements/{procurement_id}/cancel
GET/POST/DELETE /{ver}/procurements/{id}/itemsGET/PUT/POST/DELETE /{ver}/procurements/{procurement_id}/items
PUT /{ver}/procurments/{id}/items (note typo)PUT /{ver}/procurements/{procurement_id}/items
PATCH /{ver}/procurements/{id}/receivePATCH /{ver}/procurements/{procurement_id}/receive
GET /{ver}/center/stock_adjust_orders(use Inventory Levels)
GET /{ver}/center/stock_adjust_orders/{id}(use Inventory Levels)
GET /{ver}/center/stock_adjust_orders/{id}/items(use Inventory Levels)
GET /{ver}/center/transfer_orders(use Inventory Levels)
GET /{ver}/center/transfer_orders/{id}(use Inventory Levels)
GET /{ver}/center/transfer_orders/{id}/items(use Inventory Levels)

Recurring Application Charges

  • The path now uses {charge_id} instead of {recurring_charge_id}.
BeforeAfter
PUT /{ver}/recurring_application_charges/{recurring_charge_id}/customizePUT /{ver}/recurring_application_charges/{charge_id}/customize
GET/POST /{ver}/recurring_application_charges/{recurring_charge_id}/usage_chargeGET/POST /{ver}/recurring_application_charges/{charge_id}/usage_charge
GET /{ver}/recurring_application_charges/{recurring_charge_id}/usage_charge/{usage_charge_id}GET /{ver}/recurring_application_charges/{charge_id}/usage_charge/{usage_charge_id}

Script Tags

  • The old script_tags_new endpoints are removed. Use the new /script_tags endpoints (without _new).
BeforeAfter
GET/POST /{ver}/script_tags_newGET/POST /{ver}/script_tags
GET /{ver}/script_tags_new/countGET /{ver}/script_tags/count
GET/PUT/DELETE /{ver}/script_tags_new/{id}GET/PUT/DELETE /{ver}/script_tags/{script_tag_id}

Metafields

  • Metafield paths are restructured under /metafields/{owner_resource}/{owner_id}. Shop‑level metafields are now under /metafields-shop.
BeforeAfter
GET/POST /{ver}/{resource}/{resource_id}/metafieldsGET/POST /{ver}/metafields/{owner_resource}/{owner_id}
GET /{ver}/{resource}/{resource_id}/metafields/countGET /{ver}/metafields/{owner_resource}/{owner_id}/count
GET/PATCH/DELETE /{ver}/{resource}/{resource_id}/metafields/{id}GET/PATCH/DELETE /{ver}/metafields/{owner_resource}/{owner_id}/{id}
(no shop metafields in old version)GET/POST /{ver}/metafields-shop (new)

Areas

  • The area endpoint now uses {country} instead of {country_code} and adds POST/DELETE support.
BeforeAfter
GET /{ver}/areas/country/{country_code}/provinceGET /{ver}/areas/country/{country}/province

Discount Flash Sales

  • Endpoint renamed from discount_flashsales to discount_flash_sales.
BeforeAfter
GET /{ver}/discount_flashsalesGET /{ver}/discount_flash_sales

Themes

  • Several theme endpoints are removed. Use the new theme versioning and file management endpoints.
BeforeAfter
POST /{ver}/themes/uploadPOST /{ver}/themes/{theme_id}/upgrade (for upgrades)
POST /{ver}/themes/{theme_id}/doc-assetPUT /{ver}/themes/{theme_id}/doc-rename (for file management)
GET /{ver}/themes/{theme_id}/downloadGET /{ver}/themes/task/{task_id} (for theme task status)

Tracking

  • GET /{ver}/tracking-codes is removed. Use the new /tracking/carriers endpoints.
BeforeAfter
GET /{ver}/tracking-codesGET /{ver}/tracking/carriers (and /detect)

Other Removals

  • GET /{ver}/salespops/datagraph is removed without replacement.
  • GET /{ver}/orders/after_sales_list is removed. Use GET /{ver}/orders/post_sales.

Additions

  • App ProxiesGET/POST /{ver}/app-proxies, GET /{ver}/app-proxies/count, GET/DELETE /{ver}/app-proxies/{id}
  • Application ChargesGET /{ver}/application_charges/{charge_id}/transactions
  • AreasPOST/DELETE /{ver}/areas/country/{country}/province, GET /{ver}/areas/{code}/children
  • Articles & Blogs – Full CRUD for /articles and /blogs (list, create, get, update, delete, count, authors)
  • CategoriesGET /{ver}/categories
  • CollectsPOST /{ver}/collects/batch
  • Data AnalysisPOST /{ver}/data-analysis, /data-analysis/land-page, /data-analysis/sku, /data-analysis/spu, /data-analysis/utm
  • Discount Flash SalesGET /{ver}/discount_flash_sales
  • FilesGET /{ver}/file/detail/{file_uri}
  • Gift CardsPOST /{ver}/gift_cards/batch
  • Inventory – Full CRUD for /inventory_items and /inventory_levels, plus /inventory_items/variant, /inventory_items/{inventory_item_id}, /inventory_levels/set
  • Locations – Management endpoints: list, count, deactivate, default, priority, get by ID, list inventory levels per location
  • Metafields – Shop‑level (/metafields-shop) and resource‑level (/metafields/{owner_resource}/{owner_id}) with CRUD and count
  • OAuthGET /{ver}/oauth/access_scopes
  • OrdersGET /{ver}/orders/post_sales
  • PagesPOST /{ver}/pages/details, DELETE /{ver}/pages/store-pages/batch, GET /{ver}/pages/store-pages/info
  • PaymentGET /{ver}/payment/channels
  • Payment AppsPOST /{ver}/payments_apps/configure
  • Price RulesPOST /{ver}/price_rules/{price_rule_id}/discount_codes/batch
  • Procurements – Added methods PUT and merge of /items (now includes batch update)
  • Recurring Application ChargesGET /{ver}/recurring_application_charges/{charge_id}/transactions
  • Script Tags – Replaced script_tags_new with /script_tags
  • ShippingPOST /{ver}/shipping-lines/available-lines, GET/POST /{ver}/shipping-schemas/general, POST /{ver}/shipping-schemas/shipping-zone, PUT/DELETE /{ver}/shipping-schemas/shipping-zone/{id}
  • Shoplazza Payment – Added GET /{ver}/shoplazza-payment/balance and GET /{ver}/shoplazza-payment/balance/details
  • ThemesGET /{ver}/themes/task/{task_id}, PUT /{ver}/themes/{theme_id}/doc-rename, multiple version‑related endpoints
  • TrackingGET /{ver}/tracking/carriers, GET /{ver}/tracking/carriers/detect
  • TransactionsGET /{ver}/transactions/{transaction_id}

Changes

The following endpoints have new methods added without breaking existing calls:

  • POST /{ver}/carrier_services – New endpoint for creating a carrier service.
  • GET /{ver}/orders/{order_id}/risks – New method to retrieve order risk information.
  • DELETE /{ver}/pages/{id} – New method to delete a page.
  • DELETE /{ver}/price_rules/{price_rule_id}/discount_codes/{discount_code_id} – New method to delete a single discount code.

Removed without replacement

The following endpoints have been removed and no direct replacement is provided:

  • GET /{ver}/data/count
  • GET /{ver}/orders/after_sales_list
  • GET /{ver}/salespops/datagraph
  • GET /{ver}/statistics/inventory/cost_price
  • GET /{ver}/statistics/inventory/loss_quantity
  • POST /{ver}/themes/upload
  • POST /{ver}/themes/{theme_id}/doc-asset
  • GET /{ver}/themes/{theme_id}/download
  • POST /{ver}/payments_apps/complete_callbacks
  • POST /{ver}/payments_apps/notify_callbacks

Migration

  1. Path & parameter updates – Update all requests to use the new parameter names ({order_id}, {customer_id}, {procurement_id}, {charge_id}, {script_tag_id}, etc.) and the new paths as shown in the Breaking changes tables. Remove the old /center/ prefix from procurement and stock endpoints.

  2. Data analysis – Replace calls to the removed GET /data/* endpoints with the new POST /data-analysis endpoints. Use the appropriate sub‑endpoint for your analysis type (SPU, SKU, landing page, UTM). The old GET /data/count has no replacement.

  3. Inventory statistics – The statistics/inventory endpoints are gone. Query inventory data using /inventory_items, /inventory_levels, and /locations.

  4. Payment app callbacks – If you used complete_callbacks or notify_callbacks, migrate to the POST /payments_apps/configure endpoint and consider using webhooks for callback handling.

  5. Theme uploads & downloads – Theme upload/download are removed. Use /themes/{theme_id}/upgrade to upgrade a theme and the new file management endpoints for asset operations.

  6. Discount codes – Batch deletion of discount codes is no longer supported via DELETE /discount_codes. Delete individual codes using DELETE /discount_codes/{discount_code_id} or use the new POST /discount_codes/batch.

  7. Metafields – Migrate from the dynamic /{resource}/{resource_id}/metafields pattern to the dedicated /metafields/{owner_resource}/{owner_id} paths. Shop metafields now have their own endpoints under /metafields-shop.

Schema & behavior

Field‑level changes are not listed in this changelog. For details on request/response schemas, refer to the API reference.

v202201

Version info

ReleasedStatusAPI prefixPreviousSunsetAPI reference
TBDSupported/openapi/2022-01/TBD/api/202201/openapi

Summary

  • This version establishes the initial changelog baseline for the 2022‑01 API.
  • The API prefix is /openapi/2022-01/, covering a total of 150 endpoints.
  • All existing endpoints in this version remain unchanged; no prior version is available for comparison.
  • This baseline serves as the reference point for all future breaking changes, additions, and removals.
  • No client‑affecting changes exist in this version; it is provided solely to anchor the changelog history.