Skip to main content
GET
/
api
/
v1
/
plans
JavaScript
import Stigg from '@stigg/typescript';

const client = new Stigg({
  apiKey: process.env['STIGG_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const planListResponse of client.v1.events.plans.list()) {
  console.log(planListResponse.id);
}
{
  "data": [
    {
      "id": "plan-professional",
      "displayName": "Professional",
      "description": "Professional plan with advanced features",
      "productId": "product-starter",
      "status": "PUBLISHED",
      "pricingType": "PAID",
      "billingId": "price_1234567890",
      "versionNumber": 1,
      "isLatest": true,
      "entitlements": [
        {
          "type": "FEATURE",
          "id": "feature-advanced-analytics"
        },
        {
          "type": "CREDIT",
          "id": "api-calls"
        }
      ],
      "metadata": {},
      "createdAt": "2025-09-02T14:56:54.496Z",
      "updatedAt": "2025-11-29T16:49:52.604Z",
      "parentPlanId": null
    }
  ],
  "pagination": {
    "next": "c9b0a382-5b7d-4d32-9f62-8c4e1a7b3d9f",
    "prev": "a1d4e8f2-6c3b-4a9e-b5f7-2d8c9e0f1a3b"
  }
}

Authorizations

X-API-KEY
string
header
required

Server API Key

Query Parameters

after
string<uuid>

Return items that come after this cursor

before
string<uuid>

Return items that come before this cursor

limit
integer
default:20

Maximum number of items to return

Required range: 1 <= x <= 100
productId
string

Filter by product ID

Maximum string length: 255
status
string

Filter by status. Supports comma-separated values for multiple statuses

createdAt
object

Filter by creation date using range operators: gt, gte, lt, lte

Response

A paginated list of plan objects.

Response list object

data
Plan · object[]
required
pagination
object
required

Pagination metadata including cursors for navigating through results