Skip to main content
GET
/
v1
/
discounts
/
{id}
Go (SDK)
package main

import(
	"context"
	"os"
	polargo "github.com/polarsource/polar-go"
	"log"
	"github.com/polarsource/polar-go/models/components"
)

func main() {
    ctx := context.Background()

    s := polargo.New(
        polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
    )

    res, err := s.Discounts.Get(ctx, "<value>")
    if err != nil {
        log.Fatal(err)
    }
    if res.Discount != nil {
        switch res.Discount.Type {
            case components.DiscountUnionTypeDiscountFixedOnceForeverDuration:
                // res.Discount.DiscountFixedOnceForeverDuration is populated
            case components.DiscountUnionTypeDiscountFixedRepeatDuration:
                // res.Discount.DiscountFixedRepeatDuration is populated
            case components.DiscountUnionTypeDiscountPercentageOnceForeverDuration:
                // res.Discount.DiscountPercentageOnceForeverDuration is populated
            case components.DiscountUnionTypeDiscountPercentageRepeatDuration:
                // res.Discount.DiscountPercentageRepeatDuration is populated
        }

    }
}
{
  "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>"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://polar.sh/docs/llms.txt

Use this file to discover all available pages before exploring further.

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.

Response

Successful Response

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