- The member behind the token needs the permission, such as
catalog.items.create. Permissions come from the member’s role in the organization. - The token needs the scope, such as
catalog:write. Scopes are chosen when the key is created or when a member approves an OAuth app.
catalog:write still cannot create items if its owner’s role does not allow it, and an owner’s key limited to inventory:read cannot post adjustments. Either failure answers 403 with the code forbidden. Each endpoint in the API reference lists the permission and scope it needs.
Scopes
Scopes come in a read and write pair for each area of the app. Read covers anything that only looks. Write covers anything that changes something. An API key can also hold*, which is every scope; an OAuth app cannot.
Give a key only the scopes its job needs. A key that feeds a stock dashboard needs
inventory:read and nothing else.
Plan limits
Some features depend on the organization’s plan. A call to one the plan does not include answers403 with the code plan_upgrade_required, and feature names what is missing. Nothing is written.