ShopEazydevelopers
API referenceMerchant API BetaStorefront

What publishing would change

Beta
Credentials
  • OAuth access token
Scopes
store:read
GET
/v1/merchant/stores/{storeId}/storefront/changes

The design draft against what shoppers see now (Look, colours, fonts, corners, the top of the page, each home section new, removed or changed by id, the announcement bar and the pop-up), then the shop's pages with something to publish: one never live (kind: new) or a live one whose draft differs (changed). Each in a few merchant words: title and an optional detail ("Top of the page", "Full photo → Split"). area: design goes live with publishStorefront, area: page with that page's publishPage. Empty: nothing to publish.

Access: OAuth scope store:read; not write-gated.

Paged: { items, nextCursor }, limit (default 100, at most 200) and an opaque cursor.

Authorization

merchantOAuth store:read
headerAuthorizationBearer <token>

OAuth 2.1 (authorization code + PKCE S256, public clients, dynamic registration) for connected AI apps. Effective power is scopes granted AND the person's role today AND the plan. orders:refund, billing:write and team:write are opt-in on the consent screen. Write implies read for marketing:read and messages:read, so a grant holding marketing:write passes a marketing:read check, and messages:send passes messages:read.

Scope: store:read

Path Parameters

storeId*string

A store the person can reach. Any other id answers 404, never 403.

Query Parameters

cursor?string

The nextCursor of the previous page, unchanged. A cursor that is not one we gave you is 400 bad_request.

limit?integer

Page size: default 100, at most 200 (more is 200; a missing or unusable value is 100).

Range1 <= value <= 200
Default100

Response Body

OK

application/json
  1. response
data*
Example Request
curl -X GET 'https://api.shopeazy.co/v1/merchant/stores/<storeId>/storefront/changes' \  -H 'Authorization: Bearer <access_token>'
Example Response
{  "data": {    "items": [      {        "id": "string",        "area": "design",        "kind": "new",        "title": "string",        "detail": "string",        "pageId": "string"      }    ],    "nextCursor": "string"  }}