# Deposit money Deposit amount into the specified account, and use 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 For more information, refer to the [Interest-bearing accounts](doc:interest-bearing-accounts) guide. # OpenAPI definition ```json { "openapi": "3.1.0", "info": { "title": "Banking - Interest operations", "version": "1.0.0", "description": "API to handle interest bearing account operations", "contact": { "name": "API Support", "url": "https://developers.pismolabs.io/pismo-docs/docs/support" }, "license": { "name": "Copyright Pismo", "identifier": "Pismo" } }, "servers": [ { "url": "https://sandbox.pismolabs.io/interest-engine", "description": "Sandbox API server for integration" } ], "tags": [ { "name": "Interest engine", "description": "Endpoints for handling interest bearing account operations" } ], "components": { "parameters": { "Authorization": { "name": "authorization", "in": "header", "description": "Authorization", "required": true, "example": "Bearer ac194ce4-ecbe-4007-91bd-94babf388e7278f243bc-4ad8-4ead-a2c3-f42a548fe760", "schema": { "type": "string" } }, "ContentType": { "name": "content-type", "in": "header", "description": "Content type", "required": true, "example": "application/json", "schema": { "type": "string" } }, "XProgramId": { "name": "x-program-id", "in": "header", "description": "Program ID", "required": true, "example": "1233", "schema": { "type": "string" } } }, "schemas": { "AccountId": { "type": "string", "format": "number", "description": "Account ID", "example": "15001" }, "CustomerName": { "type": "string", "description": "Applicable only to Brazil. Account owner's name for the individual or corporate customer. **Required** when providing the `has_asset_registration` object.", "example": "Jane Bartholomew" }, "CustomerType": { "type": "string", "enum": [ "NATURAL", "LEGAL" ], "description": "Applicable only to Brazil. Customer type: `NATURAL` is an individual. `LEGAL` is a corporation or other legal entity type. **Required** when providing the `has_asset_registration` object.", "example": "NATURAL" }, "DepositAmount": { "type": "number", "format": "double", "description": "Amount to be deposited", "example": 550.35 }, "DocumentNumber": { "type": "string", "minLength": 11, "maxLength": 14, "description": "Applicable only to Brazil. Government-issued CPF (Cadastro de Pessoas Físicas) document number. Must be numeric with 11-14 digits. **Required** when providing the `has_asset_registration` object. \n", "example": "48162822038" }, "HasAssetRegistration": { "type": "object", "required": [ "customer_name", "customer_type", "document_number" ], "properties": { "customer_name": { "$ref": "#/components/schemas/CustomerName" }, "customer_type": { "$ref": "#/components/schemas/CustomerType" }, "document_number": { "$ref": "#/components/schemas/DocumentNumber" } }, "description": "Applicable only to Brazil. Contains information required for asset registration. When provided, all three fields are **required**: `customer_name`, `customer_type`, and `document_name`." }, "InterestDepositRequest": { "title": "InterestDepositRequest", "type": "object", "required": [ "tracking_id", "account_id", "interest_plan_id", "amount", "value_date", "maturity_date" ], "properties": { "tracking_id": { "$ref": "#/components/schemas/TrackingId" }, "account_id": { "$ref": "#/components/schemas/AccountId" }, "interest_plan_id": { "$ref": "#/components/schemas/InterestPlanId" }, "amount": { "$ref": "#/components/schemas/DepositAmount" }, "value_date": { "$ref": "#/components/schemas/ValueDate" }, "maturity_date": { "$ref": "#/components/schemas/MaturityDate" }, "has_asset_registration": { "$ref": "#/components/schemas/HasAssetRegistration" } }, "example": { "tracking_id": "41dee125-0876-4505-80cd-947cb6049789", "account_id": "123000", "interest_plan_id": "51dee125-0876-4505-80cd-947cb6049786", "amount": 5365.5, "value_date": "2024-01-15T00:00:00.000Z", "maturity_date": "2025-01-15T00:00:00.000Z", "has_asset_registration": { "document_number": "69230744018", "customer_name": "Lorem Ipsum", "customer_type": "NATURAL" } } }, "InterestDepositResponse": { "title": "InterestDepositResponse", "type": "object", "properties": { "tracking_id": { "$ref": "#/components/schemas/TrackingId" } }, "required": [ "tracking_id" ] }, "InterestPlanId": { "type": "string", "format": "UUID", "minLength": 36, "maxLength": 36, "description": "Interest plan ID generated during the plan's creation. Must be an alphanumeric UUID with the alphabetical characters in lowercase.\n", "example": "07d84f79-3027-47bd-b628-65528ccc8fb2" }, "MaturityDate": { "type": "string", "format": "date", "description": "Deposit maturity date in YYYY-MM-DD format", "example": "2024-04-20" }, "TrackingId": { "type": "string", "format": "UUID", "minLength": 36, "maxLength": 36, "description": "Tracking ID for the operation to ensure idempotence. Must be an alphanumeric UUID with the alphabetical characters in lowercase.", "example": "07d84f79-3027-47bd-b628-65528ccc8fb2" }, "ValueDate": { "type": "string", "format": "date", "description": "Deposit date in YYYY-MM-DD format.", "example": "2024-04-15" } }, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } }, "responses": { "400BadRequest": { "description": "Bad request" }, "401Unauthorized": { "description": "Unauthorized" }, "500InternalServerError": { "description": "Internal server error" }, "404NotFound": { "description": "Not found" } } }, "security": [ { "BearerAuth": [] } ], "paths": { "/v1/interest/deposit": { "post": { "summary": "Deposit money", "description": "Deposit amount into the specified account, and use a previously configured interest plan to calculate applicable interest rates.\n\nThis endpoint generates the following events.\n- [Interest deposit succeeded](https://developers.pismo.io/events/docs/interest-engine-interest-deposit-success-1) when deposit operation succeeds\n- [Interest deposit failed](https://developers.pismo.io/events/docs/interest-engine-interest-deposit-failure-1) when deposit operation fails\n\nThe 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.\n- [Interest registration succeeded](https://developers.pismo.io/events/docs/interest-engine-interest-registration-success-1) when deposit operation succeeds\n- [Interest registration failed](https://developers.pismo.io/events/docs/interest-engine-interest-registration-failure-1) when deposit operation fails\n\nFor more information, refer to the [Interest-bearing accounts](https://developers.pismo.io/pismo-docs/docs/interest-bearing-accounts) guide.\n", "tags": [ "Interest engine" ], "operationId": "post-v1-interest-deposit", "parameters": [ { "$ref": "#/components/parameters/XProgramId" }, { "$ref": "#/components/parameters/ContentType" }, { "$ref": "#/components/parameters/Authorization" } ], "requestBody": { "description": "Requested body of authorization", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InterestDepositRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InterestDepositResponse" } } } }, "400": { "$ref": "#/components/responses/400BadRequest" }, "401": { "$ref": "#/components/responses/401Unauthorized" }, "404": { "$ref": "#/components/responses/404NotFound" }, "500": { "$ref": "#/components/responses/500InternalServerError" } } } } } } ```