---
title: "List savings plans"
method: GET
path: "/savings_plans"
tags: ["Savings Plans"]
---

# List savings plans

`GET /savings_plans`

## Request

- Base URL: `https://sandbox.upvest.co`
- URL: `https://sandbox.upvest.co/savings_plans`
- Auth: OAuth 2 (client credentials, token URL `https://sandbox.upvest.co/auth/token`, scopes: `savings_plans:read`, `savings_plans:admin`)

Returns a paginated list of savings plans for the authenticated client.

Savings plans can be of type `INSTRUMENT` (recurring buy of a single instrument) or `PORTFOLIO` (recurring investment distributed across the account's portfolio allocation).

## Query parameters

- `account_id` string
- `user_id` string
- `instrument_id` union: Instrument unique identifier.
  - string: International securities identification number defined by [ISO 6166](https://en.wikipedia.org/wiki/International_Securities_Identification_Number).
  - string: German securities identification code known as [Wertpapierkennnummer](https://en.wikipedia.org/wiki/Wertpapierkennnummer).
- `sort` 'id'
- `order` 'ASC'
- `offset` integer
- `limit` integer

## Response `200`

OK

- object: Paginated list of savings plans, including cursor-based pagination metadata.
  - `meta` object, required: Offset/limit pagination metadata for a list response. Contains the `offset` and `limit` applied to the request, the `count` of resources returned in this page, and the `total_count` of matching resources.
    - `offset` integer, required: Amount of resource to offset in the response.
    - `limit` integer, required: Total limit of the response.
    - `count` integer, required: Count of the resources returned in the response.
    - `total_count` integer, required: Total count of all the resources.
    - `sort` string: The field that the list is sorted by.
    - `order` 'ASC' | 'DESC': The ordering applied to the list. * ASC — Ascending order. * DESC — Descending order.
  - `data` object[], required
    - `id` string, uuid, required: Universally Unique Identifier (UUID) of a savings plan.
    - `created_at` string, date-time, required: Date and time when the resource was created. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)
    - `updated_at` string, date-time, required: Date and time when the resource was last updated. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)
    - `user_id` string, uuid, required: Unique identifier of the user, as a UUID.
    - `account_id` string, uuid, required: Universally Unique Identifier (UUID) of the account.
    - `name` string: Savings plan name
    - `type` 'PORTFOLIO' | 'INSTRUMENT', required: Type of the Savings plan. * PORTFOLIO - * INSTRUMENT -
    - `instrument_id` union: Instrument unique identifier.
      - string: International securities identification number defined by [ISO 6166](https://en.wikipedia.org/wiki/International_Securities_Identification_Number).
      - string: German securities identification code known as [Wertpapierkennnummer](https://en.wikipedia.org/wiki/Wertpapierkennnummer).
    - `instrument_id_type` 'ISIN' | 'WKN': The type of the ID used in the request. * ISIN - International Securities Identification Number * WKN - German securities identification code
    - `cash_amount` string, required: A positive decimal amount, as a string.
    - `start_date` string, required: First date of the savings plan execution in YYYY-MM-DD format.
    - `currency` 'EUR' | 'GBP', required: Alphabetic three-letter [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. * EUR — Euro. * GBP — Pound Sterling.
    - `period` 'WEEK' | 'MONTH' | 'YEAR', required: Unit of time. * WEEK - * MONTH - * YEAR -
    - `interval` integer, required: Number of periods between executions
    - `status` 'ACTIVE' | 'CANCELLED': Status of a Savings Plan. * ACTIVE - * CANCELLED -
    - `fee_configuration` object[]: Fee configuration for instrument-type savings plan executions. Specifies the transaction fee model to apply to each buy order placed on execution.
      - `type` 'TRANSACTION_FEE_BUY', required: Fee type * TRANSACTION_FEE_BUY -
      - `transaction_fee_model_id` string, uuid, required: Universally Unique Identifier (UUID) of the transaction fee model.
    - `funding` object: Funding configuration for the savings plan. Specifies how each execution of the plan is to be funded.
      - `method` 'DIRECT_DEBIT', required: Funding method * DIRECT_DEBIT -
      - `mandate_id` string, uuid, required: Direct Debit Mandate unique identifier.
    - `cancellation_reason` 'CANCELLED_BY_CLIENT' | 'CANCELLED_BY_UPVEST': Explains the reason why the savings plan was cancelled . * CANCELLED_BY_CLIENT: The savings plan was cancelled by the client. * CANCELLED_BY_UPVEST: The savings plan was cancelled by Upvest.
    - `cancellation_details` string: Additional details about the cancellation

## Other responses

- `400`: Bad Request. The incoming request had a malformed parameter/object.
- `401`: Unauthorized. The caller has not been authenticated.
- `403`: Forbidden. The caller has been authenticated but is not allowed to take the requested action.
- `404`: Not Found. The requested resource could not be found.
- `405`: Method Not Allowed. The requested method is not allowed on the requested resource.
- `406`: Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.
- `429`: Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.
- `500`: Internal Server Error. The service encountered an unexpected error.
- `503`: Service Unavailable. The service handling for this request cannot be reached at this time.
- `504`: Gateway Timeout. The service gateway has reached its internal timeout.

## Changes

- **2026-10-20** `48b66c49067a`: 1 info
  - added the optional property `data/items/funding` to the response with the `200` status

[Operation history](https://skmtc.dev/upvest/apis/upvest-investment-api/changes/savings_plans/get.md)

---

[API](https://skmtc.dev/upvest/apis/upvest-investment-api.md) · [All operations](https://skmtc.dev/upvest/apis/upvest-investment-api/llms.txt) · [OpenAPI document](https://skmtc.dev/upvest/apis/upvest-investment-api/revisions/ca69534b631d?raw)
