OpenPoly logo
Reference

Scopes

Reference for operator API key scopes.

Scopes

Current scope list comes from operator API key creation source.

Supported scopes

  • launch:write
  • users:read
  • markets:read
  • markets:write
  • trades:read
  • redemptions:read
  • balance_operations:read
  • polyflight:read
  • polyflight_terms:read
  • polyflight_settlements:read
  • wallet_adapter:read
  • wallet_adapter:write
  • api_keys:read
  • api_keys:write
  • webhooks:read
  • webhooks:write
  • simulator:read
  • simulator:write
  • staffs:read staff-session only
  • staffs:write staff-session only
  • *

* means full API-key access for API keys and full dashboard access for staff sessions.

API keys cannot be created with staffs:read or staffs:write. Those scopes are assignable only to dashboard staff memberships.

Endpoint mapping

ScopeEndpoints
launch:writePOST /api/operator/launch, POST /api/operator/users/portfolio-view
users:readGET /api/operator/users, GET /api/operator/users/portfolio, GET /api/operator/users/portfolio-view, POST /api/operator/users/portfolio-view
markets:readGET /api/operator/markets, GET /api/operator/markets/trending
markets:writePOST /api/operator/markets/{id}/visibility
trades:readGET /api/operator/trades, GET /api/operator/trades/{tradeId}, GET /api/operator/trades/{tradeId}/view, GET /api/operator/trades/{marketId}/{externalUserId}
redemptions:readGET /api/operator/resolutions, GET /api/operator/redemptions
balance_operations:readGET /api/operator/balance-operations
polyflight:readPolyflight overview; flights list/detail/export; tickets with companion terms scope; wallet operations with companion balance scope; Polyflight webhook evidence with companion webhook scope.
polyflight_terms:readTerms current/scheduled/history and, with polyflight:read, ticket list/detail/export because tickets expose frozen share BPS.
polyflight_settlements:readSettlement-report list/detail/export, global/scoped payment history.
wallet_adapter:readGET /api/operator/wallet-adapter
wallet_adapter:writePUT /api/operator/wallet-adapter, POST /api/operator/wallet-adapter/test
api_keys:readGET /api/operator/api-keys
api_keys:writePOST /api/operator/api-keys, POST /api/operator/api-keys/{id}/revoke
webhooks:readGET /api/operator/webhooks/endpoints, GET /api/operator/webhooks/deliveries
webhooks:writePOST /api/operator/webhooks/endpoints, PATCH /api/operator/webhooks/endpoints/{id}, DELETE /api/operator/webhooks/endpoints/{id}, POST /api/operator/webhooks/endpoints/{id}/delete, POST /api/operator/webhooks/deliveries/{id}/replay
simulator:readGET /api/operator/simulator/users, GET /api/operator/simulator/users/{id}, GET /api/operator/simulator/wallets/{externalUserId}
simulator:writePOST /api/operator/simulator/users, PATCH /api/operator/simulator/users/{id}, POST /api/operator/simulator/users/{id}/operations, PUT /api/operator/simulator/wallets/{externalUserId}, POST /api/operator/simulator/operations
staffs:readGET /api/operator/staff with staff-session auth only
staffs:writePOST /api/operator/staff, PATCH /api/operator/staff/{id}, POST /api/operator/staff/{id}/reset-password with staff-session auth only

Polyflight ticket resources require both polyflight:read and polyflight_terms:read; balance-operation resources require both polyflight:read and balance_operations:read; webhook delivery evidence requires both polyflight:read and webhooks:read. Existing restricted viewer/API-key grants are not expanded automatically.

  • server-side launch key: launch:write
  • reporting key: read scopes only
  • webhook admin key: webhooks:read, webhooks:write
  • wallet adapter admin key: wallet_adapter:read, wallet_adapter:write
  • simulator key for staging only: simulator:read, simulator:write
  • Polyflight reporting key: polyflight:read, adding polyflight_terms:read, polyflight_settlements:read, balance_operations:read, or webhooks:read only for needed resources
  • staff access stays in staff sessions, not API keys

Polyflight scopes are assignable; they are not added automatically to existing restricted grants. Operator scopes are read-only for commercial terms, statement finalization/payments, and wallet manual resolution.

Rotation rule

Do not reuse one broad key everywhere. Split by workload and rotate independently.

Copyright © 2026