---
title: "Deposit money"
method: POST
path: "/v1/interest/deposit"
tags: ["Interest engine"]
---

# Deposit money

`POST /v1/interest/deposit`

## Request

- Base URL: `https://sandbox.pismolabs.io/interest-engine`
- URL: `https://sandbox.pismolabs.io/interest-engine/v1/interest/deposit`
- Auth: HTTP bearer

Deposit amount into the specified account using a previously configured interest plan to calculate applicable interest rates.

This endpoint generates the following events.
- [Interest deposit succeeded](https://developers.pismo.io/events/docs/interest-engine-interest-deposit-success-1) when deposit operation succeeds
- [Interest deposit failed](https://developers.pismo.io/events/docs/interest-engine-interest-deposit-failure-1) when deposit operation fails

The following events are applicable only to Brazil and are generated instead of the two events above when this endpoint is requested by a B3 (Brasil, Bolsa, Balcão) organization.
- [Interest registration succeeded](https://developers.pismo.io/events/docs/interest-engine-interest-registration-success-1) when deposit operation succeeds
- [Interest registration failed](https://developers.pismo.io/events/docs/interest-engine-interest-registration-failure-1) when deposit operation fails

The optional field `external_account_id` is only returned in the response and included in the events when present in the request.

The division fields `division_id` and `division_code` are included in the events only when a non-default division is provided. They are omitted when `division_id` is `DEFAULT_DIVISION` or the value is null.

For more information, refer to the [Interest-bearing accounts](doc:interest-bearing-accounts) guide.

## Headers

- `content-type` string, required
- `authorization` string, required

## Request body

- InterestDepositRequest
  - `tracking_id` string, UUID, required: Tracking ID for the operation to ensure idempotence. Must be an alphanumeric UUID with the alphabetical characters in lowercase.
  - `account_id` string, number, required: Account ID. Must be between 1 and 64.
  - `external_account_id` string: External account ID managed by the requester
  - `interest_plan_id` string, UUID, required: Interest plan ID generated during the plan's creation. Must be an alphanumeric UUID with the alphabetical characters in lowercase.
  - `amount` number, double, required: Amount to be deposited
  - `value_date` string, date, required: Deposit date. Format = YYYY-MM-DD.
  - `maturity_date` string, date, required: Deposit maturity date. Format = YYYY-MM-DD.
  - `division_id` string: Division ID. When not provided, defaults to `DEFAULT_DIVISION` internally.
  - `division_code` string: Optional division code. When provided, must be between 1 and 36 characters.
  - `metadata` Metadata: Free-form key-value metadata. The serialized JSON must not exceed 4096 bytes.

## Response `200`

OK

- InterestDepositResponse
  - `tracking_id` string, UUID, required: Tracking ID for the operation to ensure idempotence. Must be an alphanumeric UUID with the alphabetical characters in lowercase.
  - `external_account_id` string: External account ID managed by the requester

## Other responses

- `400`: Bad request
- `401`: Unauthorized access
- `404`: Not found
- `500`: Internal server error

---

[API](https://skmtc.dev/pismo/apis/banking-interest-operations.md) - [All operations](https://skmtc.dev/pismo/apis/banking-interest-operations/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/banking-interest-operations/revisions/a8e72194ee5e?raw)
