Four tiles and the five latest orders
- Credentials
- OAuth access token
- Scopes
store:read
Access: OAuth scope store:read; not write-gated.
merchantOAuth store:readAuthorizationBearer <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
storeId*stringA store the person can reach. Any other id answers 404, never 403.
OK
application/json- response
data*curl -X GET 'https://api.shopeazy.co/v1/merchant/stores/<storeId>/dashboard' \ -H 'Authorization: Bearer <access_token>'{ "data": { "storeId": "w82oaN7OkGK7BykWs2Ag", "window": "Last 7 days", "stats": [ { "key": "revenue", "label": "Revenue", "value": "R0,00", "deltaPct": null }, { "key": "orders", "label": "Orders", "value": "1", "deltaPct": null }, { "key": "unfulfilled", "label": "To fulfil", "value": "0", "deltaPct": null } ], "recentOrders": [ { "id": "riEhGrBxE2kF04RzXyaz", "number": "ORD-00001", "channel": "online", "customerName": "Thandi Mokoena", "soldByName": null, "total": { "amount": 32900, "currency": "ZAR" }, "status": "open", "paymentStatus": "unpaid", "fulfillmentStatus": "unfulfilled", "placedAt": 1792924396792, "lineCount": 1, "kinds": [ "physical" ] } ] }}Resolve a place id into address parts GET
Access: OAuth scope `store:read`; not write-gated.
Who changed what in the business, newest first GET
The business's audit trail (money, access, settings), including what connected AI apps did. It is the whole business's, not one store's. Owner or admin. Access: OAuth scope `store:read`; not write-gated. Paged: `{ items, nextCursor }`, `limit` (default 30, at most 100) and an opaque `cursor`. It pages through the newest 100.