API fundamentals
Scopes
What each scope unlocks, how scope dependencies work, and why the merchant sees every scope before approving.
How scopes work
- In your app version, declare required and optional scopes, each with a justification that the app review team sees.
- On install, the store owner sees every scope with its description. Required scopes can only be declined by declining the whole install; optional scopes are the merchant's choice.
- The token carries what the merchant actually approved in
scope. Rely on that, not on what you requested. - Some scopes depend on others. For example,
inventory:writedoes not work withoutinventory:read. Request dependencies explicitly; LARM does not add them for you.
Scopes that unlock the same endpoint
Some endpoints accept more than one scope, and any one of them is enough:
| Endpoint | Any of |
|---|---|
| Read categories | categories:read or products:read |
| Read a product price | products.prices:read or products:read |
| Any analytics report | analytics:read or the report's own scope, such as analytics.sales:read |
Request the narrowest scope that covers your use case; merchants approve narrow scopes faster, and app review is simpler.
Customer data and digital content
Customer personal data and digital codes sit behind scopes separate from the order itself:
| You need | Scope |
|---|---|
| The order, its items, amounts and payment status | orders:read |
| Customer name, phone, email and shipping address | customers:read |
| Delivered digital codes and links | orders.digital:read |
| Abandoned carts | carts:read, plus customers:read for contact details |
Without customers:read, the customer and shipping_address keys are absent from the order, and these fields are not included in webhooks either. The app review team asks for the justification of each of these scopes, and rejects the request if it is broader than the app's function.
Scope revocation
The merchant can revoke an optional scope at any time. You receive [scopes.revoked](/guides/app-uninstall), and scopes that depend on it are revoked with it. After that, the related endpoints return 403 SCOPE_REQUIRED, and the webhooks that need the scope stop. Call [GET /me](/api/me) to get the current scopes at any time.
All scopes
Analytics
analytics:read
Read sales reports. Read all aggregated sales reports, without customer data.
- Read · Reviewed closely before approval
analytics.overview:read
Read sales overview. Aggregated sales metrics. No customer data.
- Read · Reviewed closely before approval
analytics.sales:read
Read daily sales. Sales totals by day. No customer data.
- Read · Reviewed closely before approval
analytics.products:read
Read product sales. Aggregated sales per product. No customer data.
- Read · Reviewed closely before approval
analytics.categories:read
Read category sales. Aggregated sales per category. No customer data.
- Read · Reviewed closely before approval
Products
products:read
Read products and categories. Read product content, prices, images and categories.
- Read
products:write
Create products and update content. Create inactive products and update content; prices are a separate scope.
- Write · Requires
products:read
products.prices:write
Update prices. Update the price and previous price of a live product, effective immediately.
- Write · Requires
products:read· Reviewed closely before approval
products.prices:read
Read product prices. Read the price, previous price and pricing state only.
- Read
products.media:read
Read product media. Read product images and alt text, without price or content.
- Read
products.media:write
Update product media. Update the main image, additional images and alt text, after file checks.
- Write · Requires
products.media:read
products.seo:read
Read product SEO. Read the SEO title, description, keywords and social sharing image.
- Read
products.seo:write
Update product SEO. Update the SEO title, description, keywords and social sharing image.
- Write · Requires
products.seo:read
Inventory
inventory:read
Read inventory availability. Read physical quantities and digital product availability, without the codes.
- Read · Requires
products:read
inventory:write
Adjust physical inventory. Increase or decrease quantity with a reason; digital codes cannot be changed.
- Write · Requires
inventory:read· Reviewed closely before approval
Categories
categories:write
Manage categories. Create categories and update their names, images and sort order.
- Write · Requires
products:read
categories:read
Read categories. Read category names, images and sort order, without product content.
- Read
Pages
pages:read
Read store pages. Read page content, drafts and SEO settings.
- Read
pages:write
Create and update pages. Create drafts and update their content; updating a published page also requires the publish scope.
- Write · Requires
pages:read
pages.publish:write
Publish and hide pages. Change page visibility for visitors; separate from content updates.
- Write · Requires
pages:read· Reviewed closely before approval
pages.delete:write
Delete pages. Permanently delete a specific page; the update scope does not grant this.
- Write · Requires
pages:read· Reviewed closely before approval
Coupons
coupons:read
Read discount coupons. Read discount rules and usage, without the customer email linked to the coupon.
- Read · Reviewed closely before approval
coupons.status:write
Activate and deactivate coupons. Change the status of an existing coupon only; its value and conditions cannot be changed.
- Write · Requires
coupons:read· Reviewed closely before approval
Reviews
reviews:read
Read reviews. Read review text, rating and publication state, without the customer's name, email or order number.
- Read
reviews.moderation:write
Publish and hide reviews. Approve or hide a review; the customer's text cannot be changed and no messages are sent.
- Write · Requires
reviews:read· Reviewed closely before approval
Orders
orders:read
Read orders. Read the full order: number, status, payment status, items, quantities, amounts, currency and the customer order link; without the customer's name and phone.
- Read · Reviewed closely before approval
orders.digital:read
Read delivered digital content. The codes, links and files delivered to the customer in a paid order, so your app can deliver them to the customer.
- Read · Requires
orders:read· Reviewed closely before approval
Payments
payments:read
Read payments. The outcome of each payment attempt (succeeded or failed) and its order ID only; no gateway, amount or card details.
- Read · Reviewed closely before approval
Customers
customers:read
Read customer contact details. Customer name, phone in international format, email and shipping address, inside orders, abandoned carts and their webhooks.
- Read · Reviewed closely before approval
Abandoned carts
carts:read
Read abandoned carts. Items, total and checkout link of unpaid carts.
- Read · Reviewed closely before approval