| [ Web Proxy ] |
| Viewing: https://developer.paddle.com/api-reference/about/permissions | [Back] [Original] |
For AI agents and LLMs: a structured documentation index is available at /llms.txt. Every page has a Markdown sibling append .md to any URL.
Limit an API key's access to specific entities and actions in Paddle.
API key permissions control which entities an API key can access and what actions it can perform in Paddle, preventing unauthorized operations and returning 403 errors when permissions are insufficient.
Permissions grant an API key access to specific entities or allow it to take specific actions in Paddle.
You can assign permissions to a key when creating or updating it.
If your key doesn't have the correct permissions, it returns a forbidden error (403).
Each permission targets an entity, like products, customers, or transactions, and is one of two types:
entity.readinclude parameter. Applies to GET requests and preview requests (POST or PATCH).entity.writePOST, PATCH, and DELETE requests. Write permission automatically includes read.Your API key needs permissions when working with:
adjustment.read permission.include parameterinclude parameter. For example, listing prices with include=product requires both price.read and product.read permissions.customer_portal_session.write. For example, without the customer_portal_session.write permission, listing subscriptions doesn't return the management_urls object containing authenticated links.config.entities.subscription_id requires the subscription.read permission or the request fails.When using real data in simulated webhooks, permissions are also required for related entities to the parent entity. For example, without the transaction.read permission, related transactions for a real subscription fall back to static examples in simulated payloads.
Your API key doesn't need permissions when working with:
items array. These are included even if you only have transaction.read permission and not price.read.adjustment.write, not transaction.write.address and customer path parameters, but only requires address.read, not customer.read.| Entity | Permission |
|---|---|
| Products | product.read |
| Products | product.write |
| Prices | price.read |
| Prices | price.write |
| Discounts | discount.read |
| Discounts | discount.write |
| Customers | customer.read |
| Customers | customer.write |
| Addresses | address.read |
| Addresses | address.write |
| Businesses | business.read |
| Businesses | business.write |
| Payment methods | payment_method.read |
| Payment methods | payment_method.write |
| Checkout domains | checkout_domain.read |
| Checkout domains | checkout_domain.write |
| Customer authentication tokens | customer_auth_token.write |
| Customer portal sessions | customer_portal_session.write |
| Transactions | transaction.read |
| Transactions | transaction.write |
| Subscriptions | subscription.read |
| Subscriptions | subscription.write |
| Subscription history | subscription_history.read |
| Adjustments | adjustment.read |
| Adjustments | adjustment.write |
| Pricing preview | transaction.read |
| Reports | report.read |
| Reports | report.write |
| Metrics | metrics.read |
| Events | notification.read |
| Notification settings | notification_setting.read |
| Notification settings | notification_setting.write |
| Notifications | notification.read |
| Notifications | notification.write |
| Notification logs | notification.read |
| Simulations | notification_simulation.read |
| Simulations | notification_simulation.write |
| Simulation runs | notification_simulation.read |
| Simulation runs | notification_simulation.write |
| Simulation run events | notification_simulation.read |
| Simulation run events | notification_simulation.write |
| Client-side tokens | client_token.read |
| Client-side tokens | client_token.write |
transaction.write.Paddle.com Market Ltd. 20122026
| Web Proxy Viewer | New URL | Original Page |