API Reference (Max only)
Products

Products

A product represents something a customer can buy in your Subscord store (e.g. a membership tier). Each product has one or more product options (also known as "tiers" or "plans") that define duration, price, and billing behavior.

Products and their options are managed in the dashboard. The API exposes them read-only.

GET /v1/products

List products for the server.

Tier: B  ·  Auth: required  ·  Idempotent: N/A

Query parameters

ParameterTypeDescription
activebooleanFilter by active state. Omit to return all products.
limitintegerPage size (max 100, default 50).
cursorstringPagination cursor from a previous response.

Request

curl "https://subscord.com/api/v1/products?active=true&limit=25" \
  -H "Authorization: Bearer ssk_live_..."

Response — 200 OK

{
  "data": [
    {
      "id": "42",
      "name": "Premium",
      "description": "Access to all premium channels.",
      "imageUrl": "https://cdn.subscord.com/products/42.png",
      "active": true,
      "purchaseLimit": null,
      "options": [
        {
          "id": "101",
          "name": "Monthly",
          "durationDays": 30,
          "price": 999,
          "currency": "USD",
          "active": true,
          "recurring": true,
          "isFreeTrialOption": false
        },
        {
          "id": "102",
          "name": "7-Day Free Trial",
          "durationDays": 7,
          "price": 0,
          "currency": "USD",
          "active": true,
          "recurring": false,
          "isFreeTrialOption": true
        }
      ]
    }
  ],
  "nextCursor": null
}

GET /v1/products/{productId}

Returns a single product, including all of its product options.

Tier: A  ·  Auth: required  ·  Idempotent: N/A

Path parameters

ParameterTypeDescription
productIdintegerThe product ID.

Request

curl https://subscord.com/api/v1/products/42 \
  -H "Authorization: Bearer ssk_live_..."

Response — 200 OK

Same shape as a single entry in the list response above.

Errors

StatusCodeWhen
400invalid_requestproductId is not a positive integer.
404not_foundNo product with that ID exists for this server.

Field reference

Product

FieldTypeDescription
idstringProduct ID.
namestringProduct display name.
descriptionstring | nullDescription shown in the store.
imageUrlstring | nullURL of the product image.
activebooleanWhether the product is currently purchasable.
purchaseLimitinteger | nullMaximum number of times this product can be purchased across all customers (null = unlimited).
optionsarrayOne or more product options (see below).

Product option

FieldTypeDescription
idstringProduct option ID.
namestringOption display name (e.g. "Monthly", "Annual").
durationDaysinteger | nullLength of the subscription period, in days. null for some legacy or special options.
priceintegerPrice in the currency's minor units (e.g. 999 = $9.99). See Conventions.
currencystringISO 4217 currency code.
activebooleanWhether this option is purchasable.
recurringbooleantrue if this option auto-renews.
isFreeTrialOptionbooleantrue if this option represents a free trial.