/api-keysReturns a paginated list of API keys. Use the query parameters to page through results.
API keys are returned with an obfuscated key. The full key is only returned when it's created.
api_key.read permission.Query parameters
meta.pagination.next URL in responses for list operations.50Set how many entities are returned per page. Paddle returns the maximum number of results if a number greater than the maximum is requested. Check meta.pagination.per_page in the response to see how many were returned.
Default: 50; Maximum: 200.
id[ASC]Order returned entities by the specified field and direction ([ASC] or [DESC]). For example, ?order_by=id[ASC].
Valid fields for ordering: id.
id[ASC]Order byid, ascending.id[DESC]Order byid, descending.
Header parameters
true to skip the count query on list operations. When set, meta.pagination.estimated_total returns -1 instead of an exact count.Response (200)
apikey_01gm106t81w94gyjgsaqypkjklapikey_.^apikey_[a-z\d]{26}$activeactiveexpiredrevoked
null for legacy API keys, whose access doesn't come from permissions.account.readView the business identity of your account, including legal name, display name, website, and contact email.account.writeUpdate the contact email for your account.address.readView customer addresses and include address data in API responses.address.writeCreate and update customer addresses.adjustment.readView adjustments and credit notes for transactions.
+ Show all values− Hide values
adjustment.writeCreate new adjustments for transactions.api_key.readView API keys, including their names, status, and permissions. The full key is never returned.balance_currency.readView balance currency settings for your account.balance_currency.writeUpdate balance currency settings for your account.business.readView customer businesses and include business data in API responses.business.writeCreate and update customer businesses.checkout_domain.readView checkout domains, their approval status, and payment method verification status.checkout_domain.writeDelete checkout domains, and trigger payment method verification (Apple Pay) for approved checkout domains.checkout_settings.readView checkout settings for your account.checkout_settings.writeUpdate checkout settings for your account.client_token.readView client-side tokens.client_token.writeCreate and update client-side tokens.currency_conversion.readView currency conversion settings for your account.currency_conversion.writeUpdate currency conversion settings for your account.customer.readView customers, including credit balances, and include customer data in API responses.customer.writeCreate new customers and update existing customer information.customer_auth_token.writeGenerate authentication tokens for customers.customer_portal_session.writeCreate new customer portal sessions for customers to manage their subscriptions, payment methods, and more.discount.readView discounts and include discount data in API responses.discount.writeCreate new discounts and modify existing discount information.meter.readearly accessView meters.meter.writeearly accessCreate new meters and modify existing meter information.metrics.readView metrics data including revenue, subscribers, and conversion timeseries.notification.readView event history, sent notifications, notification delivery logs, and include event data in API responses.notification.writeReplay notifications.notification_setting.readView settings for notifications.notification_setting.writeCreate, update, and delete notification settings.notification_simulation.readView notification simulations, simulation runs, and events within a simulation run.notification_simulation.writeCreate and modify notification simulations, create a run for a simulation, and replay events within a run for a simulation.payment_method.readView saved payment methods for customers.payment_method.writeDelete payment methods for customers.price.readView prices and include price data in API responses.price.writeCreate new prices and modify existing price information.product.readView products and include product data in API responses.product.writeCreate new products and modify existing product information.report.readView and download report data.report.writeCreate new reports.statement_descriptor.readView statement descriptor settings for your account.statement_descriptor.writeUpdate statement descriptor settings for your account.subscription.readView subscriptions and preview subscription updates and charges.subscription.writeCreate one-time charges, update subscriptions, and manage subscription status.subscription_history.readView subscription history entries for a subscription.tax_settings.readView tax settings for your account.tax_settings.writeUpdate tax settings for your account.transaction.readView transactions, preview transactions and prices, access invoices, and include transaction data in API responses.transaction.writeCreate, update, and revise transactions, and update payment methods.usage_balance.readearly accessView customers' usage balances.usage_balance_unit.readearly accessView usage balance units.usage_balance_unit.writeearly accessCreate new usage balance units and modify existing usage balance unit information.usage_event.writeearly accessRecord usage events to draw down customers' usage balances.verification.readView verification progress, including step statuses.
2024-10-12T07:20:50.52Znull if never exposed.2024-10-12T07:20:50.52Znull if never expires.2024-10-12T07:20:50.52Znull if never used.2024-10-12T07:20:50.52Z2024-10-13T07:20:50.52Zpdl_ and containing _apikey_. Legacy API keys have no prefix, so only the first characters of the key are shown, followed by ****.^[a-z\d_:]*\*\*\*\*$b15ec92e-8688-40d4-a04d-f44cbec93355after parameter that marks the starting point of the next page. Always returned, even if has_more is false.999Estimated number of entities for this response.
For datasets with 100,000 or fewer matches, returns the exact count. For datasets with more than 100,000 matches, returns 100001 to indicate that more than 100,000 entities match. Returns -1 when counting is skipped or couldn't be calculated.
Use has_more and next to page through all results rather than relying on estimated_total for an exact count.
{ "data": [ { "id": "apikey_01jkdpbhazdpn3wpcya45as9tg", "name": "CRM integration", "description": "Used to authenticate with the API for storing Paddle customer data in our CRM.", "key": "pdl_live_apikey_01jkdpbhaz****", "status": "active", "permissions": [ "address.read", "business.read", "customer.read", "subscription.read", "transaction.read" ], "exposed_at": null, "expires_at": "2026-03-26T06:58:38.517Z", "rotatable": true, "last_used_at": "2025-10-20T09:12:44.000Z", "created_at": "2025-03-26T06:58:38.517Z", "updated_at": "2025-03-26T06:58:38.517Z" }, { "id": "apikey_01jkdpcy050kbc638ekh5ps5hj", "name": "Fulfillment service", "description": "Used by our backend to provision access when a subscription is created or changes.", "key": "pdl_live_apikey_01jkdpcy05****", "status": "active", "permissions": [ "customer.read", "price.read", "product.read", "subscription.read" ], "exposed_at": null, "expires_at": null, "rotatable": false, "last_used_at": "2025-10-21T14:03:10.000Z", "created_at": "2025-02-12T10:41:02.811Z", "updated_at": "2025-02-12T10:41:02.811Z" } ], "meta": { "request_id": "4a9840c3-1e06-4873-9147-6d467938f992", "pagination": { "per_page": 50, "next": "https://api.paddle.com/api-keys?after=apikey_01jkdpcy050kbc638ekh5ps5hj", "has_more": false, "estimated_total": 2 } }}