Skip to main content
PATCH
/
v1
/
discounts
/
{id}
Python (SDK)
from polar_sdk import Polar


with Polar(
    access_token="<YOUR_BEARER_TOKEN_HERE>",
) as polar:

    res = polar.discounts.update(id="<value>", discount_update={})

    # Handle response
    print(res)
{
  "duration": "once",
  "type": "fixed",
  "amount": 123,
  "currency": "<string>",
  "amounts": {},
  "created_at": "2023-11-07T05:31:56Z",
  "modified_at": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "metadata": {},
  "name": "<string>",
  "code": "<string>",
  "starts_at": "2023-11-07T05:31:56Z",
  "ends_at": "2023-11-07T05:31:56Z",
  "max_redemptions": 123,
  "redemptions_count": 123,
  "organization_id": "<string>",
  "products": [
    {
      "metadata": {},
      "id": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "modified_at": "2023-11-07T05:31:56Z",
      "trial_interval": "day",
      "trial_interval_count": 123,
      "name": "<string>",
      "description": "<string>",
      "visibility": "draft",
      "recurring_interval": "day",
      "recurring_interval_count": 123,
      "is_recurring": true,
      "is_archived": true,
      "organization_id": "<string>"
    }
  ]
}

Authorizations

Authorization
string
header
required

You can generate an Organization Access Token from your organization's settings.

Path Parameters

id
string<uuid4>
required

The discount ID.

Body

application/json

Schema to update a discount.

metadata
Metadata · object

Key-value object allowing you to store additional information.

The key must be a string with a maximum length of 40 characters. The value must be either:

  • A string with a maximum length of 500 characters
  • An integer
  • A floating-point number
  • A boolean

You can store up to 50 key-value pairs.

name
string | null

Name of the discount. Will be displayed to the customer when the discount is applied.

Minimum string length: 1
code
string | null

Code customers can use to apply the discount during checkout. Must be between 3 and 256 characters long and contain only alphanumeric characters.If not provided, the discount can only be applied via the API.

starts_at
string<date-time> | null

Optional timestamp after which the discount is redeemable.

ends_at
string<date-time> | null

Optional timestamp after which the discount is no longer redeemable.

max_redemptions
integer | null

Optional maximum number of times the discount can be redeemed.

Required range: x >= 1
duration
enum<string> | null
Available options:
once,
forever,
repeating
duration_in_months
integer | null

Number of months the discount should be applied.

For this to work on yearly pricing, you should multiply this by 12. For example, to apply the discount for 2 years, set this to 24.

Required range: 1 <= x <= 999
type
enum<string> | null
Available options:
fixed,
percentage
amount
integer | null
deprecated

Fixed amount to discount from the invoice total.

Required range: 0 <= x <= 999999999999
currency
enum<string> | null
deprecated

The currency of the fixed amount discount.

Available options:
aed,
ars,
aud,
brl,
cad,
chf,
clp,
cny,
cop,
czk,
dkk,
eur,
gbp,
hkd,
huf,
idr,
ils,
inr,
jpy,
krw,
mxn,
myr,
nok,
nzd,
pen,
php,
pln,
ron,
sar,
sek,
sgd,
thb,
try,
twd,
usd,
zar
amounts
Amounts · object

Map of currency to fixed amount to discount from the total. This allows specifying different discount amounts for different currencies.

basis_points
integer | null

Discount percentage in basis points.

A basis point is 1/100th of a percent. For example, to create a 25.5% discount, set this to 2550.

Required range: 1 <= x <= 10000
products
string<uuid4>[] | null

List of product IDs the discount can be applied to.

Response

Discount updated.

Schema for a fixed amount discount that is applied once or forever.

duration
enum<string>
required
Available options:
once,
forever,
repeating
type
enum<string>
required
Available options:
fixed,
percentage
amount
integer
required
deprecated
Example:

1000

currency
string
required
deprecated
Example:

"usd"

amounts
Amounts · object
required

Map of currency to fixed amount to discount from the total.

Example:
{ "eur": 900, "usd": 1000 }
created_at
string<date-time>
required

Creation timestamp of the object.

modified_at
string<date-time> | null
required

Last modification timestamp of the object.

id
string<uuid4>
required

The ID of the object.

metadata
object
required
name
string
required

Name of the discount. Will be displayed to the customer when the discount is applied.

code
string | null
required

Code customers can use to apply the discount during checkout.

starts_at
string<date-time> | null
required

Timestamp after which the discount is redeemable.

ends_at
string<date-time> | null
required

Timestamp after which the discount is no longer redeemable.

max_redemptions
integer | null
required

Maximum number of times the discount can be redeemed.

redemptions_count
integer
required

Number of times the discount has been redeemed.

organization_id
string<uuid4>
required

The organization ID.

Example:

"1dbfc517-0bbf-4301-9ba8-555ca42b9737"

products
DiscountProduct · object[]
required