Skip to main content
GET
/
v1
/
products
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.Products.List(ctx, operations.ProductsListRequest{
        OrganizationID: polargo.Pointer(operations.CreateProductsListQueryParamOrganizationIDFilterStr(
            "1dbfc517-0bbf-4301-9ba8-555ca42b9737",
        )),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.ListResourceProduct != nil {
        for {
            // handle items

            res, err = res.Next()

            if err != nil {
                // handle error
            }

            if res == nil {
                break
            }
        }
    }
}
{
  "items": [
    {
      "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>",
      "metadata": {},
      "prices": [
        {
          "created_at": "2023-11-07T05:31:56Z",
          "modified_at": "2023-11-07T05:31:56Z",
          "id": "<string>",
          "source": "catalog",
          "amount_type": "<string>",
          "price_currency": "<string>",
          "tax_behavior": "location",
          "is_archived": true,
          "product_id": "<string>",
          "type": "<string>",
          "recurring_interval": "day",
          "price_amount": 123,
          "legacy": true
        }
      ],
      "benefits": [
        {
          "id": "<string>",
          "created_at": "2023-11-07T05:31:56Z",
          "modified_at": "2023-11-07T05:31:56Z",
          "type": "<string>",
          "description": "<string>",
          "selectable": true,
          "deletable": true,
          "is_deleted": true,
          "organization_id": "<string>",
          "metadata": {},
          "properties": {
            "note": "<string>"
          }
        }
      ],
      "medias": [
        {
          "id": "<string>",
          "organization_id": "<string>",
          "name": "<string>",
          "path": "<string>",
          "mime_type": "<string>",
          "size": 123,
          "storage_version": "<string>",
          "checksum_etag": "<string>",
          "checksum_sha256_base64": "<string>",
          "checksum_sha256_hex": "<string>",
          "last_modified_at": "2023-11-07T05:31:56Z",
          "version": "<string>",
          "service": "<string>",
          "is_uploaded": true,
          "created_at": "2023-11-07T05:31:56Z",
          "size_readable": "<string>",
          "public_url": "<string>"
        }
      ],
      "attached_custom_fields": [
        {
          "custom_field_id": "<string>",
          "custom_field": {
            "created_at": "2023-11-07T05:31:56Z",
            "modified_at": "2023-11-07T05:31:56Z",
            "id": "<string>",
            "metadata": {},
            "type": "<string>",
            "slug": "<string>",
            "name": "<string>",
            "organization_id": "<string>",
            "properties": {
              "form_label": "<string>",
              "form_help_text": "<string>",
              "form_placeholder": "<string>",
              "textarea": true,
              "min_length": 1073741823,
              "max_length": 1073741823
            }
          },
          "order": 123,
          "required": true
        }
      ]
    }
  ],
  "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

id

Filter by product ID. The product ID.

organization_id

Filter by organization ID. The organization ID.

Example:

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

query
string | null

Filter by product name.

is_archived
boolean | null

Filter on archived products.

is_recurring
boolean | null

Filter on recurring products. If true, only subscriptions tiers are returned. If false, only one-time purchase products are returned.

benefit_id

Filter products granting specific benefit. The benefit ID.

visibility
enum<string>[] | null

Filter by visibility.

Available options:
draft,
private,
public
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,
price_amount_type,
-price_amount_type,
price_amount,
-price_amount
metadata
MetadataQuery · object

Filter by metadata key-value pairs. It uses the deepObject style, e.g. ?metadata[key]=value.

Response

Successful Response

items
Product · object[]
required
pagination
Pagination · object
required