Skip to main content
GET
/
discounts
List discounts
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.paddle.com/discounts', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "data": [
    {
      "id": "dsc_01gtf15svsqzgp9325ss4ebmwt",
      "status": "active",
      "description": "Introductory offer: $10 off per user for Pro",
      "enabled_for_checkout": true,
      "code": "10OFFPRO",
      "type": "flat_per_seat",
      "mode": "standard",
      "amount": "1000",
      "currency_code": "USD",
      "recur": false,
      "maximum_recurring_intervals": null,
      "usage_limit": null,
      "restrict_to": [
        "pri_01gsz8x8sawmvhz1pv30nge1ke"
      ],
      "expires_at": "2023-12-05T15:00:00Z",
      "times_used": 0,
      "custom_data": null,
      "import_meta": null,
      "created_at": "2023-03-01T16:48:04.473Z",
      "updated_at": "2023-12-05T14:27:26.844Z"
    },
    {
      "id": "dsc_01gtgraak4chyhnp47rrdv89ad",
      "status": "active",
      "description": "Nonprofit discount",
      "enabled_for_checkout": true,
      "code": "98XFAUR91R",
      "type": "percentage",
      "mode": "standard",
      "amount": "10",
      "currency_code": null,
      "recur": true,
      "maximum_recurring_intervals": 3,
      "usage_limit": null,
      "restrict_to": [],
      "expires_at": null,
      "times_used": 6,
      "custom_data": null,
      "import_meta": null,
      "created_at": "2023-03-02T08:51:44.356Z",
      "updated_at": "2023-11-07T14:37:41.459Z"
    },
    {
      "id": "dsc_01gtgztp8fpchantd5g1wrksa3",
      "status": "active",
      "description": "Black Friday 2024",
      "enabled_for_checkout": true,
      "code": "BF2024",
      "type": "percentage",
      "mode": "standard",
      "amount": "10",
      "currency_code": "USD",
      "recur": false,
      "maximum_recurring_intervals": null,
      "usage_limit": 1000,
      "restrict_to": null,
      "expires_at": "2024-12-03T00:00:00Z",
      "times_used": 0,
      "custom_data": null,
      "import_meta": null,
      "created_at": "2023-03-02T11:03:00.623Z",
      "updated_at": "2023-08-22T13:32:28.295Z"
    },
    {
      "id": "dsc_01h83xenpcfjyhkqr4x214m02x",
      "status": "active",
      "description": "Nonprofit discount",
      "enabled_for_checkout": false,
      "code": null,
      "type": "percentage",
      "mode": "standard",
      "amount": "10",
      "currency_code": null,
      "recur": true,
      "maximum_recurring_intervals": null,
      "usage_limit": null,
      "restrict_to": [
        "pri_01h83xenpcfjyhkqr4x214m02x"
      ],
      "expires_at": null,
      "times_used": 0,
      "custom_data": null,
      "import_meta": null,
      "created_at": "2023-08-18T08:51:07.596Z",
      "updated_at": "2023-08-18T09:05:17.05Z"
    }
  ],
  "meta": {
    "request_id": "d8f286a6-e049-4a6e-8fa8-a6f145ac3ecf",
    "pagination": {
      "per_page": 50,
      "next": "https://api.paddle.com/discounts?after=dsc_01h83xenpcfjyhkqr4x214m02x",
      "has_more": false,
      "estimated_total": 4
    }
  }
}

Authorizations

Authorization
string
header
required

Requests are authenticated with API keys. Provide your API key as a Bearer token in the Authorization header.

API keys are assigned permissions, granting them access to entities and operations. Each endpoint may require one or more permissions, defined with the x-permissions extension. Values for include parameters may require specific permissions as defined in the x-enum-permissions extension. See all available permissions in the permission schema or documentation.

Get an API key and select the permissions you need from the Paddle dashboard under Paddle > Developer Tools > Authentication.

Query Parameters

after
string

Return entities after the specified Paddle ID when working with paginated endpoints. Used in the meta.pagination.next URL in responses for list operations.

code
string[]

Return entities that match the discount code. Use a comma-separated list to specify multiple discount codes.

id
string[]

Return only the IDs specified. Use a comma-separated list to get multiple entities.

order_by
string
default:id[DESC]

Order returned entities by the specified field and direction ([ASC] or [DESC]). For example, ?order_by=id[ASC].

Valid fields for ordering: created_at and id.

per_page
integer
default:50

Set 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.

Required range: x <= 200
status
enum<string>[]

Return entities that match the specified status. Use a comma-separated list to specify multiple status values.

Available options:
active,
archived
mode
enum<string>

Return entities that match the specified mode.

Available options:
custom,
standard

Response

OK

data
Discount · object[]
required
meta
MetaPaginated · object
required

Information about this response.