---
title: "Add a new interest rate tier to an existing purse."
method: POST
path: "/programs/{programCode}/accounts/{accountIdentifier}/purses/{purseIdentifier}/interestRateTier"
tags: ["InterestRate"]
---

# Add a new interest rate tier to an existing purse.

`POST /programs/{programCode}/accounts/{accountIdentifier}/purses/{purseIdentifier}/interestRateTier`

This endpoint allows Partners to add Interest Rate Tiers to an existing primary and savings purses.<br><br>Notes: <br>• The interestYieldStartDate will be set to the current date, if you are adding an interestRateTier to the purse for the first time.
<br>• If the interestYieldStartDate is not provided, the accountCycleDay will be on or after the current date of the request.
 <br>• If the purse already has an interestRateTier applied, then the interestYieldStartDate will be set to the next anniversary of the billing cycle.
<br>• The next anniversary of the billing cycle will be returned as the accountCycleDay in the POST /enrollments, GET /accounts, and GET /enrollments endpoint responses. 
<br>• The interestYieldEndDate of the previous Interest Rate Tier on the purse is automatically set to the day before the new Interest Rate. 
<br>• If the purse has no Interest Rate Tiers applied yet, and autoAlignStartDate is False then the interestYieldStartDate is set to the current date of the request, otherwise it is set to the date provided in the request. On the new additional tiers, when the autoAlignStartDate is True, the interestYieldStartDate is set to start on the next accountCycleDay (Bill Cycle Date).

## Path parameters

- `programCode` string, required
- `accountIdentifier` string, required
- `purseIdentifier` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- AddInterestRateTierRequest — Represents a request to add a new interest rate tier to an account or purse. Contains details about the interest rate tier, associated account and purse identifiers, and options for interest yield start date and auto-alignment.
  - `interestRateTier` string, required — Gets or sets the interest rate tier to be added. This value is required.
  - `interestYieldStartDate` string, nullable — Gets or sets the start date for interest yield calculation, in ISO 8601 format (yyyy-MM-dd). Optional. If not provided, the system may determine the start date automatically.
  - `autoAlignStartDate` boolean, nullable — Gets or sets a value indicating whether the interest yield start date should be auto-aligned. Optional. If true, the system will automatically align the start date.

## Response `200`

OK

- AddInterestRateTierResponse
  - `interestRateTierIdentifier` string, nullable
  - `interestYieldStartDate` string, nullable
  - `apy` string, nullable
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/versions/666553766b78/schema)
