---
title: "Returns a list of Plans"
method: GET
path: "/plans"
tags: ["Plans"]
---

# Returns a list of Plans

`GET /plans`

Gets the Plans specified in the request.

## Query parameters

- `state` string
- `interval` string
- `endingBefore` string
- `startingAfter` string
- `limit` integer

## Response `200`

200 OK

- object
  - `hasMore` boolean — Indicates whether or not there are more elements available after this set. If false this set represents the end of the list.
  - `data` Plan[]
    - `stateTransitions` StateTransitions
      - `activated` string, date-time, nullable — Can be subscribed to, updates are restricted to some fields
      - `discontinued` string, date-time, nullable — Has active subscriptions, but not accepting new ones
      - `deactivated` string, date-time, nullable — All subscriptions will be stopped
    - `updatedTime:` string, date-time — The time when the Plan was last updated.
    - `liveMode` boolean — Has the value true if the object exists in live mode or the value false if the object exists in test mode.
    - `id` string — The unique identifier of a Plan.
    - `terms` string, required — The contractual agreement displayed to the customer during the acquisition process.
    - `contractBindingDays` integer, required — Indicates the agreed upon length of the contract. For example, an annual subscription should have a value of 365.
    - `interval` 'year' | 'month' | 'week' | 'day', required — The supported billing intervals
    - `intervalCount` integer, required — How often the customer is billed per the unit of time specified by <code>interval</code> (e.g. every 3 months).
    - `createdTime` string, date-time — The time when the Plan was created.
    - `name` string, nullable — Describes the subscription products or services added to this plan.
    - `reminderOffsetDays` integer, nullable — How many days before the opening of the invoice should the reminder event be triggered.
    - `billingOptimization` boolean — Indicates whether billing optimization is activated.
    - `billingOffsetDays` integer, nullable, required — The number of days before the opening of the invoice that the reminder event is triggered.
    - `collectionPeriodDays` integer, nullable, required — Represents the number of days that Digital River attempts to collect payment.
    - `state` 'draft' | 'active' | 'discontinued' | 'deactivated' — The valid states of a plan. Setting a plan to <code>deactivated</code> causes all connected subscriptions to end with the current period.
    - `metadata` Metadata — Key-value pairs used to store additional data. Value can be string, boolean or integer types.

## Other responses

- `400` — 400 Bad Request
- `401` — 401 Unauthorized
- `403` — 403 Forbidden
- `405` — 405 Method Not Allowed
- `406` — 406 Not Acceptable
- `408` — 408 Request Timeout
- `429` — 429 Too Many Requests
- `500` — 500 Internal Server Error
- `502` — 502 Bad Gateway Error
- `503` — 503 Service Unavailable Error
- `504` — 504 Gateway Timeout Error

---

[API](https://skmtc.net/digitalriver/apis/digital-river-api-reference.md) · [All operations](https://skmtc.net/digitalriver/apis/digital-river-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitalriver/digital-river-api-reference/revisions/f21981db32be/schema)
