Credits and which AI tools can run
- 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>/ai' \ -H 'Authorization: Bearer <access_token>'{ "data": { "configured": true, "credits": { "balance": 50, "label": "50 credits left" }, "capabilities": [ { "id": "product-draft", "label": "Do the whole thing", "hint": "A photo or a barcode becomes a finished listing — price, stock, tags and all", "credits": 3, "available": true, "blockedReason": null }, { "id": "product-copy", "label": "Write the listing", "hint": "A name and description from what you know", "credits": 1, "available": true, "blockedReason": null }, { "id": "image-generate", "label": "Make an image", "hint": "Describe a picture and we draw it", "credits": 6, "available": true, "blockedReason": null } ], "imageActions": [ { "id": "clean", "label": "Clean it up", "hint": "Fix the light, lose the clutter and hands", "credits": 6 }, { "id": "brighten", "label": "Better light", "hint": "Bright and even, like window light", "credits": 6 }, { "id": "white", "label": "Cut out", "hint": "Just the product, on white", "credits": 6 } ], "aspects": [ "1:1", "4:3", "3:4" ] }}What sells, what sits, what runs out GET
Over the last 30 days: the fast and slow sellers, what is not moving, and what runs out soon at the current pace. Access: OAuth scope `listings:read`; not write-gated.
Draft a whole listing from a photo, barcode or prompt POST
Spends credits. Creates nothing: the client sends the draft back through POST .../products. Access: OAuth scope `ai:spend`; write-gated by the subscription.