Permissions
Every RxScale API key carries a set of permissions that control which endpoints the key can access. This page provides a complete reference of all available permissions, grouped by API.How Permissions Work
When you create an API key, you assign it one or more permissions. Each API endpoint requires a specific permission — if the key lacks that permission, the request returns403 Permission Denied.
Permissions are set during API key creation. Contact your RxScale account manager to add or change permissions on an existing key.
External Pharmacy API
The External Pharmacy API uses pharmacy-specific API keys. Permissions are simple string identifiers checked at runtime.The
PATCH /pharmacy_skus/{uid}/stock endpoint accepts either stock_write or pharmacy_sku_write. If your key has either permission, the request succeeds. All other SKU write endpoints require pharmacy_sku_write specifically.Management API
The Management API uses organisation-scoped API keys. Permissions follow aresource:action naming convention and are enforced via the @require_api_key_permission decorator.
Notification Subscriptions
The notification subscription endpoints (/notification-subscriptions/) on the Management API require the granular notification_subscription permissions. Listing subscriptions requires notification_subscription:read; creating, removing, and sending test webhooks require notification_subscription:write.
Keys created before these permissions were introduced must have
notification_subscription:read / notification_subscription:write added before they can call these endpoints again. Contact your RxScale account manager to update an existing key.Public API
The Public API uses organisation-scoped API keys (with optional legacyX-RxScale-Authorization header support). It is designed for telemedicine providers to query products and create checkouts.
The
product:read and order:read permissions are shared between the Management API and the Public API. If a key has product:read, it can use both GET /products/ on the Management API and GET /products/{shop_identifier} on the Public API (assuming the key is valid for both).Anamnesis API
The Anamnesis API’s read endpoints and the standard submission endpoint are public and require no API key. The external submission endpoint is organisation-scoped and requires an API key with the permission below. Theprovider_identifier in the request must reference an external anamnesis provider that belongs to your organisation.
Choosing the Right Permissions
Follow the principle of least privilege — only grant the permissions your integration actually needs.Common Scenarios
Tips
- Separate read and write — If your integration only needs to display data, request only read permissions.
- Use dedicated keys — Create separate API keys for different systems or environments rather than sharing a single key with all permissions.
- Audit regularly — Review your API keys periodically and revoke any that are no longer in use.
- External Pharmacy API vs. Management API — Pharmacy-specific integrations should use the External Pharmacy API with pharmacy API keys. Organisation-wide integrations should use the Management API with management API keys.