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

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

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

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

    res, err := s.Discounts.List(ctx, operations.DiscountsListRequest{
        OrganizationID: polargo.Pointer(operations.CreateDiscountsListQueryParamOrganizationIDFilterStr(
            "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
        )),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.ListResourceDiscount != nil {
        for {
            // handle items

            res, err = res.Next()

            if err != nil {
                // handle error
            }

            if res == nil {
                break
            }
        }
    }
}
{
  "items": [
    {
      "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>"
        }
      ]
    }
  ],
  "pagination": {
    "total_count": 123,
    "max_page": 123
  }
}

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.

Query Parameters

organization_id

Filter by organization ID. The organization ID.

Example:

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

query
string | null

Filter by name.

page
integer
default:1

Page number, defaults to 1.

limit
integer
default:10

Size of a page, defaults to 10. Maximum is 100.

sorting
enum<string>[] | null

Sorting criterion. Several criteria can be used simultaneously and will be applied in order. Add a minus sign - before the criteria name to sort by descending order.

Available options:
created_at,
-created_at,
name,
-name,
code,
-code,
redemptions_count,
-redemptions_count,
ends_at,
-ends_at

Response

Successful Response

items
(DiscountFixedOnceForeverDuration · object | DiscountFixedRepeatDuration · object | DiscountPercentageOnceForeverDuration · object | DiscountPercentageRepeatDuration · object)[]
required

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

pagination
Pagination · object
required