ClearBank

Interest configuration

Interest configuration

You can update the interest configuration of your existing savings accounts. This functionality is enabled on a per-client basis, so please reach out if you'd like to use it.

The initial interest configuration ID is usually set during account creation. You can request a new configuration ID from your usual ClearBank contact.

You can:

The interest rate will apply for the whole of the day on which it is set. Interest is calculated in the early hours of the following morning based on data from midnight UK time.

Daily interest example

If you update an interest product at 15:00 on Tuesday, all of Tuesday's interest, even before 15:00, will be calculated at the new interest rate. The Interest Paid and Transaction Settled webhooks will notify you of the amount of interest paid each day.

This diagram shows the message flow:

A message flow diagram describing the above process of setting the daily interest configuration.

Monthly interest example

If you update an interest product at 14:00 on the 5th, interest from the 1st to the 4th will be calculated at the previous rate at the end of the month. Interest from the 5th until the end of the month will be calculated using the new rate. The Interest Paid and Transaction Settled webhooks will notify you of the amount of interest paid at the end of the month.

This diagram shows the message flow:

A message flow diagram describing the above process of setting the monthly interest configuration.

Future-dating interest configurations

You can set multiple future interest configurations for your account with the PUT /v1/accounts/{accountId}/future-configurations endpoint. Once set, this endpoint also replaces any existing future-dated configurations for the account.

Each selected interest configuration will apply from the start of the day provided in the effectiveFrom field. For example, you might set an account to move from interest config A to interest config B on 1 August. Interest will be calculated based on the balance from midnight on 31 July using interest config A. Any future interest interest calculations will be based on interest config B until any further changes to the interest configurations come into effect.

If you update the interest configuration using the POST /interest/v1/accounts/{accountId}/configurations endpoint while future-dated configurations are set, the update will remain active until the next future-dated configuration takes effect. For example, updating to config C on 1 October will apply until 14 October if a future-dated config D is set to start on 15 October. Config D will then take effect as scheduled.

Use the DELETE /v1/accounts/{accountId}/future-configurations endpoint to remove all future-dated interest configurations from an account. The account will remain on its current interest configuration.

This diagram shows an example scenario where you have an introductory interest rate and daily interest payments:

A message flow diagram describing the above process of future-dating an interest config along with a interest paid daily rather than monthly.

For monthly interest payments, it works similarly: if you future-date an interest product to change on 10 November, interest from 1 to 9 November will be calculated at the initial rate. Interest from 10 November until the end of the month will be calculated using the new rate. The Interest Paid and Transaction Settled webhooks will notify you of the amount of interest paid at the end of the month.

Update interest configuration

post/interest/v1/accounts/{accountId}/configurations

This endpoint is used to update an interest configuration for a savings account.

Parameters

  • accountId string, path, Required

    The unique identifier for the account. This can be retrieved from GET /v3/Accounts.

  • Authorization string, header, Required

    Your API Token, obtained from the ClearBank Portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request; valid for 24 hours, max length 83.

Request Payload (application/json)

  • interestConfigurationId string, Required

    The UUID indicating the interest configuration for the account. If you don't have this, speak to your Client Director.

request

{
"interestConfigurationId": "5C35D48D-0R3D-47BE-9F54-I9F3328L7V2A"
}
Code copied

Response (application/json)

  • 201 Created
  • 400 Bad Request
  • 404 Not Found
  • 409 Conflict

Created

{
"accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
"interestConfigurationId": "24df1e52-24d9-4bda-86af-c81a7d1932b1",
"effectiveFrom": "2025-08-24"
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Conflict

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Get an account's interest configurations

get/interest/v1/accounts/{accountId}/configurations

This endpoint is used to retrieve past, current, and future interest configurations for a savings account.

Parameters

  • AccountId string, path, Required

    The unique identifier for the account. This can be retrieved from GET /v3/Accounts.

  • Authorization string, header, Required

    Your API Token, obtained from the ClearBank Portal.

Response (application/json)

  • 200 OK
  • 400 Bad Request
  • 404 Not Found

OK

{
"future": [
{
"effectiveFrom": "2025-08-24",
"interestConfigurationId": "24df1e52-24d9-4bda-86af-c81a7d1932b1",
"name": "string"
}
],
"current": {
"effectiveFrom": "2025-08-24",
"interestConfigurationId": "24df1e52-24d9-4bda-86af-c81a7d1932b1",
"name": "string"
},
"past": [
{
"effectiveFrom": "2025-08-24",
"interestConfigurationId": "24df1e52-24d9-4bda-86af-c81a7d1932b1",
"name": "string"
}
]
}
Code copied

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Set future-dated interest configurations

put/interest/v1/accounts/{accountId}/future-configurations

Parameters

  • AccountId string, path, Required

    The unique identifier for the account. This can be retrieved from GET /v3/Accounts.

  • Authorization string, header, Required

    Your API Token, obtained from the ClearBank Portal.

  • DigitalSignature string, header, Required

    Signed hash of the body of the request. The hash is signed by your private key.

  • X-Request-Id string, header, Required

    A unique identifier for the request; valid for 24 hours, max length 83.

Request Payload (application/json)

  • interestConfigurations array, Required

    A list of future-dated interest configurations for the account.

request

{
"interestConfigurations": [
{
"interestConfigurationId": "24df1e52-24d9-4bda-86af-c81a7d1932b1",
"effectiveFrom": "2027-10-01"
}
]
}
Code copied

Response (application/json)

  • 200 OK
  • 400 Bad Request
  • 404 Not Found
  • 409 Conflict

Bad Request

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Conflict

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied

Delete future-dated interest configurations

delete/interest/v1/accounts/{accountId}/future-configurations

Parameters

  • AccountId string, path, Required

    The unique identifier for the account. This can be retrieved from GET /v3/Accounts.

  • Authorization string, header, Required

    Your API Token, obtained from the ClearBank Portal

  • X-Request-Id string, header, Required

    A unique identifier for the request; valid for 24 hours, max length 83.

Response (application/json)

  • 204 No Content
  • 404 Not Found

Not Found

{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}
Code copied