IoneShop Developers

Authorization (RBAC & scopes)

Authentication proves who you are. Authorization limits what you can do.

Staff RBAC (Merchant BO)

RoleTypical powers
OwnerFull control including billing, delete shop, transfer ownership
AdminCommerce + staff + integrations; no ownership transfer
DeveloperAPI keys, webhooks, sandbox tools; limited billing
Integration ManagerAPI keys/webhooks/connectors; no staff invite
Read OnlyView catalog/orders/customers; no writes

API keys inherit the intersection of: (1) creator’s role ceiling, (2) explicitly granted scopes. A Read Only user cannot mint orders.write keys.

API key scopes

(OAuth partner apps are in development; the same scope strings will apply when OAuth ships.)

Scopes are dotted resource.action strings.

Catalog

ScopeAllows
products.readList/get products, variants, categories
products.writeCreate/update/delete products & variants
categories.readCategory tree read
categories.writeCategory mutations

Orders & fulfillment

ScopeAllows
orders.readList/get orders, timelines (PII per policy)
orders.writeStatus updates, notes, cancel (policy-bound)
fulfillments.writeCreate shipments / fulfill
returns.writeInitiate/process returns

Customers

ScopeAllows
customers.readCustomer profiles (masked fields may apply)
customers.writeUpdate customer attributes where allowed

Inventory & pricing

ScopeAllows
inventory.readStock levels / locations
inventory.writeAdjust stock
prices.writePrice list updates

Platform integration

ScopeAllows
webhooks.manageCRUD webhook endpoints
media.writeUpload media metadata / URLs
analytics.readAggregate metrics (no raw PII dumps)

Meta

ScopeAllows
*All scopes — Owner only; discouraged for automations

Permission evaluation order

  1. Tenant active? (suspended → 403 TENANT_SUSPENDED)
  2. Credential valid?
  3. Scope present for route?
  4. Resource belongs to credential’s tenant?
  5. Plan quota / feature flag?

Failures return structured errors — see Error handling.

Least privilege examples

IntegrationSuggested scopes
Read-only BI exportorders.read products.read customers.read
WMS stock syncinventory.read inventory.write orders.read fulfillments.write
Marketing ESP synccustomers.read (+ webhook customer.*)
n8n order → ERPorders.read + webhook order.* (prefer push)