---
title: "Create a recurring transfer into a savings goal"
method: PUT
path: "/api/v2/account/{accountUid}/savings-goals/{savingsGoalUid}/recurring-transfer"
tags: ["Savings Goals"]
---

# Create a recurring transfer into a savings goal

`PUT /api/v2/account/{accountUid}/savings-goals/{savingsGoalUid}/recurring-transfer`

## Request

- Base URL: `https://api.starlingbank.com`
- URL: `https://api.starlingbank.com/api/v2/account/{accountUid}/savings-goals/{savingsGoalUid}/recurring-transfer`
- Auth: HTTP bearer

## Path parameters

- `accountUid` string, uuid, required
- `savingsGoalUid` string, uuid, required

## Request body

- ScheduledSavingsPaymentRequestV2: Request to create scheduled payment into a savings goal
  - `recurrenceRule` RecurrenceRuleV2, required: The schedule definition
    - `startDate` string, date, required
    - `frequency` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY', required
    - `interval` integer, nullable
    - `count` integer, nullable
    - `untilDate` string, date
    - `days` string[], nullable
  - `amount` CurrencyAndAmount, required: Representation of money
    - `currency` string, required: ISO-4217 3 character currency code
    - `minorUnits` integer, required: Amount in the minor units of the given currency; eg pence in GBP, cents in EUR
  - `topUp` boolean: If the payment is a top up or not
  - `reference` string, nullable: The reference used on each occasion

## Response `200`

Successful operation

- SavingsGoalTransferResponseV2: Response after attempting to make an immediate or recurring transfer into/out of a savings goal.
  - `transferUid` string, uuid, required: Unique identifier for the transfer
  - `success` boolean: True if the method completed successfully

## Other responses

- `4xx`: Client error. See [API status codes](#api-status-codes-1) for more details.
- `5xx`: Server error. See [API status codes](#api-status-codes-1) for more details.

## Changes

- **2026-05-20** `10e2d804aaab`: 1 info
  - added the new optional request property `reference`
- **2025-06-21** `3965b8836141`: 1 breaking
  - the `amount/currency` request property's minLength was increased from `0` to `1`

[Operation history](https://skmtc.dev/starlingbank/apis/starling-bank-api/changes/api/v2/account/:accountUid/savings-goals/:savingsGoalUid/recurring-transfer/put.md)

---

[API](https://skmtc.dev/starlingbank/apis/starling-bank-api.md) - [All operations](https://skmtc.dev/starlingbank/apis/starling-bank-api/llms.txt) - [OpenAPI document](https://skmtc.dev/starlingbank/apis/starling-bank-api/revisions/7c5075cfbe63?raw)
