Create savings account

The main purpose of a savings account is to help customers set aside money for specific goals while earning a higher interest rate. You can only open a savings account together with a corresponding currency account and an initial deposit. Below are the steps to create a savings account.

Use case

In this example, we will create a savings account linked to the currency account ID-23819.

Use case data
API parameters with values

The savings account will be created for the currency account ID-23819.

...accounts/ID-23819/savings

The name the customer has chosen for their new savings account.

"savingName": "Emergency savings"

The intended end date for the savings account, if the customer has specified one.

Note: This is an optional parameter.

"savingEndDate": "2040-05-18"

The currency in which the savings account will be held.

"currencyCode": "EUR"

The interest rate applied to the savings account.

Note: This must be a number within the range defined by the interest method configured for the account type of the savings account.

"interestRate": 3.1

The target amount to be saved in the savings account.

"savingAmount": "1000"

The deposit amount that will be transferred to the savings account at the time of its creation.

Note: This is a mandatory parameter, and its value must be greater than zero. The specified amount must be available on the linked currency account at the time of the request, as it will be automatically transferred when the savings account is created.

"initialAmount": "10"

Defines the recurring deposit setup for the savings account.

It includes the deposit amount, frequency, and the specific day on which the deposit should occur. In this example, deposits are scheduled monthly on the 1st of each month.

Note: This is an optional parameter.

  "savingOrder": {
    "savingDay": 1,
    "amount": "50",
    "paymentFrequencyCode": "MONTHLY"
  }

When creating a savings order, be sure to set the savingDay in accordance with the rules for the selected paymentFrequencyCode, as outlined in the table below.

paymentFrequencyCode
savingDay

DAILY

No value allowed (null)

WEEKLY

Day of the week (1=Monday to 7=Sunday)

MONTHLY

Day of the month (1 to 31)

Sample API call

To create a savings account linked to the currency account, use the following endpoint:

https://account-api.sandbox.tuumplatform.com/api/v3/accounts/{accountId}/savings

Learn more about the create saving for account endpoint in the Tuum developer portal.

Sample request

The sample request body is as follows:

{
  "savingName": "Emergency savings",
  "savingEndDate": "2040-05-18",
  "currencyCode": "EUR",
  "interestRate": 3.1,
  "savingAmount": "1000",
  "initialAmount": "10",
  "savingOrder": {
    "savingDay": 1,
    "amount": "50",
    "paymentFrequencyCode": "MONTHLY"
  }
}

If the user chooses to open a savings account without setting up a savings order, the following optional parameters can be skipped in the API request:

  • savingOrder

  • savingDay

  • amount

  • paymentFrequencyCode

Sample response

Below you will find the response to the API request:

Response
{
    "errors": null,
    "validationErrors": null,
    "data": {
        "savingId": "ID-1491",
        "savingAccountId": "ID-23941",
        "currencyAccountId": "ID-23819",
        "savingName": "Emergency savings",
        "firstDebitDate": "2033-06-01",
        "lastDebitDate": null,
        "savingEndDate": "2040-05-18",
        "nextDebitDate": "2033-06-01",
        "currencyCode": "EUR",
        "interestRate": 3.10,
        "savingAmount": 1000,
        "initialAmount": 10,
        "orderAmount": 50,
        "savingDay": 1,
        "frequency": "MONTHLY",
        "manuallyEnded": false,
        "errorCode": null,
        "accountInterests": [
            {
                "accountInterestMethodId": "ID-000000015023",
                "accountTypeInterestMethodId": "ID-000000001290",
                "currencyCode": "EUR",
                "interestGroupCode": "DEPOSIT",
                "nextInterestCalculationDate": "2033-05-11",
                "balanceTypeCode": "END_OF_DAY",
                "calculationBaseTermCode": "SIMPLE",
                "rateTypeCode": "FIXED",
                "calcDaysMonth": "30",
                "calcDaysYear": "360",
                "paymentIntervalTypeCode": "MONTH",
                "minPayableInterestAmount": 0.01,
                "marginTypeCode": null,
                "conditions": [
                    {
                        "accountInterestConditionId": "ID-000000033574",
                        "amountRange": null,
                        "interestRate": 3.1,
                        "ratePeriodTypeCode": "PER_YEAR",
                        "interestTypeCode": "ACCO_INT",
                        "validityRange": {
                            "startDate": "2033-05-11",
                            "endDate": null
                        },
                        "source": null,
                        "rateBaseCode": null,
                        "baseRate": null,
                        "marginRate": null
                    }
                ]
            }
        ],
        "interestBalances": [],
        "accountNumbers": [
            {
                "accountNumberId": "ID-15148",
                "accountId": "ID-23941",
                "accountNumber": {
                    "value": "XX20XXXX99999000000000000127872",
                    "type": "IBAN"
                },
                "countryCode": "XX",
                "financialInstitutionId": {
                    "value": "ICECLOUDXXX",
                    "type": "BIC"
                },
                "accountNumberSubtype": null,
                "defaultCurrencyCode": "EUR",
                "statusCode": "ENABLED",
                "externalSyncEnabled": false,
                "validityRange": {
                    "endTime": null,
                    "startTime": "2025-10-14T07:31:32.92Z"
                }
            }
        ]
    }
}

Result

The savings account has been successfully created and is now linked to the specified currency account. The initial amount has been transferred, and the savings account is ready for use. If a savings order was provided, it has also been successfully added and linked to the new savings account.

By making multiple API calls with different parameters, you can link several savings accounts to a single servicing account. This setup provides flexibility for managing various savings goals.

Troubleshooting

Here are some tips to help you address the most common errors.

Error message
Possible resolution

The source account was not found.

Ensure that the accountId referring to the servicing account is accurate and that the account remains active.

The initial amount is not a positive number.

Ensure the initialAmount is at least 0.01 or another valid positive number.

The given interest rate is outside the allowed range.

Ensure the interestRate is within the range set by the account type’s interest method.

The interest method was not found.

Ensure the interest method assignment code for the savings account matches the currency account configuration.

Last updated

Was this helpful?