---
title: "List Subscriptions"
method: GET
path: "/api/v1/subscriptions"
tags: ["Subscriptions"]
---

# List Subscriptions

`GET /api/v1/subscriptions`

## Query parameters

- `cursor` string
- `limit` string

## Response `200`

Successful response

- object
  - `data` SubscriptionClientSelectSchema[], required
    - union
      - object
        - `id` string, required
        - `createdAt` integer, required — Epoch milliseconds.
        - `updatedAt` integer, required — Epoch milliseconds.
        - `livemode` boolean, required
        - `startDate` integer, required — Epoch milliseconds.
        - `customerId` string, required
        - `organizationId` string, required
        - `status` 'trialing' | 'active' | 'past_due' | 'unpaid' | 'cancellation_scheduled' | 'incomplete' | 'incomplete_expired' | 'canceled' | 'paused', required
        - `defaultPaymentMethodId` string, nullable, required
        - `backupPaymentMethodId` string, nullable, required
        - `trialEnd` integer, nullable — Epoch milliseconds.
        - `currentBillingPeriodStart` integer, nullable — Epoch milliseconds.
        - `currentBillingPeriodEnd` integer, nullable — Epoch milliseconds.
        - `metadata` Metadata — JSON object
        - `canceledAt` integer, nullable — Epoch milliseconds.
        - `cancelScheduledAt` integer, nullable — Epoch milliseconds.
        - `cancellationReason` string, nullable, required
        - `replacedBySubscriptionId` string, nullable, required
        - `isFreePlan` boolean, nullable, required
        - `doNotCharge` boolean, nullable, required
        - `priceId` string, required
        - `runBillingAtPeriodStart` boolean, nullable, required
        - `interval` 'day' | 'week' | 'month' | 'year', required
        - `intervalCount` integer, required — A positive integer
        - `billingCycleAnchorDate` integer, nullable — Epoch milliseconds.
        - `name` string, nullable, required
        - `renews` true, required
        - `pricingModelId` string, required
        - `current` boolean, required — Whether the subscription is current (statuses "active", "trialing", "past_due", or "cancellation_scheduled")
      - object
        - `id` string, required
        - `createdAt` integer, required — Epoch milliseconds.
        - `updatedAt` integer, required — Epoch milliseconds.
        - `livemode` boolean, required
        - `startDate` integer, required — Epoch milliseconds.
        - `customerId` string, required
        - `organizationId` string, required
        - `status` 'active' | 'canceled' | 'credit_trial', required
        - `defaultPaymentMethodId` string, nullable, required
        - `backupPaymentMethodId` string, nullable, required
        - `trialEnd` unknown, required
        - `currentBillingPeriodStart` unknown, required
        - `currentBillingPeriodEnd` unknown, required
        - `metadata` Metadata — JSON object
        - `canceledAt` integer, nullable — Epoch milliseconds.
        - `cancelScheduledAt` integer, nullable — Epoch milliseconds.
        - `cancellationReason` string, nullable, required
        - `replacedBySubscriptionId` string, nullable, required
        - `isFreePlan` boolean, nullable, required
        - `doNotCharge` boolean, nullable, required
        - `priceId` string, required
        - `runBillingAtPeriodStart` boolean, nullable, required
        - `interval` unknown, required
        - `intervalCount` unknown, required
        - `billingCycleAnchorDate` unknown, required
        - `name` string, nullable, required
        - `renews` false, required
        - `pricingModelId` string, required
        - `current` boolean, required — Whether the subscription is current (statuses "active", "trialing", "past_due", "cancellation_scheduled", or "credit_trial")
  - `currentCursor` string
  - `nextCursor` string
  - `hasMore` boolean, required
  - `total` number, required

## Other responses

- `400` — Invalid input data
- `401` — Authorization not provided
- `403` — Insufficient access
- `404` — Not found
- `500` — Internal server error

## Changes

- **2026-01-11** `599bbd902d65` — 6 info
  - response property `data/items/oneOf[#/components/schemas/NonRenewingSubscriptionRecord]/priceId` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - response property `data/items/oneOf[#/components/schemas/StandardSubscriptionRecord]/priceId` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - added the required property `data/items/oneOf[#/components/schemas/NonRenewingSubscriptionRecord]/doNotCharge` to the response with the `200` status
  - added the required property `data/items/oneOf[#/components/schemas/NonRenewingSubscriptionRecord]/pricingModelId` to the response with the `200` status
  - …2 more
- **2025-10-18** `a1eeb4fac4d6` — 2 breaking, 8 info
  - added `#/components/schemas/StandardSubscriptionRecord, #/components/schemas/NonRenewingSubscriptionRecord` to the `data/items/` response property `oneOf` list for the response status `200`
  - the `data/items/` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - for the `query` request parameter `limit`, the type/format was generalized from `number`/`` to `string`/``
  - added the non-success response with the status `400`
  - …6 more
- …earlier changes not shown

[Full history](https://skmtc.dev/flowglad/apis/flowglad-api/changes/api/v1/subscriptions/get.md)

---

[API](https://skmtc.dev/flowglad/apis/flowglad-api.md) · [All operations](https://skmtc.dev/flowglad/apis/flowglad-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flowglad/flowglad-api/revisions/06c4dd78e137/schema)
