Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Here, you can learn how to use APIs to export roles and their privileges from one Tuum environment and import them into another. This functionality aims to facilitate smooth replication for testing across different environments.
Tuum offers three API endpoints for exporting and importing roles and their associated privileges.
Export roles endpoint enables you to retrieve all roles or specific roles and their privileges from the source Tuum environment.
Partial import endpoint allows you to add a selected set of roles and their privileges to the target Tuum environment. Any existing roles and privileges in the target environment not included in the import will remain unchanged.
Complete import endpoint lets you delete all existing roles and their privileges in the target environment and replace them with new roles and privileges specified in the payload.
To use Tuum's API, you must first authenticate. Once you have completed the authentication process, you will receive a . This token allows you to make authorised API calls within the Tuum system.
Tuum has two different API endpoints for authentication:
,
.
You must choose the authentication endpoint applicable to the context in which you will make API requests.
When making API requests for your employees, select the authentication endpoint for employees.
When making API requests for your customers, select the authentication endpoint for customers.
In this part of the API cookbook, you will find:
You can generate a quarterly Mastercard report in PDF format by following these steps:
To make an authorised API call, you must include the x-auth-token header parameter.
For the HTTP header parameter x-auth-token, use the JWT token you received in response to the authentication call as a parameter value.
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDMtMDhUMDg6NDg6NDkiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2NzgyNjUzMjl9.G7rqNTJbeyMdMy1ZGwu1G7JRSvwAg084IiBYhOEz4I8'Here, you can learn how to make an API call to authenticate a customer. Once you execute the call successfully, you will receive a JSON web token that permits you to make authorised API calls to other Tuum API endpoints.
To authenticate a customer, make the following API call.
https://auth-api.sandbox.tuumplatform.com/api/v1/authorise
Below is an example request body of the API call for authentication of a customer.
{
"username": "customer_username",
"password": "customer_password"
}curl 'https://auth-api.sandbox.tuumplatform.com/api/v1/authorise' \
-H 'Content-Type: application/json' \
-d '{
"username": "customer_username",
"password": "customer_password"
}'Please make sure to input the username and password of the particular customer when submitting your request.
Below you find an example response body to the API call above.
An customer is authenticated, and a JSON Web Token is returned in the response.
A savings account is a type of account designed to help customers save money for specific goals while earning a higher interest rate. To open a savings account, you must have an existing currency account (called the servicing account) and provide an initial deposit.
These API call examples demonstrate how to create a new savings account, retrieve its unique savings ID, and set up a savings order to automate recurring deposits.
See the sections below for details:
To generate and download a report, follow these steps as part of the standard report flow:
Request to generate a report.
Check the report generation status.
Download the requested report.
For more detailed information about specific report workflows, refer to the available report guides.
In this example, you can learn how to replace all roles and their privileges in the target Tuum environment.
This endpoint is disabled for the Prod (Live) environment and is available only for non-Prod environments like DEV, TEST, or similar ones.
As a precondition to import, first export all roles and associated privileges by making the API call, as shown in the example of exporting selected roles with an empty request body.
In this example, we showcase the steps to replace all roles and associated privileges in the target environment using the data retrieved in your export roles request.
We want to import all roles to the target environment and thus we have to use the roles and privileges from the response of the export done before.
The system will import only roles and privileges with a valid validity range.
To import all roles and privileges, make the following API call with the roles and associated privileges (exported before) in the request body.
 
https://auth-api.{another-environment}.tuumplatform.com/api/v1/roles/privileges/import
All valid roles and their privileges in the target environment have been replaced with roles and associated privileges exported from the source environment.
In this use case we will activate a new deposit product that was created as a previous step.
The path parameter is depositTypeCode. We will use the PREMIUM deposit product.
.../product/PREMIUM/activate
To activate a deposit product, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v1/deposits/product/{depositTypeCode}/activate
Below you find an example response body to the API call above.
As a result, the PREMIUM deposit product was activated.
In this section, you will find instructions on how to create the following types of outgoing payments:
You can generate an accounts transactions report in CSV or JSON format by following these steps:
Here, you can learn how to make an API call to invalidate customer credentials. Once the call succeeds, your customer cannot authenticate using the invalidated credentials.
To create customer credentials, make the following API call.
https://auth-api.sandbox.tuumplatform.com/api/v1/credentials/invalidate
POST https://auth-api.sandbox.tuumplatform.com/api/v1/credentials/invalidate
Learn more about the in the Tuum developer portal.
Below is an example request body of the API call to invalidate customer credentials.
Please make sure to input the username and password of the particular customer when submitting your request.
Below you find an example response body to the API call above.
After making the API call, the customer's credentials become invalid, making it impossible to authenticate themselves.
Learn how to find a particular person's addresses in Tuum. In this example, we will demonstrate it on a private person using the following data.
To retrieve customer data, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3392/addresses
Below is an example request of the API call to retrieve person addresses.
No request body.
Below you find an example response body to the API call above.
The result of the API call is the overview of the addresses linked to the person.
Here, you can learn how to make an API call to authenticate an employee. Once you execute the call successfully, you will receive a JSON web token that permits you to make authorised API calls to other Tuum API endpoints.
To authenticate an employee, make the following API call.
https://auth-api.sandbox.tuumplatform.com/api/v1/employees/authorise
Below is an example request body of the API call for authentication of an employee.
Please make sure to input the username and password of the particular employee when submitting your request.
Below you find an example response body to the API call above.
An employee is authenticated, and a JSON Web Token is returned in the response.
In this example, we will review how to find an employee by username.
To find an employee by username, make the following API call.
 
https://auth-api.sandbox.tuumplatform.com/api/v1/employees/{employeeId} 
Below is an example request of the API call to retrieve customer data.
No request body.
Below you find an example response body to the API call above.
The result of the API call is the dataset of a particular employee.
Here, you can learn how to make an API call to refresh a valid JSON Web Token. Once you execute the call successfully, you will receive a JSON Web Token with new expiration time.
To refresh a valid JSON Web Token, make the following API call.
https://auth-api.sandbox.tuumplatform.com/api/v1/authorise/refresh
Below is an example request body of the API call to refresh a valid JSON Web Token.
Below you find an example response body to the API call above.
The response will contain a fresh JSON Web Token with an updated expiration time.
Here we will review how to create customer groups that are used to make different price decisions based on the group. We will create a new customer group using the following data:
To create a new customer group, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v1/person-group-types
Below is an example request body of the API call for creating a new customer group.
Here you find an example response body to the API call above.
A new BUSINESS customer group is created.
Here we will review how to create deposit class codes that can be used to define separate general ledger accounts for different deposit products. We will create a new deposit class code for the premium customers.
To create a new deposit class code, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v1/deposit-class-codes
Below is an example request body of the API call for creating a deposit class code.
Below you find an example response body to the API call above.
As an outcome, a new deposit class code for premium customers was created.
In this use case, we will review a situation when a person - Rhys Davey with personId ID-3204, who has the account inactivated, requested the bank to remove the personal data. To complete this request, you can initiate the forget person process.
To initiate the forget person process, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3204/forget/start
Below is an example request body of the forget person API call.
The forget person generates the following response.
As an outcome, the personal data of Rhys Davey ID-3204 is forgotten.
Here, you will learn how to check the generation status of QMR in Tuum.
In this use case, we will demonstrate how to check the generation status of a requested QMR.
To find the status of the requested report, make the following API call.
reports-api.sandbox.tuumplatform.com/
api/v2/generations/{generationId}
The sample request body is as follows:
No request body.
Below you will find the response to the API request:
This endpoint returns the status of the QMR. When the statusCode value is DONE, the report is . In this example, the sourceRef for exporting the PDF file is ID-4359.
In this block, you will learn how to open a deposit contract flow. There are two flows available:
,
.
The first deposit flow starts from a deposit application and includes the following steps:
- once the deposit application is created, the Tuum system automatically creates a related deposit offer.
- once the deposit offer is accepted, the Tuum system automatically creates a related deposit contract. Or - reject the offer and terminate the flow.
You can use this flow if your organisation processes deposit applications outside the Tuum system.
This deposit contract flow starts from a deposit offer and includes the following steps:
- to enter the required deposit information into the Tuum system.
- once the deposit offer is accepted, the Tuum system will automatically create a deposit contract based on the deposit offer. Or - to reject the deposit offer and terminate the flow.
Below, you will find the following chapters:
In this example, we will review how to deactivate a deposit product.
To deactivate a deposit product, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v1/deposits/product/{depositTypeCode}/deactivate
Below, you find an example response body to the API call above.
As a result, the PREMIUM deposit product was deactivated.
This guide will help you find details about an individual or a legal entity.
The endpoint provides a detailed overview of the person from various APIs.
The endpoint provides person's address details.
Based on your use case, use either of the endpoints to retrieve person data:
Instructions in this section will help you to manage deposit products throughout their lifecycle.
Below you will find the following chapters:
In this block, you will find the most common use cases that explain how to manage an active deposit contract.
Below you will find the following sections:
All roles and privileges from the 
response of the export done before.{
    "errors": null,
    "validationErrors": null,
    "data": null
}curl 'https://auth-api.sandbox.tuumplatform.com/api/v1/credentials/invalidate' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMjhUMTM6MjE6MTYiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTA1NTA0NzZ9.KFAC4t3rgo6Cc2yr9V2-h6ZfgOyKLXyI9u22FLa_gvQ' \
-H 'Content-Type: application/json' \
-d '{
"personId": "ID-1038",
"username": "customer_username",
"password": "customer_password"
}'{
"personId": "ID-1038",
"username": "customer_username",
"password": "customer_password"
}Private person with Tuum personId: ID-3392.
.../persons/ID-3392/addresses
curl --location 'https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3392/addresses' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDUtMjFUMTA6NTc6MzIiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE3MTYyODkwNTJ9.nz1Fm5JV4tgUvL9rD-PbVb_fBVbIgbbxDhVpPdp6h2Q' \
--header 'x-channel-code: SYSTEM' \
--data ''{
    "errors": null,
    "validationErrors": null,
    "data": [
        {
            "addressId": "ID-3052",
            "personId": "ID-3392",
            "addressTypeCode": "R",
            "street1": "85 Park End St",
            "street2": null,
            "cityCounty": "Broomhill",
            "stateRegion": null,
            "zip": "NE65 0YW",
            "countryCode": "GB",
            "moveInDate": null,
            "validityRange": {
                "endTime": null,
                "startTime": "2023-06-01T07:55:53.213023Z"
            }
        }
    ]
}curl -X POST 'https://auth-api.sandbox.tuumplatform.com/api/v1/employees/authorise' \
-H 'Content-Type: application/json' \
--data-raw '{
"username": "employee_username",
"password": "employee_password"
}'{
"username": "employee_username",
"password": "employee_password"
}{
    "errors": null,
    "validationErrors": null,
    "data": {
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDMtMDhUMDg6NDg6NDkiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2NzgyNjUzMjl9.G7rqNTJbeyMdMy1ZGwu1G7JRSvwAg084IiBYhOEz4I8"
    }
}We will search for the employee with the [email protected] username.
...api/v1/employees/[email protected]
curl --location 'https://auth-api.sandbox.tuumplatform.com/api/v1/employees/username?username=test.employee%40bank.com' \
--header 'x-channel-code: BACKOFFICE' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjUtMDEtMDZUMjI6MzA6MjIiLCJleHAiOjE3MzYyMDI2MjIsInJvbGVzIjpbIkFETUlOIl19.N67SgRQZXpJHFCh-Ea6oAyQjlq86kl8vUkEyokn6bDw' \
--data ''{
    "errors": null,
    "validationErrors": null,
    "data": {
        "employeeId": "ID-1183",
        "firstName": "Test",
        "lastName": "Employee",
        "username": "[email protected]",
        "email": "[email protected]",
        "authenticationMethod": "PASSWORD",
        "defaultTenantCode": "MB",
        "roles": [
            "CUSTOMER_SERVICE"
        ],
        "tenants": [
            {
                "tenantEmployeeId": "ID-1213",
                "defaultTenant": true,
                "tenantId": "ID-1000",
                "tenantCode": "MB",
                "roles": [
                    "CUSTOMER_SERVICE"
                ]
            }
        ],
        "externalId": null,
        "lastLogin": "2024-11-25T12:28:04.635156Z",
        "blockedUntil": null,
        "failedAttempts": 0
    }
}curl -X POST 'https://auth-api.sandbox.tuumplatform.com/api/v1/authorise/refresh' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMjhUMTA6MDM6MjEiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTA1Mzg2MDF9.vOLapdiXflbGV4c2pJnziQzgJzP1MYPPBcdk4wIZdoM' \
-d ''https://auth-api.sandbox.tuumplatform.com/api/v1/authorise/refresh{
    "errors": null,
    "validationErrors": null,
    "data": {
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMjhUMTA6MDM6MjEiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTA1Mzg2MDF9.vOLapdiXflbGV4c2pJnziQzgJzP1MYPPBcdk4wIZdoM"
    }
}The group name is business.
"personGroupCode": "BUSINESS"This is a group for the premium customers.
"description": "Premium customers"{
    "errors": null,
    "validationErrors": null,
    "data": null
}curl -L 'https://person-api.sandbox.tuumplatform.com/api/v1/person-group-types' \
-H 'x-channel-code: system' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMTlUMjA6NDQ6MTIiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODcyMDc0NTJ9.KsLN7WxZ10oCLe9pEHKaUP6mcqIjCXVazamMZpIEYQE' \
-H 'Content-Type: application/json' \
-d '{
  "personGroupCode": "BUSINESS",
  "description": "Premium customers"
}'{
  "personGroupCode": "BUSINESS",
  "description": "Premium customers"
}The new class code is created for the premium customers group.
{
 "description": "Class code for premium customers",
 "depositClassCode": "PREMIUM_CUSTOMER"
 }{
    "errors": null,
    "validationErrors": null,
    "data": {
        "description": "Class code for premium customers",
        "depositClassCode": "PREMIUM_CUSTOMER"
    }
}curl --location 'https://deposit-api.sandbox.tuumplatform.com/api/v1/deposit-class-codes' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDItMjJUMTc6MDE6MTciLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHAiOjE3MDg2MjEyNzd9.XD_GcGtj3ArKvsM2OxUKKhBNmhQ-TA5RcjmKxTR2fkA' \
--header 'Content-Type: application/json' \
--data '{
  "description": "Class code for premium customers",
  "depositClassCode": "PREMIUM_CUSTOMER"
}'{
  "description": "Class code for premium customers",
  "depositClassCode": "PREMIUM_CUSTOMER"
}curl -X 'POST' \
  'https://person-api.dev.tuum.xyz/api/v1/persons/ID-3204/forget/start' \
  -H 'accept: */*' \
  -H 'x-channel-code: SYSTEM' \
  -H 'x-tenant-code: MB.EU' \
  -H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjc3JmVG9rZW4iOiJzdHJpbmciLCJleHBpcnlEVGltZSI6IjIwMjMtMDYtMTZUMTg6NDg6NDQiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHAiOjE2ODY5NDEzMjR9.OBniiwiaI2ZN1PMdr6InOjUNtg22vEso8wnpV6kJ104' \
  -H 'Content-Type: application/json' \
  -d '{
  "processReason": "CUSTOMER_REQUESTED",
  "processDate": "2023-06-15"
}'{
  "processReason": "CUSTOMER_REQUESTED",
  "processDate": "2023-06-15"
}{
  "errors": null,
  "validationErrors": null,
  "data": null
}The generationId parameter is obtained from the manually generated QMR that was previously requested.
...api/v2/generations/ID-13061
curl -L 'https://reports-api.sandbox.tuumplatform.com/api/v2/generations/ID-13061' \
-H 'x-tenant-code: MB' \
-H 'Accept-Language: en' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidGVzdGkgdGVzdCIsImVtcGxveWVlSWQiOiJJRC0xNDE3IiwidGVuYW50Q29kZSI6Ik1CIiwiZXhwaXJ5RFRpbWUiOiIyMDI1LTEwLTIyVDA5OjQ4OjMyIiwiZXhwIjoxNzYxMTI2NTEyLCJyb2xlcyI6WyJBRE1JTiIsIlNZU1RFTSJdfQ.7TVoQhmqGBjZuDajPYh2rEJyXbJ27Xf3w9ZPQVEMnk4'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "generationId": "ID-13061",
        "generationTypeCode": "CARD_MQMR",
        "generationGroupCode": "CARD",
        "statusCode": "DONE",
        "createdDTime": "2025-10-22T08:01:53.971Z",
        "entryDate": null,
        "inputJson": "{\"binNumber\":\"111172\",\"exportFileType\":\"PDF\",\"reportingPeriod\":{\"startDate\":\"2025-07-01\",\"endDate\":\"2025-10-01\"}}",
        "errorCode": null,
        "source": null,
        "fileInfos": [
            {
                "generationFileId": "ID-11417",
                "fileName": "MastercardQMR-111172-2025-07-01-2025-10-01.pdf",
                "storageSource": {
                    "sourceName": "STORAGE.FILE",
                    "sourceRef": "ID-4359"
                },
                "additionalData": null
            }
        ],
        "previewJson": null
    }
}The path parameter is depositTypeCode. We will use the PREMIUM deposit product.
...product/PREMIUM/deactivate
{
    "errors": null,
    "validationErrors": null,
    "data": null
}To protect your POST requests against duplicating, you can use the optional header parameter x-request-id - request ID. 
Below we will provide examples to show the difference in the API call outcomes with and without the request ID header parameter.
We will review several examples that illustrate the difference in the API outcomes when the request ID is used and when the request ID is not applied.
The initial request data:
Person's Tuum id is ID-3419.
The name of the account holder is Eleanor Rigby.
Eleanor is a resident of Great Britain.
The standard price list is assigned to the account.
Eleanor is assigned to the GROUP_A customer group.
Currency account type.
The account currency code is GBP.
To view the examples, go to the following pages:
From the illustrated examples we can see that when the x-request-id parameter is applied, it prevents the system from creating new objects. And when the x-request-id is not used or is used with unique value as per each call, all the POST calls are treated as unique and new objects are created:
Initial POST call
Unique response
Unique response
Duplicated POST call
Same as in the initial response
Unique response
Duplicated POST with updated data
Same as in the initial response
Unique response
If you use the x-request-id header parameter, it is recommended to avoid reusing the same parameter value, even if the requests are made to different Tuum APIs.
In this example, we will find an existing employee by employeeId.
We will search an employee ID-1183 whose .
...api/v1/employees/ID-1183
To find an employee by username, make the following API call.
 
https://auth-api.sandbox.tuumplatform.com/api/v1/employees/username
Below is an example request of the API call to retrieve customer data.
No request body.
curl --location 'https://auth-api.sandbox.tuumplatform.com/api/v1/employees/ID-1183' \
--header 'x-channel-code: BACKOFFICE' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTItMTZUMjI6Mzk6MTUiLCJleHAiOjE3MzQzODg3NTUsInJvbGVzIjpbIkFETUlOIl19.ftJgnhviaIP-qTsXh19FIG6wpZntGXezBIXHVK0-63U' \
--data ''Below you find an example response body to the API call above.
The result of the API call is the dataset of a particular employee.
Here, you will learn how to download the requested account transactions report as a JSON or CSV file in Tuum.
In this use case, we will review how to download an account transactions report.
The generationFileId value is ID-2864. This parameter is generated when .
...generations/files/ID-2864
To find the status of the requested report, make the following API call.
reports-api.sandbox.tuumplatform.com/
/api/v1/generations/files/{generationFileId}
Below is an example request of the API call to get the report file.
No body request.
curl --location 'https://reports-api.sandbox.tuumplatform.com/api/v1/generations/files/ID-2864' \
--header 'x-channel-code: system' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEyMzgiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHBpcnlEVGltZSI6IjIwMjUtMDMtMDdUMjM6MTQ6NTkiLCJleHAiOjE3NDEzODkyOTksInJvbGVzIjpbIkFDQ09VTlRBTlQiLCJBRE1JTiJdfQ.M_9PeWkEX4izXTAhYPNzj68FrMxB7gFJ7Zum9VPECKE' \
--data ''Below you find an example response body to the API call above.
As a result, the generated account transactions report was downloaded.
Below, you will find a sample of account transaction export file.
Here, you can learn how to make an API call to create customer credentials. Once the call is successful, your customers can authenticate themselves using the created credentials.
To create customer credentials, make the following API call.
https://auth-api.sandbox.tuumplatform.com/api/v1/credentials
Below is an example request body of the API call to create customer credentials.
{
"personId": "ID-1038",
"username": "customer_username",
"password": "customer_password"
}curl 'https://auth-api.sandbox.tuumplatform.com/api/v1/credentials' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiYWF0b21payIsInBlcnNvbklkIjoiSUQtMTAzOCIsInRlbmFudENvZGUiOiJNQiIsImV4cGlyeURUaW1lIjoiMjAyMy0wNy0yOFQxMjoyMDoyMSIsImV4cCI6MTY5MDU0NjgyMX0.wpNOfTan73vnqQNZo5cI99B2NWuVZ6wurW9JiO7z0x0' \
-H 'Content-Type: application/json' \
-d '{
"personId": "ID-1038",
"username": "customer_username",
"password": "customer_password"
}'Please make sure to input the username and password of the particular customer when submitting your request.
Below you find an example response body to the API call above.
After making the API call, customer credentials will be created so that they can authenticate themselves.
Here, you can learn how to reactivate a person who is in INACTIVE status. We will reactivate a private person, Rhys Davey, who was inactivated previously, but has now returned as a client.
The personId of Rhys Davey who we want to reactivate isID-3204.
Since the person returned as a client, the reason can be set as OTHER.
The reactivation is effective from June 15th 2023. The date format: YYYY-MM-DD.
The by default processReason-s for private and legal persons:
ERROR,
OTHER.
To reactivate a person, make the following API call.
https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3204/reactivate/start
Below is an example request body of the API call to inactivate a person.
{
  "processReason": "OTHER",
  "processDate": "2023-06-15"
}curl --location 'https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3204/reactivate/start' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiTGF1cmEgVCIsImVtcGxveWVlSWQiOiJJRC0xMDU0IiwidGVuYW50Q29kZSI6Ik1CIiwiZXhwaXJ5RFRpbWUiOiIyMDI1LTAzLTA1VDE1OjEwOjE4IiwiZXhwIjoxNzQxMTg3NDE4LCJyb2xlcyI6WyJBRE1JTiJdfQ.gnVRav5NmpZapS3uGMLt69xADsYdEPiGGOjXnt1jqyY' \
--header 'x-channel-code: SYSTEM' \
--header 'Accept-Language: en' \
--header 'Content-Type: application/json' \
--data '{
  "processReason": "OTHER",
  "processDate": "2023-06-15"
}'Below you find an example response body to the API call above.
The person's status is changed to PENDING. The person can be activated with Activate person endpoint.
In this example, we will review how to find a deposit offer using the application ID.
Searching the deposit offer that was created for the  with ID-1696407202.
...applications/ID-1696407202/offers
To find a deposit offer that was automatically created by the deposit application, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v2/applications/{applicationId}/offers
Below you find an example response body to the API call above.
As an outcome, we found the deposit offer ID ID-1696407305 and fetched related details.
In this case, we will review how to find the ID of a created deposit application using person ID.
We will find an existing  that was created for the test person with ID-2660.
...v2/persons/ID-2660/applications
This API call requires mandatory query parameters pageSize and pageNumber.
...?pageSize=1&pageNumber=1
To find a deposit application, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v3/persons/{personId}/applications
Below you find an example response body to the API call above.
As a result we found the deposit application with the ID-1696407202 and fetched other information related to the deposit application.
In this example, we will review how to accept a deposit offer.
We will accept the deposit offer ID-1696407305.
...v1/offers/ID-1696407305/accept
To accept a deposit offer, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v2/offers/{offerId}/accept
Below you find an example response body to the API call above.
As a result the deposit offer ID-1696407305 was accepted.
In this example, you can learn how to retrieve specific roles and their privileges from the source Tuum environment.
In this example, we will export specific roles and privileges.
The system will export only roles and associated privileges with a valid validity range.
To export specific roles and privileges, make the following API call.
https://auth-api.sandbox.tuumplatform.com/api/v1/roles/privileges/export
Below is an example request body of the API call for export roles.
Below you find an example response body to the API call above.
The selected valid roles ACCOUNTANT and TEST_LT with related privileges have been exported.
In this use case, we will create a new employee with the following data set:
To create a new employee, make the following API call.
 
https://auth-api.sandbox.tuumplatform.com/api/v1/employees
Below is an example request body of the API call for creating an employee.
Below you find an example response body to the API call above.
As a result, a new employee with the employeeId: ID-1183 was created.
In this example, we will review how to add a document record for a person.
To create a person document, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3392/documents
Below is an example request body of the API call for creating a person document.
Below you will find an example response to the API call from above.
A new passport record ID-1024 was added for a private person.
In this example, we will show how to create an account class code.
To create a new account class code, make the following API call.
https://account-api.sandbox.tuumplatform.com/api/v1/account-class-codes
POST https://account-api.sandbox.tuumplatform.com/api/v1/account-class-codes
See more information about this in the Tuum developer portal.
Below is an example request body of the API call for creating an account class code.
Below you find an example response body to the API call above.
A new account class code is created.
Here we will review how to update the person address.
To update person address, make the following call.
 
https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3397/addresses/ID-3088
Below is an example body request of the API call for updating the person address.
Below you find an example response body to the API call above.
The person address information is updated.
Here, we will create a single currency account limit type with the account scope.
To create an account limit type, make the following call.
https://account-api.sandbox.tuumplatform.com/api/v1/limits/types
Below is an example request body of the API call for creating an account and setting access rights.
Below you find an example response body to the API call above.
A new single currency account limit type is created - ID-1002. In the , we will assign this limit type to an existing account and define the limit amount.
Here we will review how to assign a person to the customer group. Let us assign a private person, Trevor Tuum, to a business customer group.
To assign a person to the customer group, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3392/person-groups
Below is the example body request of the API call for assigning a person to the group.
Here you find an example response body to the API call above.
The user ID-3392 is assigned to the BUSINESS customer group.
Here, you will learn how to check the generation status of account transactions report in Tuum.
In this example, we will review how to check the status of a requested report file.
To find the status of the requested report, make the following API call.
reports-api.sandbox.tuumplatform.com/
api/v2/generations/{generationId}
Below is an example request of the API call to find report status.
No request body.
Below you find an example response body to the API call above.
This endpoint returns the status of the account transactions report. When the statusCode has a value DONE, the report is ready for . In this example, the generationFileId of the report file is ID-2864.
In this example, we will show how to set up legal person financial data. We will modify New company Ltd and add assets as a currency worth 10000000 EUR.
To create financial data, call the following endpoint.
 
https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3394/financial-data
Below is an example request body of the API call for creating person representation.
Below you will find an example response to the API call from above.
Assets as a currency worth 10000000 EUR are added to the legal person.
In this example, we will find the .
deposit-api.sandbox.tuumplatform.com/api/v1/deposits/product/{depositTypeCode}
Below you find an example response body to the API call above.
As a result, a complete set of product details about the PREMIUM deposit product was returned.
In this example, we will review how to set up an account limit code. This parameter gives a name and description of the account limit that will be configured in the further articles.
To create a new account limit code, make the following call.
https://account-api.sandbox.tuumplatform.com/api/v1/limits/codes
See more information about this in the Tuum developer portal.
Below is an example body request of the API call for creating an account limit code.
Below you find an example response body to the API call above.
A new limit code NEW_ACCOUNT_LIMIT is created and enabled. This parameter will be used for setting up an account limit type.
In this example, we will review how to forget a person record forever and make it unrecoverable.
To remove the restoration key, make the following call.
 
https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3415/forget/key
Below is an example request to remove the restoration key call.
No request body.
The remove restoration key endpoint generates the following response.
The restoration key of a forgotten person ID-3415 is removed. The personal data that belong to the person is non-recoverable.
In this example, we will review how to decline a deposit offer.
deposit-api.sandbox.tuumplatform.com/api/v3/offers/{offerId}/decline
Below is an example request body of the API call for declining a deposit offer.
Below you find an example response body to the API call above.
As a result, a deposit offer ID-1718023943 was declined.
.../persons/ID-3419/accounts"personName": "Eleanor Rigby""residencyCountryCode": "GB""priceListTypeCode": "STANDARD""customerGroupCode": "GROUP_A""accountTypeCode": "CURRENCY""currencyCode": "GBP".../persons/ID-3204/reactivate/start"processReason": "OTHER""processDate": "2023-06-15"The role codes we're exporting roles and privileges for are: ACCOUNTANT and TEST_LT.
"roleCodes": [
    "ACCOUNTANT",
    "TEST_LT"
  ]{
    "errors": null,
    "validationErrors": null,
    "data": {
        "rolesWithPrivileges": [
            {
                "roleCode": "ACCOUNTANT",
                "privilegeNames": [
                    "ADD_PERSON",
                    "APPROVE_APPLICATIONS",
                    "DISBURSE_LOAN",
                    "EDIT_CONTRACT",
                    "EDIT_LOAN_PRODUCTS",
                    "EDIT_PERSON",
                    "MANAGE_USERS",
                    "SEARCH_CONTRACT_DOCUMENTS",
                    "VIEW_GL_JOURNAL",
                    "VIEW_LOAN_CONTRACT",
                    "VIEW_LOAN_PRODUCTS",
                    "VIEW_PERSON",
                    "VIEW_PERSON_ADDITIONAL_CONTACT",
                    "VIEW_PERSON_GROUP_TYPE"
                ],
                "valid": true
            },
            {
                "roleCode": "TEST_LT",
                "privilegeNames": [
                    "MANAGE_USERS",
                    "READ_RESTRICTED_DATA",
                    "VIEW_EXTERNAL_CONTRACTS",
                    "VIEW_FOUREYE_REVIEW_RULE",
                    "VIEW_PERSON",
                    "VIEW_PERSON_GROUP_TYPE",
                    "VIEW_REVIEW_APPROVALS_CONFIGURATION"
                ],
                "valid": true
            }
        ]
    }
}curl --location 'https://auth-api.sandbox.tuumplatform.com/api/v1/roles/privileges/export' \
--header 'Accept-Language: en-GB' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiTGF1cmEgVGVlbcOkZ2kiLCJlbXBsb3llZUlkIjoiSUQtMTA1MCIsInRlbmFudENvZGUiOiJNQi5FVSIsImV4cGlyeURUaW1lIjoiMjAyNS0wMy0xOFQxMDo0NjoxMSIsImV4cCI6MTc0MjI5NDc3MSwicm9sZXMiOlsiQURNSU4iXX0.zD1buC7eTHM0cDgGMhThq1II6TUY3DdmfrHzDphcBdE' \
--header 'Content-Type: application/json' \
--data '{
  "roleCodes": [
    "ACCOUNTANT",
    "TEST_LT"
  ]
}'{
  "roleCodes": [
    "ACCOUNTANT",
    "TEST_LT"
  ]
}We will create a record for a Test Employee.
"username": "[email protected]",
"email": "[email protected]",
"firstName": "Test",
"lastName": "Employee"Test Employee is a Customer Support representative.
"roles": [
    "CUSTOMER_SERVICE"
  ]The employee password must be 12 to 20 characters long and contain one upper-case letter, one digit, and one special character.
"password": "Vys%k6;)#,bab"The name of the tenant where new employee is created.
"tenantCode": "BANK"{
    "errors": null,
    "validationErrors": null,
    "data": {
        "employeeId": "ID-1183",
        "firstName": "Test",
        "lastName": "Employee",
        "username": "[email protected]",
        "email": "[email protected]",
        "authenticationMethod": "PASSWORD",
        "defaultTenantCode": "MB",
        "roles": [
            "CUSTOMER_SERVICE"
        ],
        "tenants": [
            {
                "tenantEmployeeId": "ID-1213",
                "defaultTenant": true,
                "tenantId": "ID-1000",
                "tenantCode": "BANK",
                "roles": [
                    "CUSTOMER_SERVICE"
                ]
            }
        ],
        "externalId": null,
        "lastLogin": "2024-11-25T12:28:04.635156Z",
        "blockedUntil": null,
        "failedAttempts": 0
    }
}curl --location 'https://auth-api.sandbox.tuumplatform.com/api/v1/employees' \
--header 'x-channel-code: BACKOFFICE' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTEtMjVUMTM6MDc6MTUiLCJleHAiOjE3MzI1NDAwMzUsInJvbGVzIjpbIkFETUlOIl19.zIFVF28Qu62-9V6xRJI_t1QpnWd4HdPpPSFx5FaepEM' \
--header 'Content-Type: application/json' \
--data-raw '{
  "username": "[email protected]",
  "email": "[email protected]",
  "firstName": "Test",
  "lastName": "Employee",
  "roles": [
    "CUSTOMER_SERVICE"
  ],
  "password": "Vys%k6;)#,bab",
  "tenantCode": "BANK"
}'{
  "username": "[email protected]",
  "email": "[email protected]",
  "firstName": "Test",
  "lastName": "Employee",
  "roles": [
    "CUSTOMER_SERVICE"
  ],
  "password": "Vys%k6;)#,bab",
  "tenantCode": "BANK"
}Adding a document record for a private person ID-3392.
...persons/ID-3392/documents
Adding the person's passport details.
{
  "issuingCountry": "GB",
  "number": "0124R5M1P5",
  "documentTypeCode": "PASSPORT",
  "expiryDate": "2025-01-03"
}{
    "errors": null,
    "validationErrors": null,
    "data": {
        "docuId": "ID-1024",
        "personId": "ID-3392",
        "issuingCountry": "GB",
        "number": "0124R5M1P5",
        "documentTypeCode": "PASSPORT",
        "expiryDate": "2025-01-03",
        "validityRange": {
            "startTime": "2023-07-17T17:47:42.187928Z",
            "endTime": null
        }
    }
}curl -L -g 'https://person-api.{{env}}.{{domain}}/api/v1/persons/ID-3392/documents' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMTdUMTg6Mzk6MTAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODk2MTkxNTB9.cfzAzYCJ2lAWGHj_YxX9-vc21YS-ekBsZvOJx9C9Pqk' \
-H 'Content-Type: application/json' \
-d '{
  "issuingCountry": "GB",
  "number": "0124R5M1P5",
  "documentTypeCode": "PASSPORT",
  "expiryDate": "2025-01-03"
}'{
  "issuingCountry": "GB",
  "number": "0124R5M1P5",
  "documentTypeCode": "PASSPORT",
  "expiryDate": "2025-01-03"
}Create a new account class code.
{
"description": "New account class code",
"accountClassCode": "NEW"
    }{
    "errors": null,
    "validationErrors": null,
    "data": {
        "description": "New account class code",
        "accountClassCode": "NEW"
    }
}curl --location 'https://account-api.sandbox.tuumplatform.com/api/v1/account-class-codes' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMzFUMTA6NTE6MzUiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTA4MDA2OTV9.ocnwYQJzynRutWPRu-Jr_BmKkwRleeV5koMW_RbsNJ0' \
--header 'Content-Type: application/json' \
--data '{
  "description": "New account class code",
  "accountClassCode": "NEW"
}'{
  "description": "New account class code",
  "accountClassCode": "NEW"
}Updating the addressId ID-3088of the legal person with personId ID-3397.
...persons/ID-3397/addresses/ID-3088
New address reference.
"street1": "Brick Lane 4"{
    "errors": null,
    "validationErrors": null,
    "data": {
        "addressId": "ID-3088",
        "personId": "ID-3397",
        "addressTypeCode": "R",
        "street1": "Brick Lane 4",
        "street2": null,
        "cityCounty": "London",
        "stateRegion": null,
        "zip": "13789",
        "countryCode": "GB",
        "moveInDate": null,
        "validityRange": {
            "endTime": null,
            "startTime": "2023-07-12T14:33:23.624199Z"
        }
    }
}curl -L -X PUT 'https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3397/addresses/ID-3057' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMTJUMTU6MzM6MTAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODkxNzU5OTB9.qzjD0zt7w5nIvYTaz9xEMP_jfZEgcH6KsnJZdlkdLy8' \
-H 'Content-Type: application/json' \
-d '{
  "street1": "Brick Lane 4",
  "cityCounty": "London",
  "zip": "13789",
  "countryCode": "GB"
}'{
  "street1": "Brick Lane 4",
  "cityCounty": "London",
  "zip": "13789",
  "countryCode": "GB"
}The limit must be applicable on the account level.
"scopeTypeCode": "ACCOUNT"The limit is active on a montly basis.
"periodTypeCode": "MONTHLY"The limit is calculated per currency.
"calcTypeCode": "PER_CURRENCY"The limit code that was generated in the previous call.
"limitCode": "NEW_ACCOUNT_LIMIT"{
    "errors": null,
    "validationErrors": null,
    "data": {
        "limitTypeId": "ID-1002",
        "scopeTypeCode": "ACCOUNT",
        "periodTypeCode": "MONTHLY",
        "calcTypeCode": "PER_CURRENCY",
        "limitCode": "NEW_ACCOUNT_LIMIT"
    }
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v1/limits/types' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMTFUMTU6MDA6MTUiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODkwODc2MTV9.wfWaIi2x7wg64c0UPBPBHoezz5EhajJqQp1oHD7Rm7o' \
-H 'Content-Type: application/json' \
-d '{
  "scopeTypeCode": "ACCOUNT",
  "periodTypeCode": "MONTHLY",
  "calcTypeCode": "PER_CURRENCY",
  "limitCode": "NEW_ACCOUNT_LIMIT"
}'{
  "scopeTypeCode": "ACCOUNT",
  "periodTypeCode": "MONTHLY",
  "calcTypeCode": "PER_CURRENCY",
  "limitCode": "NEW_ACCOUNT_LIMIT"
}A private person with personId: ID-3392
...persons/ID-3392/person-groups
A customer group for business customers
"personGroupCode": "BUSINESS"{
    "errors": null,
    "validationErrors": null,
    "data": {
        "personGroupId": "ID-1489",
        "personId": "ID-3392",
        "personGroupCode": "BUSINESS",
        "validityRange": {
            "endTime": null,
            "startTime": "2023-06-21T20:48:57.250757Z"
        }
    }
}curl -L 'https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3392/person-groups' \
-H 'x-channel-code: system' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMjFUMjE6Mjk6NDgiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODczODI5ODh9.pPztGj-fAiRrRmZAOKYDuJSGrvZuUis59WKDAfcuE7A' \
-H 'Content-Type: application/json' \
-d '{
  "personGroupCode": "BUSINESS"
}'{
  "personGroupCode": "BUSINESS"
}The generationId number of the report file that was previously requested.
...api/v2/generations/ID-2864
curl --location --request GET 'https://reports-api.sandbox.tuumplatform.com/api/v2/generations/ID-4714' \
--header 'x-channel-code: system' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEyMzgiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHBpcnlEVGltZSI6IjIwMjUtMDMtMDdUMTg6MzY6NTAiLCJleHAiOjE3NDEzNzI2MTAsInJvbGVzIjpbIkFDQ09VTlRBTlQiLCJBRE1JTiJdfQ.WMgoNN6FnntbkVsSxBZtI6mosBNnoOWBrC14reJ9RJM' \
--header 'Content-Type: application/json' \
--data '{
  "accountTypeCode": "INTERNAL",
  "personName": "Trevor Harry Tuum",
  "residencyCountryCode": "GB",
  "customerGroupCode": "INTERNAL",
  "priceListTypeCode": "INTERNAL",
  "currencyCode": "EUR"
}'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "generationId": "ID-2864",
        "generationTypeCode": "ACCOUNT_TRANSACTIONS",
        "generationGroupCode": "ACCOUNT",
        "statusCode": "DONE",
        "createdDTime": "2025-03-07T17:57:04.304Z",
        "entryDate": null,
        "inputJson": "{\"exportFileType\":\"JSON\",\"transactionType\":null,\"transactionSubtype\":null,\"dateFrom\":\"2029-04-01\",\"dateTo\":\"2029-05-31\",\"dateType\":\"POSTING_DATE\",\"directionCode\":null,\"amountFrom\":null,\"amountTo\":null,\"currencyCode\":null,\"contractNumber\":null,\"transactionGroupCodes\":null,\"referenceNumber\":null,\"counterpartyNameSubstring\":null,\"counterpartyAccountNumberSubstring\":null,\"detailsSubstring\":null,\"virtualAccountId\":null,\"source\":null,\"includeAccessRestricted\":false,\"uniqueIdentifier\":null}",
        "errorCode": null,
        "source": {
            "sourceName": "ACCOUNT",
            "sourceRef": "ID-12333"
        },
        "fileInfos": [
            {
                "generationFileId": "ID-2864",
                "fileName": "account-transactions-ID-12333-20250307-1757-04-365.json",
                "storageSource": null,
                "additionalData": null
            }
        ],
        "previewJson": null
    }
}The personId of the legal person. New company Ltd is ID-3394.
...persons/ID-3394/financial-data
The financial data type code is assets.
"financialDataTypeCode": "ASSETS"The financial data value type code is currency.
"financialDataValueTypeCode": "CURRENCY"The currency code is EUR. The currencyCode follows ISO 4217 format.
"currencyCode": "EUR"The period presents the count of months for the validity range and is 12 months.
"period": 12The financial value for the current period is 10000000.
"currentPeriodValue": 10000000{
    "errors": null,
    "validationErrors": null,
    "data": {
        "financialDataId": "ID-1017",
        "personId": "ID-3394",
        "financialDataTypeCode": "ASSETS",
        "financialDataValueTypeCode": "CURRENCY",
        "currentPeriodValue": 10000000,
        "currencyCode": "EUR",
        "period": 12,
        "periodRange": null,
        "nextPeriodEstimateValue": null,
        "description": null,
        "valueRange": null,
        "validityRange": {
            "startTime": "2024-05-20T10:49:58.556Z",
            "endTime": null
        }
    }
}curl --location 'https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3394/financial-data' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDUtMjBUMTE6NDY6MTMiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE3MTYyMDU1NzN9.rhx33fBFHBGOlwWyXJKTtPh4u7J58F2SuvrIdhuA_3c' \
--header 'x-channel-code: SYSTEM' \
--header 'Content-Type: application/json' \
--data '{
  "financialDataTypeCode": "ASSETS",
  "financialDataValueTypeCode": "CURRENCY",
  "currentPeriodValue": 10000000,
  "currencyCode": "EUR",
  "period": 12
}'{
  "financialDataTypeCode": "ASSETS",
  "financialDataValueTypeCode": "CURRENCY",
  "currentPeriodValue": 10000000,
  "currencyCode": "EUR",
  "period": 12
}The path parameter is depositTypeCode. We will use the PREMIUM deposit product.
...deposits/product/PREMIUM
{
    "errors": null,
    "validationErrors": null,
    "data": {
        "depositTypeCode": "PREMIUM",
        "depositGroupCode": "TIME_DEPOSIT",
        "description": "Premium deposit",
        "tenantCode": "MB",
        "statusCode": "ACTIVE",
        "countryCode": "EE",
        "currencyCode": "EUR",
        "contractNumberPrefix": "PR-EE-",
        "offerValidDays": 1,
        "daysToWaitCredit": 2,
        "calculateTaxesEnabled": false,
        "terminationType": "WITHOUT_INTEREST",
        "signatureRequired": false,
        "daysToWaitSignature": null,
        "fileGenerationRequired": false,
        "withdrawalAllowed": false,
        "autoProlongationAllowed": true,
        "interestCalculationMethod": {
            "daysInMonth": "30",
            "daysInYear": 360
        },
        "interestPeriodSelector": "FIXED",
        "interests": [
            {
                "interestId": "ID-1696407383",
                "amountRange": {
                    "startValue": 5000,
                    "endValue": 100001
                },
                "periodTypeCode": "MONTH",
                "period": 3,
                "periodRange": null,
                "interestRate": 0.25,
                "minInterestRate": null,
                "maxInterestRate": null,
                "paymentFrequencyTypeCode": "END",
                "validityRange": {
                    "endDate": null,
                    "startDate": "2027-01-09"
                },
                "depositTypeCode": "PREMIUM",
                "employeeId": "1"
            }
        ],
        "depositClassCode": "PREMIUM_CUSTOMER"
    }
}The technical name of the account limit code.
"code": "NEW_ACCOUNT_LIMIT"The description of the new account limit code.
"name": "New account limit"The account limit code is enabled.
"enabled": true {
    "errors": null,
    "validationErrors": null,
    "data": {
        "code": "NEW_ACCOUNT_LIMIT",
        "name": "New account limit",
        "description": null,
        "enabled": true
    }
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v1/limits/codes' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMTFUMTM6NDg6MDAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODkwODMyODB9.w8DHO1S6HtsPCmAc98IG3F3b7bN2f2m7mlHoXf2gR4U' \
-H 'Content-Type: application/json' \
-d '{
  "code": "NEW_ACCOUNT_LIMIT",
  "name": "New account limit"
}'{
  "code": "NEW_ACCOUNT_LIMIT",
  "name": "New account limit",
  "enabled": true
}There is a private person personId ID-3415 whose person record is already inactivated and forgotten. The person wants to ensure that the personal data is removed completely and is non-recoverable.
...persons/ID-3415/forget/key
curl -L -X DELETE 'https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3415/forget/keyhttps://person-api.{{env}}.{{domain}}/api/v1/persons/ID-3415/forget/key' \
-H 'x-channel-code: BACKOFFICE' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMTJUMTQ6MDg6MTYiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODkxNzA4OTZ9.Weps_UVn2b2iOkcZYgSyZd_mcxu7TSoOVxABvDWsWkI' \
-d '{
  "processReason": "OTHER",
  "processDate": "2023-06-15"
}'{
    "errors": null,
    "validationErrors": null,
    "data": null
}We will decline a deposit offer ID-1718023944.
...offers/ID-1718023944/decline
curl --location --request PUT 'https://deposit-api.sandbox.tuumplatform.com/api/v3/offers/ID-1718023944/decline' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMDYtMjdUMDk6NDU6NTgiLCJleHAiOjE3MTk0ODE1NTgsInJvbGVzIjpbIkFETUlOIl19.Iek0Ie70FXaTaduvpSat17RcEV8KPp9c9JsL14S1QOU' \
--header 'Content-Type: application/json' \
--data '{
  "reasonCode": "DOCUMENT_MISSING"
}'{
  "reasonCode": "DOCUMENT_MISSING"
}{
    "errors": null,
    "validationErrors": null,
    "data": {
        "offerId": "ID-1718023943",
        "personId": "ID-1015",
        "applicationId": null,
        "depositGroupCode": "TIME_DEPOSIT",
        "depositTypeCode": "PREMIUM",
        "terminationType": "WITHOUT_INTEREST",
        "statusCode": "DECLINED",
        "reasonCode": null,
        "accountId": "ID-1012",
        "interestRate": 0.25,
        "period": 3,
        "periodTypeCode": "MONTH",
        "endDate": null,
        "initialMoney": {
            "amount": 5000.00,
            "currencyCode": "EUR"
        },
        "interestPaymentFreqCode": "MONTH",
        "prolongationCode": "PRINCIPAL",
        "countryCode": "EE",
        "maturityDate": "2025-03-30",
        "returnAmount": {
            "amount": 5003.12,
            "currencyCode": "EUR"
        },
        "postingDate": "2024-12-30",
        "lastValidDate": "2024-12-31",
        "channelCode": "BACKOFFICE",
        "tenantCode": "MB",
        "contractHeaderId": null,
        "contractNumber": null,
        "depositClassCode": "PREMIUM_CUSTOMER",
        "payoutDetails": {
            "name": "Tech Writing",
            "accountNumber": {
                "value": "XX47XXXX99999000000000000000122",
                "type": "IBAN"
            },
            "financialInstitutionId": null,
            "referenceNumber": null,
            "countryCode": null
        },
        "personTypeCode": "P",
        "taxResidencyCountryCode": "EE",
        "taxExempt": false
    }
}In this example, you can learn how to add specific roles and their privileges to the target Tuum environment.
We will import specific roles and associated privileges using the data retrieved in the previous export selected roles example.
The role codes we're importing roles and privileges for are: ACCOUNTANT and TEST_LT.
The roles and privileges combination was obtained from the endpoint.
In this example, the role ACCOUNTANT  already existed in the target environment, but role TEST_LT is a new role.
The system will import only roles and associated privileges with a valid validity range.
To import specific roles and associated privileges to the target environment, make the following API call.
Ensure the target environment for the import is different from the export environment.
 
https://auth-api.target-environment.tuumplatform.com/api/v1/roles/privileges/import
Below is an example request body of the API call for import roles.
{
  "rolesWithPrivileges": [
            {
                "roleCode": "ACCOUNTANT",
                "privilegeNames": [
                    "ADD_PERSON",
                    "APPROVE_APPLICATIONS",
                    "DISBURSE_LOAN",
                    "EDIT_CONTRACT",
                    "EDIT_LOAN_PRODUCTS",
                    "EDIT_PERSON",
                    "MANAGE_USERS",
                    "SEARCH_CONTRACT_DOCUMENTS",
                    "VIEW_GL_JOURNAL",
                    "VIEW_LOAN_CONTRACT",
                    "VIEW_LOAN_PRODUCTS",
                    "VIEW_PERSON",
                    "VIEW_EXTERNAL_CONTRACTS",
                    "VIEW_PERSON_GROUP_TYPE",
                ],
                "valid": true
            },
            {
                "roleCode": "TEST_LT",
                "privilegeNames": [
                    "MANAGE_USERS",
                    "READ_RESTRICTED_DATA",
                    "Test_LT",
                    "VIEW_FOUREYE_REVIEW_RULE",
                    "VIEW_REVIEW_APPROVALS_CONFIGURATION",
                    "VIEW_PERSON",
                    "VIEW_EXTERNAL_CONTRACTS",
                    "VIEW_PERSON_GROUP_TYPE",
                ],
                "valid": true
            }
        ]
}curl --location --request PATCH 'https://target-environemnt.tuumaplatform.com/api/v1/roles/privileges/import' \
--header 'Accept-Language: en-GB' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiTGF1cmEgVGVlbcOkZ2kiLCJlbXBsb3llZUlkIjoiSUQtMTM0OCIsInRlbmFudENvZGUiOiJNQiIsImV4cGlyeURUaW1lIjoiMjAyNS0wMy0yMFQxMzoxODowMCIsImV4cCI6MTc0MjQ3NjY4MCwicm9sZXMiOlsiQURNSU4iXX0.FsBEnzSkQdNXqBcl3C2BuPs1OsyYyIBT-efAXyr8sqk' \
--header 'Content-Type: application/json' \
--data '{
        "rolesWithPrivileges": [
            {
                "roleCode": "ACCOUNTANT",
                "privilegeNames": [
                    "ADD_PERSON",
                    "APPROVE_APPLICATIONS",
                    "DISBURSE_LOAN",
                    "EDIT_CONTRACT",
                    "EDIT_LOAN_PRODUCTS",
                    "EDIT_PERSON",
                    "MANAGE_USERS",
                    "SEARCH_CONTRACT_DOCUMENTS",
                    "VIEW_GL_JOURNAL",
                    "VIEW_LOAN_CONTRACT",
                    "VIEW_LOAN_PRODUCTS",
                    "VIEW_PERSON",
                    "VIEW_PERSON_ADDITIONAL_CONTACT",
                    "VIEW_PERSON_GROUP_TYPE"
                ],
                "valid": true
            },
            {
                "roleCode": "TEST_LT",
                "privilegeNames": [
                    "MANAGE_USERS",
                    "READ_RESTRICTED_DATA",
                    "VIEW_EXTERNAL_CONTRACTS",
                    "VIEW_FOUREYE_REVIEW_RULE",
                    "VIEW_PERSON",
                    "VIEW_PERSON_GROUP_TYPE",
                    "VIEW_REVIEW_APPROVALS_CONFIGURATION"
                ],
                "valid": true
            }
        ]
}
'Below you find an example response body to the API call above.
The selected valid roles ACCOUNTANT and TEST_LT with related privileges have been imported.
Here you can learn how to update a record of a particular person (your customer) in Tuum. In this example, we will demonstrate how to update the record of a private person using the following data.
Updating private person with Tuum personId: ID-3392.
...persons/ID-3392/personal
 Adding the middleName: Harry.
To update the particular person's record, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3392/personal
Below is an example request of the API call to update the particular customer's data.
{
    "surname": "Tuum",
    "givenName": "Trevor",
    "middleName": "Harry",
    "identificationNumber": {
        "idNumberId": "ID-1770",
        "idNumber": "DQ654327C",
        "idCountryCode": "GB"
    }
}curl --location --request PUT 'https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3392/personal' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMDctMjRUMTE6MjU6NTMiLCJleHAiOjE3MjE4MjAzNTMsInJvbGVzIjpbIkFETUlOIl19.G-2NqlqmoHvoBRj3666a-Lv8VGRUybpX-ta4UPRpcsQ' \
--header 'x-channel-code: SYSTEM' \
--header 'Content-Type: application/json' \
--data '{
    "surname": "Tuum",
    "givenName": "Trevor",
    "middleName": "Harry",
    "identificationNumber": {
        "idNumberId": "ID-1770",
        "idNumber": "DQ654327C",
        "idCountryCode": "GB"
    }
}'When using the example request, please change the x-auth-token to the one you obtained with your authentication API call.
Below you find an example response body to the API call above.
The middleName of the private person is updated.
A savings ID is a unique identifier used to link a savings order to its associated savings account. It is generated separately and serves as a reference during savings order creation.
The savings account ID in this example is the same as the one created in the previous section. If the savings ID is not already known, it can be retrieved by following the example below.
In this example, we will retrieve a savings ID, which is required to create a savings order.
The savings ID will be retrieved for the savings account ID-23941.
To retrieve a savings ID for savings account, use the following endpoint:
https://account-api.sandbox.tuumplatform.com/api/v3/accounts/saving-accounts/{savingAccountId}/savings
The sample request body is as follows:
No request body.
curl -L 'https://account-api.sandbox.tuumplatform.com/api/v3/accounts/saving-accounts/ID-23941/savings' \
-H 'x-tenant-code: MB' \
-H 'Accept-Language: en' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidGVzdCBrYXN1dGFqYSIsImVtcGxveWVlSWQiOiJJRC0xMTAwIiwidGVuYW50Q29kZSI6Ik1CIiwiZXhwaXJ5RFRpbWUiOiIyMDI1LTA5LTI5VDEzOjU3OjMwIiwiZXhwIjoxNzU5MTU0MjUwLCJyb2xlcyI6WyJBRE1JTiJdfQ.P3ug4ax2vc6OXYoZ3I4RmeeA2rOPbREnTOR4QiJKoYY' \
-H 'Content-Type: application/json'Below you will find the response to the API request:
The savings ID has been successfully retrieved for the specified savings account. It will be used to reference the account when setting up savings orders.
In this example, we will review how to create an account class rule.
Setting a new rule for the internal accounts type.
The was generated in the previous API call.
The validity range of the rule. The validity range format: YYYY-MM-DD.
To create a new account type class rule, make the following API call.
https://account-api.sandbox.tuumplatform.com/api/v1/account-type-class-rules
Below is an example request body of the API call for creating an account type class rule.
{
  "accountTypeCode": "INTERNAL",
  "accountClassCode": "NEW",
  "validityRange": {
    "startDate": "2023-07-31"
  }
}curl --location 'https://account-api.sandbox.tuumplatform.com/api/v1/account-type-class-rules' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMzFUMTQ6Mjk6NTgiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTA4MTM3OTh9.toMwogjfmBdNlD14soqIDPiZ6q1oF0dClO3hDFhJkHM' \
--header 'Content-Type: application/json' \
--data '{
  "accountTypeCode": "INTERNAL",
  "accountClassCode": "NEW",
  "validityRange": {
    "startDate": "2023-07-31"
  }
}'Below you find an example response body to the API call above.
A new account type class rule was created.
Here, you will learn how to generate quarterly Mastercard report (QMR) in Tuum.
In this example, we will demonstrate how to request to generate the QMR for the third quarter of 2025.
The report includes Mastercard data for BIN 111172.
The type of report file that is going to be generated.
The reporting period is the third quarter of 2025.
To request the quarterly Mastercard report, use the following endpoint:
https://reports-api.sandbox.tuumplatform.com/api/v1/card/mqmr/export
The sample request body is as follows:
{
  "binNumber": "111172",
  "exportFileType": "PDF",
  "reportingPeriod": {
    "startDate": "2025-07-01",
    "endDate": "2025-10-01"
  }
}curl -L 'https://reports-api.sandbox.tuumplatform.com/api/v1/card/mqmr/export' \
-H 'x-tenant-code: MB' \
-H 'Accept-Language: en' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidGVzdGkgdGVzdCIsImVtcGxveWVlSWQiOiJJRC0xNDE3IiwidGVuYW50Q29kZSI6Ik1CIiwiZXhwaXJ5RFRpbWUiOiIyMDI1LTEwLTIxVDEwOjIxOjEwIiwiZXhwIjoxNzYxMDQyMDcwLCJyb2xlcyI6WyJBRE1JTiIsIlNZU1RFTSJdfQ.P-_CWPnpAm2Xb5UBWE6tHjzTYqg5f4GNrFw7p8Fo8D0' \
-H 'Content-Type: application/json' \
-d '{
  "binNumber": "111172",
  "exportFileType": "PDF",
  "reportingPeriod": {
    "startDate": "2025-07-01",
    "endDate": "2025-10-01"
  }
}'Below you will find the response to the API request:
This endpoint initiates the manual generation of a QMR. When the statusCode value is PENDING, the report generation is in progress and the status can be checked. In this example, the generationId for checking the QMR generation status is ID-13061.
In this example, we will review how to create a deposit application with a minimum data set.
We will create a deposit application for a test person whose account ID is ID-2660.
...persons/ID-2660/applications
The amount that the test person is going to deposit is 5000 EUR.
The deposit application is opened for a PREMIUM created earlier.
The servicing account ID that is tied to the deposit. Note: see the article to learn more about the account creation.
The deposit is offered with the 3 month duration. The interest will be paid at the end of the contract period. The deposit's jurisdiction country is Estonia.
The tax residency code determines which tax rate is enabled for this country when deducting the tax from the interest during the pay out. The tax exempt is false by default. Note: the taxResidencyCountryCode and taxExempt parameters are editable even after the deposit contract is created or activated.
deposit-api.sandbox.tuumplatform.com/api/v2/persons/{personId}/applications
Below is an example request body of the API call for creating a deposit application.
{
  "initialMoney": {
    "amount": 5000,
    "currencyCode": "EUR"
  },
  "depositTypeCode": "PREMIUM",
  "accountId": "ID-5334",
  "period": 3,
  "periodTypeCode": "MONTH",
  "interestPaymentFreqCode": "END",
  "countryCode": "EE",
  "taxResidencyCountryCode": "EE",
  "taxExempt": "false"
}curl --location 'https://deposit-api.sandbox.tuumplatform.com/api/v2/persons/ID-2660/applications' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHBpcnlEVGltZSI6IjIwMjQtMDUtMjlUMTc6MjM6MDQiLCJleHAiOjE3MTcwMDMzODQsInJvbGVzIjpbIkFETUlOIl19.RyH47_HA4Run4sJtIGeiJmxhlN8sCin_GnGLH_6qKZc' \
--header 'Content-Type: application/json' \
--data '{
  "initialMoney": {
    "amount": 5000,
    "currencyCode": "EUR"
  },
  "depositTypeCode": "PREMIUM",
  "accountId": "ID-5334",
  "period": 3,
  "periodTypeCode": "MONTH",
  "interestPaymentFreqCode": "END",
  "countryCode": "EE",
  "taxResidencyCountryCode": "EE",
   "taxExempt": "false"
}'Below you find an example response body to the API call above.
As a result, a new deposit application ID-1696407202 was created.
Here we will cover how to add additional contacts to a legal person that can be used to reach out to different departments like accounting, fraud, risk etc. We will add fraud department contacts to New company Ltd.
The personId of the legal person New company Ltd is ID-3394.
...persons/ID-3394/additional-contact
The contact type code is the fraud department.
The description of the contact type.
The email of the contact.
The phone number of the contact.
The country code of the phone number.
To add additional contact to the person, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3394/additional-contacts
Below is an example request body of the API call for creating additional contacts.
{
 "contactTypeCode": "FRAUD_CONTACT",
  "description": "Contacts for fraud department",
  "email": "[email protected]",
  "phoneNumber": "0901820",
  "phoneCountryCode": "+49"
}curl --location 'https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3394/additional-contacts' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDUtMjFUMDc6MjY6NTMiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE3MTYyNzY0MTN9.sQw8rjIaygzdHjCKDSlEQsHu0Lvh3U0EjAWWEYaAH5A' \
--header 'x-channel-code: SYSTEM' \
--header 'Content-Type: application/json' \
--data-raw '{
 "contactTypeCode": "FRAUD_CONTACT",
  "description": "Contacts for fraud department",
  "email": "[email protected]",
  "phoneNumber": "0901820",
  "phoneCountryCode": "+49"
}'Here you find an example response body to the API call above.
A new fraud department contact is added to the person.
Here, you will learn how to generate account transactions report in Tuum.
In this example, we will review how to request to generate account transactions report.
The ID of the account from where the transactions report will be exported.
...accounts/ID-12333/transactions/export
The type of report file that is going to be generated. The exportFileType can be:
JSON or
CSV.
The transaction export time frame. For the dateType you can choose:
POSTING_DATE - is the current Tuum banking date when the account transaction was posted.
VALUE_DATE - is the date on which operation actually carries out or is supposed to carry out in the account. Must be the same or earlier than the posting date.
To request account transaction report, make the following call.
https://account-api.sandbox.tuumplatform.com/api/v4/accounts/{accountId}/transactions/export
In the sample below you will find information on how to request an account transactions report.
{
  "exportFileType": "JSON",
  "dateFrom": "2029-04-01",
  "dateTo": "2029-05-31",
  "dateType": "POSTING_DATE"
}curl --location 'https://reports-api.sandbox.tuumplatform.com/api/v4/accounts/ID-12333/transactions/export' \
--header 'x-channel-code: system' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEyMzgiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHBpcnlEVGltZSI6IjIwMjUtMDMtMDdUMTg6MDA6NTYiLCJleHAiOjE3NDEzNzA0NTYsInJvbGVzIjpbIkFDQ09VTlRBTlQiLCJBRE1JTiJdfQ.BCgLd6S47mKEIZ0JG1ADMtc6ThjJlJPWPpv3pidIugk' \
--header 'Content-Type: application/json' \
--data '{
  "exportFileType": "JSON",
  "dateFrom": "2029-04-01",
  "dateTo": "2029-05-31",
  "dateType": "POSTING_DATE"
}'Below you will find an example response to the API call from above.
As a result, a request was made to generate an account transaction report.
In this use case, we will create an interest adjustment for an active deposit contract. We will use the deposit contract that was previously created.
The contract header is ID-1696407222. See find deposit contract page for more details.
...contracts/ID-1696407222/adjustments
The contract adjustment is an interest increase. And the component is interest. 
Note: to create an interest decrease adjustment, use the following value for the eventTypeCode parameter: INTEREST_DECREASE.
The interest increase amount is 0.25 EUR. Note: the contract interest adjustments must fall within the overall deposit interest adjustments rule.
To adjust the deposit contract interest, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v1/contracts/{headerId}/adjustments
Below is an example request body of the API call for changing deposit contract payout details.
{
  "valueDateRule": "APPROVAL_DATE",
  "valueDate": "2027-03-06",
  "eventTypeCode": "INTEREST_INCREASE",
  "details": "Test",
  "componentTypeCode": "INT",
  "money": {
    "amount": 0.25,
    "currencyCode": "EUR"
  }
}curl --location 'https://deposit-api.sandbox.tuumplatform.com/api/v1/contracts/ID-1696407222/adjustments' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDMtMTVUMTU6Mjk6MzgiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHAiOjE3MTA1MTY1Nzh9.B5YRuidueo8Ykoqv3z89Jm1rYSwPe2_B1w7Kk_sjP-k' \
--header 'Content-Type: application/json' \
--data '{
  "valueDateRule": "APPROVAL_DATE",
  "valueDate": "2027-03-06",
  "eventTypeCode": "INTEREST_INCREASE",
  "details": "Test",
  "componentTypeCode": "INT",
  "money": {
    "amount": 0.25,
    "currencyCode": "EUR"
  }
}'Below you will find an example response body to the API call above.
As a result a deposit contract interest adjustment: INTEREST_INCREASE  with ID-1021 was created.
In this example, we will review how to edit a deposit offer.
We will change the deposit offer ID-1718024058.
...offers/ID-1718024058
We will change the deposit offer initial amount from 5000 EUR to 6000 EUR.
To edit a deposit offer, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v2/offers/{offerId}
Below is an example request body of the API call for editing a deposit offer.
{
  "initialMoney": {
    "amount": 6000,
    "currencyCode": "EUR"
  },
  "period": 3,
  "interestPaymentFreqCode": "END",
  "taxResidencyCountryCode": "EE",
  "prolongationCode": "PRINCIPAL",
  "taxExempt": "false",
  "interestRate": 0.35
}curl --location --request PUT 'https://deposit-api.sandbox.tuumplatform.com/api/v2/offers/ID-1718024058' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTAtMzBUMTM6MzI6MjgiLCJleHAiOjE3MzAyOTUxNDgsInJvbGVzIjpbIkFETUlOIl19.7g3ys-QseNqtzu6P5l5lEdpj1tk5izFT10f4AEc9RVo' \
--header 'Content-Type: application/json' \
--data '{
  "initialMoney": {
    "amount": 6000,
    "currencyCode": "EUR"
  },
  "period": 3,
  "interestPaymentFreqCode": "END",
  "taxResidencyCountryCode": "EE",
  "prolongationCode": "PRINCIPAL",
  "taxExempt": "false",
  "interestRate": 0.35
}'Below you find an example response body to the API call above.
As a result the deposit offer ID-1718024058 was updated. The initial offer amount was changed.
Here, you can learn how to inactivate a person who is no longer an active user. We will inactivate a private person, Rhys Davey, who no longer uses any services and does not wish to maintain an active customer record.
Person inactivation is not permanent and person can be  to PENDING status and later  to ACTIVE status.
You can use different values for the processReason parameter. See below:
The processReason for private person:
MERGER,
DEATH,
OTHER,
LEFT_FOR_COMPETITOR,
DATA_RETENTION_PERIOD_END.
The processReason for legal person:
MERGER,
LIQUIDATION,
OTHER,
LEFT_FOR_COMPETITOR,
DATA_RETENTION_PERIOD_END.
To inactivate a person, make the following API call.
https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3204/inactivate/start
Below is an example request body of the API call to inactivate a person.
Below you find an example response body to the API call above.
The person's status is changed to INACTIVE.
In this example, we will find the deposit contract that was automatically created by the Tuum system after .
/deposit-api.sandbox.tuumplatform.com/api/v3/persons/{personId}/contracts
Below you will find an example response body to the API call above.
As a result, we found the deposit contract number PR-EE-1000 with headerId ID-1696407222 and activeVersionId ID-1696407267.
In this example, we will review how to fetch the account transactions.
To search the account transactions, make the following call.
https://account-api.sandbox.tuumplatform.com/api/v4/accounts/{accountId}/transactions/search
Below is the sample request to find account transactions.
Below you find an example response body to the API call above.
The details of the existing account transactions are fetched.
Learn how to find a particular person's (your customer's) main details in Tuum. In this example, we will demonstrate it on a private person using the following data.
To retrieve customer data, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v3/persons/ID-3392
Below is an example request of the API call to retrieve customer data.
No request body.
Below you find an example response body to the API call above.
The result of the API call is the dataset of the particular person.
The personId of Rhys Davey who we want to inactivate isID-3204.
.../persons/ID-3204/inactivate/startSince the person requested to inactivate their account, the reason can be set as OTHER.
"processReason": "OTHER"The inactivation is effective from June 15th 2023. The date format: YYYY-MM-DD.
"processDate": "2023-06-15"{
  "processReason": "OTHER",
  "processDate": "2023-06-15"
}curl --location 'https://person-api.sandbox.tuumplatform.com/api/v2/persons/ID-3204/inactivate/start' \
--header 'x-channel-code: system' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMTVUMTQ6MTc6MTgiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODY4Mzg2Mzh9.nohgrCBeB0UK4HVFLGlV867_C923zuMe_m_Y6I6Jl8k' \
--header 'Content-Type: application/json' \
--data '{
  "processReason": "OTHER",
  "processDate": "2023-06-15"
}'{
    "errors": null,
    "validationErrors": null,
    "data": null
}Searching for transactions on the ID-1279 account.
...accounts/ID-1279/transactions...
The search from and to dates. The date format is: YYYY-MM-DD.
...search?dateFrom=2023-01-01&dateTo=2023-07-10...
The search data type is the posting date.
...&dateType=POSTING_DATE...
Requesting to display the search results on the first page; the page size is 5.
...&pageNumber=1&pageSize=5
https://account-api.{{env}}.{{domain}}/api/v4/accounts/ID-1279/transactions/search?dateFrom=2023-01-01&dateTo=2023-07-10&dateType=POSTING_DATE&pageNumber=1&pageSize=5curl -L 'https://account-api.sandbox.tuumplatform.com/api/v4/accounts/ID-1279/transactions/search?dateFrom=2023-01-01&dateTo=2023-07-10&dateType=POSTING_DATE&pageNumber=1&pageSize=5' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMTBUMTc6MDk6MzUiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODkwMDg5NzV9.grNoFmnvoFcSb2IifdVKojVUQHZTwLU083wH2ci4fpc' \
-d ''{
    "errors": null,
    "validationErrors": null,
    "data": {
        "values": [
            {
                "accountTransactionId": "ID-1183",
                "groupId": "1190",
                "postingDate": "2023-07-01",
                "valueDate": "2023-07-01",
                "accountId": "ID-1279",
                "transactionTypeCode": "ACC_ADM_FEE",
                "transactionSubtypeCode": null,
                "directionCode": "OUT",
                "currencyCode": "EUR",
                "amount": 5.00,
                "initialBalanceAmount": 0.00,
                "filingCode": "2023070100001183",
                "details": "Account maintenance fee",
                "referenceNumber": null,
                "source": {
                    "sourceName": "ACCOUNT.ACCOUNT_PERIODIC_FEE",
                    "sourceRef": "ID-1063",
                    "sourceLink": null
                },
                "contractSource": null,
                "merchantInfo": null,
                "metaInfo": null,
                "createdDTime": "2023-07-01T00:00:09.294656Z",
                "endToEndId": null,
                "paymentServiceProviderCode": null,
                "transactionDTime": "2023-07-01T00:00:09.963737Z",
                "reversed": false,
                "virtualAccountId": null,
                "labels": [],
                "counterparty": null
            }
        ],
        "pageNumber": 1,
        "pageSize": 5,
        "endReached": true,
        "sort": null,
        "total": 1
    }
}Private person with Tuum personId: ID-3392
.../persons/ID-3392
{
    "errors": null,
    "validationErrors": null,
    "data": {
        "personId": "ID-3392",
        "personTypeCode": "P",
        "statusCode": "ACTIVE",
        "statusCodeReason": null,
        "name": null,
        "givenName": "Trevor",
        "middleName": null,
        "surname": "Tuum",
        "birthDate": null,
        "creationDate": "2023-06-01",
        "deathDate": null,
        "liquidationDate": null,
        "inactivationDate": null,
        "registrationDate": null,
        "sex": null,
        "email": null,
        "customerTypeCode": null,
        "nationality": null,
        "taxResidencyCountry": null,
        "placeOfBirth": null,
        "countryOfBirth": null,
        "phoneCountryCode": null,
        "phoneNumber": null,
        "idNumber": "DQ654327C",
        "idCountryCode": "GB",
        "residencyCountryCode": null,
        "language": null,
        "educationCode": null,
        "activityCode": null,
        "housingTypeCode": null,
        "buildingTypeCode": null,
        "moveInDate": null,
        "maritalStatusCode": null,
        "dependantPersons": null,
        "employmentTimeCode": null,
        "fixedEmploymentLength": null,
        "businessAreaCode": null,
        "intraOrgCode": null,
        "tradingName": null,
        "webAddress": null,
        "pepExplanation": null,
        "legalForm": null,
        "businessModelDescription": null,
        "counterpartySectorCode": null,
        "forgotten": null,
        "usResident": false,
        "pep": false,
        "source": null,
        "tenantCode": "MB",
        "fullName": "Trevor Tuum"
    }
}curl 'https://person-api.sandbox.tuumplatform.com/api/v3/persons/ID-3392' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMDFUMDg6NTU6NDciLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODU2MDk3NDd9.55aYdFuNopFjauFv8XG-FO6S5io6c4PNlF__rUIJixM' \
-H 'x-channel-code: SYSTEM'rolesWithPrivileges": [
            {
                "roleCode": "ACCOUNTANT",
                "privilegeNames": [
                    "ADD_PERSON",
                    "APPROVE_APPLICATIONS",
                    "DISBURSE_LOAN",
                    "EDIT_CONTRACT",
                    "EDIT_LOAN_PRODUCTS",
                    "EDIT_PERSON",
                    "MANAGE_USERS",
                    "SEARCH_CONTRACT_DOCUMENTS",
                    "VIEW_GL_JOURNAL",
                    "VIEW_LOAN_CONTRACT",
                    "VIEW_LOAN_PRODUCTS",
                    "VIEW_PERSON",
                    "VIEW_PERSON_ADDITIONAL_CONTACT",
                    "VIEW_PERSON_GROUP_TYPE"
                ],
                "valid": true
            },
            {
                "roleCode": "TEST_LT",
                "privilegeNames": [
                    "MANAGE_USERS",
                    "READ_RESTRICTED_DATA",
                    "VIEW_EXTERNAL_CONTRACTS",
                    "VIEW_FOUREYE_REVIEW_RULE",
                    "VIEW_PERSON",
                    "VIEW_PERSON_GROUP_TYPE",
                    "VIEW_REVIEW_APPROVALS_CONFIGURATION"
                ],
                "valid": true
            }"middleName": "Harry"...accounts/saving-accounts/ID-23941/savings"accountTypeCode": "INTERNAL""accountClassCode": "NEW""validityRange": {
    "startDate": "2023-07-31"
  }"binNumber": "111172""exportFileType": "PDF""reportingPeriod": {
    "startDate": "2025-07-01",
    "endDate": "2025-10-01"
  }"initialMoney": {
    "amount": 5000,
    "currencyCode": "EUR"
  }"depositTypeCode": "PREMIUM""accountId": "ID-5334""period": 3,
"periodTypeCode": "MONTH",
"interestPaymentFreqCode": "END",
"countryCode": "EE""taxResidencyCountryCode": "EE",
  "taxExempt": "false""contactTypeCode": "FRAUD_CONTACT""description": "Contacts for fraud department""email": "[email protected]""phoneNumber": "0901820""phoneCountryCode": "+49""exportFileType": "JSON""dateFrom": "2029-04-01",
"dateTo": "2029-05-31",
"dateType": "POSTING_DATE""eventTypeCode": "INTEREST_INCREASE",
"componentTypeCode": "INT","money": {
    "amount": 0.25,
    "currencyCode": "EUR"
  }"initialMoney": {
    "amount": 6000,
    "currencyCode": "EUR"
  }We will find an existing deposit contract that was created for the test person with the ID-2660.
...v2/persons/ID-2660/contracts
This API call requires mandatory query parameters pageSize and pageNumber.
...?pageSize=1&pageNumber=1
{
    "errors": null,
    "validationErrors": null,
    "data": {
        "values": [
            {
                "headerId": "ID-1696407222",
                "personId": "ID-2660",
                "accountId": "ID-1012",
                "applicationId": "ID-1696407202",
                "offerId": "ID-1696407305",
                "depositGroupCode": "TIME_DEPOSIT",
                "depositTypeCode": "PREMIUM_TEST",
                "contractNumber": "PR-EE-1000",
                "countryCode": "EE",
                "channelCode": "SYSTEM",
                "tenantCode": "MB",
                "depositClassCode": null,
                "headerActivationDate": null,
                "headerClosingDate": null,
                "activeVersion": {
                    "versionId": "ID-1718023938",
                    "headerId": "ID-1718023942",
                    "versionNumber": 1,
                    "statusCode": "ACTIVE",
                    "preparationDate": "2024-11-15",
                    "signingDate": null,
                    "activationDate": null,
                    "endDate": "2025-02-15",
                    "closingDate": null,
                    "period": 3,
                    "periodTypeCode": "MONTH",
                    "interestRate": 0.25,
                    "interestPaymentFrequencyCode": "END",
                    "prolongCode": null,
                    "countryCode": "EE",
                    "cancelReasonCode": "CREDIT_PERIOD_PASSED",
                    "lastCreditReceiveDate": "2024-11-17",
                    "lastSigningDate": null,
                    "changeTypeCode": "NEW_CONTRACT",
                    "components": [
                        {
                            "componentId": "ID-1718023964",
                            "versionId": "ID-1718023938",
                            "componentTypeCode": "PRI",
                            "initialMoney": {
                                "amount": 5000.00,
                                "currencyCode": "EUR"
                            },
                            "balanceMoney": {
                                "amount": 0.00,
                                "currencyCode": "EUR"
                            },
                            "calculationMethod": null,
                            "rateBaseCode": null,
                            "rate": null,
                            "accruedUntil": null,
                            "paymentDay": 15,
                            "paymentInterval": 1,
                            "baseInvalidFromDate": null
                        },
                        {
                            "componentId": "ID-1718023965",
                            "versionId": "ID-1718023938",
                            "componentTypeCode": "INT",
                            "initialMoney": {
                                "amount": 0.00,
                                "currencyCode": "EUR"
                            },
                            "balanceMoney": {
                                "amount": 0.00,
                                "currencyCode": "EUR"
                            },
                            "calculationMethod": {
                                "daysInMonth": "30",
                                "daysInYear": 360
                            },
                            "rateBaseCode": "FIX",
                            "rate": 0.25,
                            "accruedUntil": null,
                            "paymentDay": 15,
                            "paymentInterval": 1,
                            "baseInvalidFromDate": null
                        }
                    ],
                    "totalInterestMoney": {
                        "amount": 3.13,
                        "currencyCode": "EUR"
                    },
                    "totalInterestAccruedMoney": {
                        "amount": 0.00,
                        "currencyCode": "EUR"
                    },
                    "channelCode": "SYSTEM",
                    "tenantCode": "MB",
                    "terminationType": "WITHOUT_INTEREST",
                    "nextPayoutDate": null,
                    "payoutDetails": null
                },
                "personTypeCode": "P",
                "taxResidencyCountryCode": "EE",
                "taxExempt": false
            }
        ],
        "pageNumber": 1,
        "pageSize": 1,
        "endReached": true,
        "sort": null
    }
}This example presents how to activate a person from PENDING status to ACTIVE.
In this example, we will demonstrate how to activate a recently created private individual, Ashley Tuum, as she has passed all pre-activation checks.
The personId of the Ashley Tuum is ID-29367.
...persons/ID-29367/activate
To activate the person, make the following API call.
https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-29367/activate
Below is an example request of the API call to activate person.
No request body.
curl --location --request POST 'https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-29367/activate' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDUtMjlUMTQ6MzM6MDAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE3MTY5OTMxODB9.hIvk230HwvSX2BMWxas_P7Xq8WyGfAEzeZsPz_U0ITY' \
--header 'x-channel-code: SYSTEM' \
--header 'Accept-Language: en' \
--data''Below you will find an example response to the API call from above.
A private person Ashley Tuum has been activated.
Here we will review how to create a deposit product with the minimum set of data:
The description of the deposit product.
The deposit group code. Currently, the TIME_DEPOSIT is the only available value.
A unique code for product identification. It must be a unique value and can contain uppercase letters, numbers, and the special characters “-” (dash), “_” (underscore), and “.” (full-stop). Spaces are not allowed.
The code of the tenant where the deposit product is going to be opened.
The deposit product country is Estonia and the currency is euro.
A contract number prefix.
It must be a unique value and can contain uppercase letters, numbers, and the special characters “-” (dash), “_” (underscore), “/” (slash), and “.” (full-stop). Spaces are not allowed.
The deposit offer opened based on this product will be valid for 1 day. The number of days that the system will wait for the contracts of this product type to receive the deposit balance amount from the servicing account. If the expected deposit amount is not received within 2 days, the system cancels the deposit product.
The premature contract termination is without interest.
The automatic prolongation of the deposit contract is allowed.
Deposit product interest settings:
Interest calculation method 30/360 - considers that each month has 30 days and there are 360 days in a year.
Interest conditions are applied for a fixed period of time.
The amount that the customer can deposit is a range from 5000 to 10000 EUR. Note: The endValue is an exclusive parameter.
The default deposit interest rate is 0.25.
The minimum interest rate is 0.21 and the maximum is 0.75.
The deposit period is 3 months.
The deposit interest is paid out at the end of the deposit period.
The that was created as a first step.
This deposit product holder is a private person.
To create a deposit product, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v2/deposits/product
Below is an example request body of the API call for creating a deposit product.
{
  "description": "Premium deposit",
  "depositGroupCode": "TIME_DEPOSIT",
  "depositTypeCode": "PREMIUM",
  "tenantCode": "MB",
  "countryCode": "EE",
  "currencyCode": "EUR",
  "contractNumberPrefix": "PR-EE-",
  "offerValidDays": 1,
  "daysToWaitCredit": 2,
  "terminationType": "WITHOUT_INTEREST",
  "autoProlongationAllowed": true,
  "interestCalculationMethod": 
{ 
    "daysInMonth": "30", 
    "daysInYear": 360
  },
  "interestPeriodSelector": "FIXED",
  "interests": [
    {
      "amountRange": { 
        "startValue": 5000,
        "endValue": 100001
      },
      "interestRate": 0.25,
      "minInterestRate": 0.21,
      "maxInterestRate": 0.75,
      "period": 3,
      "periodTypeCode": "MONTH",
      "paymentFrequencyTypeCode": "END",
      "validityRange": {
        "startDate": "2027-01-09"
      }
    }
  ],
  "depositClassCode": "PREMIUM_CUSTOMER",
  "personTypeCode": "P"
}
curl --location 'https://deposit-api.sandbox.tuumplatform.com/api/v2/deposits/product' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDItMjJUMTk6MTc6MDAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHAiOjE3MDg2Mjk0MjB9.Np7yiNhKpkY35dIPSBD8h1qMoe9zz4IRbsHYZnnoBlo' \
--data '{
  "description": "Premium deposit", 
  "depositGroupCode": "TIME_DEPOSIT", 
  "depositTypeCode": "PREMIUM", 
  "tenantCode": "MB", 
  "countryCode": "EE", 
  "currencyCode": "EUR", 
  "contractNumberPrefix": "PR-EE-", 
  "offerValidDays": 1, 
  "daysToWaitCredit": 2,  
  "terminationType": "WITHOUT_INTEREST",
  "autoProlongationAllowed": true, 
  "interestCalculationMethod": { 
    "daysInMonth": "30", 
    "daysInYear": 360
  },
  "interestPeriodSelector": "FIXED", 
  "interests": [
    {
      "amountRange": { 
        "startValue": 5000, 
        "endValue": 100001 
      },
      "interestRate": 0.25,
      "minInterestRate": 0.21,
      "maxInterestRate": 0.75,
      "periodRange": { 
        "startValue": 0,
        "endValue": 0
      },
      "period": 3, 
      "periodTypeCode": "MONTH", 
      "paymentFrequencyTypeCode": "END", 
      "validityRange": {
        "startDate": "2027-01-09", 
        "endDate": null 
      }
    }
  ],
  "depositClassCode": "PREMIUM_CUSTOMER",
  "personTypeCode": "P"
}'Below you find an example response body to the API call above.
As an outcome, a new deposit product was created in a DRAFT status.
In this example, we will demonstrate how to update a savings order using the same savings account ID and savings ID referenced in the previous examples about creating a savings account and finding its savings ID. This API call can be used either to set up a savings order if one was not created during account creation, or to modify an existing one.
In this example, we will modify a savings order linked to the savings account ID-23941.
The savings order will be created for savings account ID-23941 using savings ID ID-1491.
The name the customer has chosen for their savings account.
The date when the savings order matures and all scheduled recurring deposits are completed.
The target amount to be saved in the savings account.
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 30th of each month.
To create or update a savings order linked to the savings account, use the following endpoint:
https://account-api.sandbox.tuumplatform.com/api/v4/accounts/saving-accounts/{savingAccountId}/savings/{savingId}
The sample request body is as follows:
{
  "savingName": "Emergency savings",
  "savingEndDate": "2045-12-31",
  "savingAmount": 1000,
  "savingOrder": {
    "savingDay": 30,
    "amount": 10,
    "paymentFrequencyCode": "MONTHLY"
  }
}curl -L -X PUT 'https://account-api.sandbox.tuumplatform.com/api/v4/accounts/saving-accounts/ID-23941/savings/ID-1491' \
-H 'x-tenant-code: MB' \
-H 'Accept-Language: en' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidGVzdGkgdGVzdCIsImVtcGxveWVlSWQiOiJJRC0xNDE3IiwidGVuYW50Q29kZSI6Ik1CIiwiZXhwaXJ5RFRpbWUiOiIyMDI1LTEwLTE0VDA5OjAwOjU3IiwiZXhwIjoxNzYwNDMyNDU3LCJyb2xlcyI6WyJBRE1JTiIsIlNZU1RFTSJdfQ.UFCVgKoZ0Gq5EfJNLNhKcK_tbz10SI_O1emSCv4fak0' \
-H 'Content-Type: application/json' \
-d '{
  "savingName": "Emergency savings",
  "savingEndDate": "2045-12-31",
  "savingAmount": 1000,
  "savingOrder": {
    "savingDay": 30,
    "amount": 10,
    "paymentFrequencyCode": "MONTHLY"
  }
}'Below you will find the response to the API request:
The savings order has been successfully processed.
If updating: The planned end date and saving day were modified successfully.
If creating: The savings order was created successfully.
Here we will review how to set up an bank technical account - internal account.
Internal account type
The name of the account holder is Trevor Harry Tuum
For the internal accounts, use the internal customer group
For the internal accounts, use the internal pricelist
Trevor's residency country is the Great Britain
The internal account currency is euro
To create an internal account, make the following API call.
https://account-api.sandbox.tuumplatform.com/api/v4/persons/{personId}/accounts
Below is an example request body of the API call for creating an internal account.
{
  "accountTypeCode": "INTERNAL",
  "personName": "Trevor Harry Tuum",
  "residencyCountryCode": "GB",
  "customerGroupCode": "INTERNAL",
  "priceListTypeCode": "INTERNAL",
  "currencyCode": "EUR"
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3392/accounts' \
-H 'x-channel-code: system' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMjZUMTM6NTc6MDAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODc3ODc4MjB9.dLFGW9A1MvRHNAhjFr_yXBm0m24bHI0NlIARuiwbBqE' \
-d '{
  "accountTypeCode": "INTERNAL",
  "personName": "Trevor Harry Tuum",
  "residencyCountryCode": "GB",
  "customerGroupCode": "INTERNAL",
  "priceListTypeCode": "INTERNAL",
  "currencyCode": "EUR"
}'Below you find an example response body to the API call above.
The outcome of the API call is the complete set of account data. Including the parameters generated by the Tuum system:
A unique identifier is assigned to the new account.
The new account is created and activated.
The IBAN assigned to the new account.
The BIC assigned to the new account.
In this example, we will review how to create a currency account (account application) with an external service provider.
Creating a currency account.
The external provider is LHV.
The name of the account holder is Trevor Harry Tuum.
Trevor is assigned to the GROUP_A customer group.
The standard price list is assigned to the account.
The account currency is EUR.
The account interest rate is set to 10.
The account holder is a private person.
To create an account application, make the following API call.
https://account-api.sandbox.tuumplatform.com/api/v2/persons/{personId}/applications
Below is an example request body of the API call for creating an account application.
{
  "accountTypeCode": "CURRENCY",
  "accountTypeSetupCode": "EXTERNAL_VIRTUAL",
  "serviceProviderCode": "LHV",
  "accountName": "My business account",
  "personName": "Trevor Harry Tuum",
  "residencyCountryCode": "GB",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "currencyCode": "EUR",
  "accountInterestRate": 10,
  "personTypeCode": "P"
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v2/persons/ID-3392/applications' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMDVUMTg6MjI6MjEiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODg1ODEzNDF9.LFWDXWOCWurR4ywAhL-idPSQIVexdUXHad6h7p4mXJ0' \
-H 'Content-Type: application/json' \
-d '{
  "accountTypeCode": "CURRENCY",
  "accountTypeSetupCode": "EXTERNAL_VIRTUAL",
  "serviceProviderCode": "LHV",
  "accountName": "My business account",
  "personName": "Trevor Harry Tuum",
  "residencyCountryCode": "GB",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "currencyCode": "EUR",
  "accountInterestRate": 10,
  "personTypeCode": "P"
}'Below you find an example response body to the API call above.
A new account application ID-1007 is created.
In this use case, we will review how to update a deposit product. We will change the deposit product that was created in a previous step.
Note that you can completely modify the deposit product configuration when the deposit product is in the DRAFT status. Once the product is in the ACTIVE status, you can only update the interest conditions. When the product is in the INACTIVE status, you cannot modify any product fields.
In the table below, you will find a list of the settings that have been modified for the deposit product:
The product description is updated.
The deposit country is set to Germany.
The contract number prefix is modified.
The premature deposit contract termination is with interest.
The deposit contract period is 12 months.
The deposit is offered for legal entities.
The deposit product end is updated. Note: the date format is YYYY-MM-DD.
To update a deposit product, make the following API call.
deposit-api.sandbox.tuumplatform.com/
api/v2/deposits/product/{depositTypeCode}
Below is an example request body for the API call to update a deposit product.
{
  "description": "Premium deposit Germany"
  "depositGroupCode": "TIME_DEPOSIT"
  "countryCode": "DE"
  "currencyCode": "EUR"
  "contractNumberPrefix": "PR-DE-"
  "offerValidDays": 1
  "daysToWaitCredit": 2
  "calculateTaxesEnabled": false,
  "terminationType": "WITH_TOTAL_INTEREST"
  "interestCalculationMethod": {
    "daysInMonth": "30", 
    "daysInYear": 360
  },
  "interestPeriodSelector": "FIXED",
  "interests": [
    {
      "amountRange": { 
        "startValue": 6000,
        "endValue": 100001
      },
      "interestRate": 0.25,
      "periodRange": { 
        "startValue": 0,
        "endValue": 0
      },
      "period": 12, 
      "periodTypeCode": "MONTH",
      "paymentFrequencyTypeCode": "END",
      "validityRange": {
        "startDate": "2027-02-08", 
        "endDate": "2031-02-08"
      }
    }
  ],
  "personTypeCode": "L"
}curl --location --request PUT 'https://deposit-api.sandbox.tuumplatform.com/api/v2/deposits/product/PREMIUM' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDUtMDNUMjA6NDQ6MDMiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE3MTQ3NjkwNDN9.rdBXcIkNYRWcVC_iNUuYaVnaEIuN3my3L3d2hNlwSK8' \
--header 'Content-Type: application/json' \
--data '{
  "description": "Premium deposit Germany", 
  "depositGroupCode": "TIME_DEPOSIT", 
  "countryCode": "DE", 
  "currencyCode": "EUR", 
  "contractNumberPrefix": "PR-DE-", 
  "offerValidDays": 1, 
  "daysToWaitCredit": 2, 
  "calculateTaxesEnabled": false, 
  "terminationType": "WITH_TOTAL_INTEREST", 
  "interestCalculationMethod": { 
    "daysInMonth": "30", 
    "daysInYear": 360
  },
  "interestPeriodSelector": "FIXED", 
  "interests": [
    {
      "amountRange": { 
        "startValue": 6000, 
        "endValue": 100001 
      },
      "interestRate": 0.25,  
      "periodRange": { 
        "startValue": 0,
        "endValue": 0
      },
      "period": 12, 
      "periodTypeCode": "MONTH", 
      "paymentFrequencyTypeCode": "END", 
      "validityRange": {
        "startDate": "2027-02-08", 
        "endDate": null 
      }
    }
  ],
  "personTypeCode": "P"
}'Below, you find an example response body to the API call above.
As a result, the following deposit product settings were updated:
description,
countryCode,
contractNumberPrefix,
terminationType,
period,
perconTypeCode,
validityRange - endDate.
In this example, we will review how to set up an account limit and apply it to the particular account.
The account limit type that was created in the . The account scope, monthly, per-currency limit.
The current account id to which the account limit is going to be applied.
The account limit amount is 10000 EUR.
To create a new account limit, make the following API call.
https://account-api.sandbox.tuumplatform.com/api/v2/accounts/limits
POST https://account-api.sandbox.tuumplatform.com/api/v2/accounts/limits
See more information about this endpoint in the Tuum developer portal.
Below is an example request body of the API call for creating an account limit.
{
  "limitTypeId": "ID-1002",
  "accountId": "ID-1279",
  "amount": {
    "amount": "10000",
    "currencyCode": "EUR"
  }
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v2/accounts/limits'
-H 'x-channel-code: SYSTEM'
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMTlUMTU6MDU6MzYiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODk3NzkxMzZ9.ITizqprIzqJfEhgygd8ij1gxzN2Wj5yNiR5U6IxI_c4'
-H 'Content-Type: application/json'
-d '{ "limitTypeId": "ID-1002", "accountId": "ID-1279", "amount": { "amount": "10000", "currencyCode": "EUR" } }'Below you find an example response body to the API call above.
A new account limit ID-1445 was created on the current account ID-1279.
We will make another API call without the request ID, but the data from the first call remains the same.
The response shows that the new account with accountId: ID-1293 was created and activated.
This time, we will make an additional API call without the request ID. However, we will change the currency from GBP to EUR.
The response shows that the new account with accountId: ID-1294 was created and activated.
If you make multiple POST calls to the same API endpoint without including the header parameter x-request-id, each subsequent call is treated as unique and will receive a separate response.
Here, you can learn how to create a record of a person (record of your customer) in Tuum. In this example, we will showcase the creation of a record of a private person with the following data.
To create a record of a person, make the following API call.
 
https://person-api.sandbox.tuumplatform.com/api/v2/persons
Below is an example request body of the API call for creating a private person.
When using the example request, please change the x-auth-token to the one you obtained with your authentication API call.
Below you find an example response body to the API call above.
A new private person ID-3726 is created and activated. The new person record is available for further actions.
In this example, we will review how to terminate an active contract prematurely (before the contract reaches its end date). We will use the that was previously created.
To terminate an active contract prematurely, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v2/contracts/{headerId}/versions/{versionId}/prepare-for-termination
Below is an example request body of the API call for changing deposit contract payout details.
Below you will find an example response body to the API call above
As a result, the deposit contract is set to the TERMINATING status.
In this example we will review the first step of the deposit contract origination flow that starts with creating a deposit offer.
POST /deposit-api.sandbox.tuumplatform.com/api/v2/persons/{personId}/offers
Below is an example request body of the API call for creating a deposit offer.
Below you find an example response body to the API call above.
As an outcome, a new deposit offer ID-1718024058 was created.
In this example, we will review how to modify the tax exemption status and tax residency country assigned to an active deposit contract. These values are stored on the contract header level. After updating the contract header, these parameters will apply to all versions of the deposit contract.
To update the contract header, make the following API call.
 
deposit-api.sandbox.tuumplatform.com/
api/v2/contracts/{headerId}
Below is an example request body of the API call for changing deposit contract payout details.
Below you find an example response body to the API call above.
As a result, the tax residency country was updated and the tax exemption was set to true. The updated settings were applied to all existing deposit contract versions.
In this example, we will change the contract prolongation status for an active contract. We will use the that was previously created.
The prolongationCode parameter can have one of the following values:
PRINCIPAL - The deposit contract is extended to a new period with only the initial deposit principal amount. All interest accrued during the term will be paid out to the payout account defined for the deposit.
PRINCIPAL_WITH_INTEREST - The deposit contract is extended to a new period with both the initial deposit principal amount and the interest accrued during the previous term. The interest is capitalised, meaning it is added to the initial principal amount, resulting in a new principal amount for the next term period.
To change the deposit contract prolongation details, make the following API call.
deposit-api.sandbox.tuumplatform.com/api/v2/contracts/{headerId}/versions/{versionId}/prolongation-status
Below is an example request body of the API call for changing deposit contract payout details.
Below you find an example response body to the API call above.
As a result, the deposit contract prolongation status was updated.
The contract header is ID-1696407222. See the find deposit contract page for more details.
...v2/contracts/ID-1696407222/...
The active contract version is ID-1696407267. See the find deposit contract page for more details.
...versions/ID-1696407267/payment-instructions
We will change prolongation status to principal with interest. With this setting when the deposit contract is automatically prolonged, the interest is moved to principal.
"prolongationCode": "PRINCIPAL"{
  "prolongationCode": "PRINCIPAL"
}curl --location --request PUT 'https://deposit-api.sandbox.tuumplatform.com/api/v2/contracts/ID-1696407222/versions/ID-1696407267/prolongation-status' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTAtMDhUMTY6NDE6MDAiLCJleHAiOjE3Mjg0MDU2NjAsInJvbGVzIjpbIkFETUlOIl19.Dgxh4-g9be0P0mosxeihMtOol3XBkde3T84SYPHG3W4' \
--header 'Content-Type: application/json' \
--data '{
  "prolongationCode": "PRINCIPAL"
}'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "headerId": "ID-1696407222",
        "personId": "ID-2660",
        "accountId": "ID-1012",
        "applicationId": null,
        "offerId": "ID-16964073051",
        "depositGroupCode": "TIME_DEPOSIT",
        "depositTypeCode": "PREMIUM",
        "contractNumber": "PR-EE-1000",
        "countryCode": "EE",
        "channelCode": "BACKOFFICE",
        "tenantCode": "MB",
        "depositClassCode": "PREMIUM_CUSTOMER",
        "headerActivationDate": "2026-04-04",
        "headerClosingDate": null,
        "activeVersion": {
            "versionId": "ID-1718024026",
            "headerId": "ID-1718024016",
            "versionNumber": 1,
            "statusCode": "ACTIVE",
            "preparationDate": "2026-04-04",
            "signingDate": null,
            "activationDate": "2026-04-04",
            "endDate": "2026-07-04",
            "closingDate": null,
            "period": 3,
            "periodTypeCode": "MONTH",
            "interestRate": 0.25,
            "interestPaymentFrequencyCode": "MONTH",
            "prolongCode": "PRINCIPAL",
            "countryCode": "EE",
            "cancelReasonCode": null,
            "lastCreditReceiveDate": "2026-04-06",
            "lastSigningDate": null,
            "changeTypeCode": "NEW_CONTRACT",
            "components": [
                {
                    "componentId": "ID-1718024140",
                    "versionId": "ID-1718024026",
                    "componentTypeCode": "PRI",
                    "initialMoney": {
                        "amount": 5000.00,
                        "currencyCode": "EUR"
                    },
                    "balanceMoney": {
                        "amount": 5000.00,
                        "currencyCode": "EUR"
                    },
                    "calculationMethod": null,
                    "rateBaseCode": null,
                    "rate": null,
                    "accruedUntil": null,
                    "paymentDay": 4,
                    "paymentInterval": 1,
                    "baseInvalidFromDate": null
                },
                {
                    "componentId": "ID-1718024141",
                    "versionId": "ID-1718024026",
                    "componentTypeCode": "INT",
                    "initialMoney": {
                        "amount": 0.00,
                        "currencyCode": "EUR"
                    },
                    "balanceMoney": {
                        "amount": 0.28,
                        "currencyCode": "EUR"
                    },
                    "calculationMethod": {
                        "daysInMonth": "30",
                        "daysInYear": 360
                    },
                    "rateBaseCode": null,
                    "rate": 0.25,
                    "accruedUntil": "2026-04-12",
                    "paymentDay": 4,
                    "paymentInterval": 1,
                    "baseInvalidFromDate": "2026-04-12"
                }
            ],
            "totalInterestMoney": {
                "amount": 3.13,
                "currencyCode": "EUR"
            },
            "totalInterestAccruedMoney": {
                "amount": 0.28,
                "currencyCode": "EUR"
            },
            "channelCode": "BACKOFFICE",
            "tenantCode": "MB",
            "terminationType": "WITHOUT_INTEREST",
            "nextPayoutDate": "2026-05-04",
            "payoutDetails": {
                "name": "Test Account",
                "accountNumber": {
                    "value": "EE111236525217358748",
                    "type": "IBAN"
                },
                "financialInstitutionId": null,
                "referenceNumber": null,
                "countryCode": null
            }
        },
        "personTypeCode": "P",
        "taxResidencyCountryCode": "EE",
        "taxExempt": false,
        "rateBaseCode": null
    }
}"description": "Premium deposit""depositGroupCode": "TIME_DEPOSIT""depositTypeCode": "PREMIUM""tenantCode": "MB""countryCode": "EE",
"currencyCode": "EUR""contractNumberPrefix": "PR-EE-""offerValidDays": 1,
"daysToWaitCredit": 2"terminationType": "WITHOUT_INTEREST",
"autoProlongationAllowed": true "interestCalculationMethod": 
{ 
    "daysInMonth": "30", 
    "daysInYear": 360
  },
  "interestPeriodSelector": "FIXED",
  "interests": [
    {
      "amountRange": { 
        "startValue": 5000,
        "endValue": 10001
      },
      "interestRate": 0.25,
      "minInterestRate": 0.21,
      "maxInterestRate": 0.75,
      "period": 3,
      "periodTypeCode": "MONTH",
      "paymentFrequencyTypeCode": "END",
      "validityRange": {
        "startDate": "2027-01-09",
      }
    }
  ], "depositClassCode": "PREMIUM_CUSTOMER""personTypeCode": "P""accountTypeCode": "INTERNAL""personName": "Trevor Harry Tuum""customerGroupCode": "INTERNAL""priceListTypeCode": "INTERNAL""residencyCountryCode": "GB""currencyCode": "EUR"accountId": "ID-1282"statusCode": "ACTIVE""iban": "XX54XXXX99999000000000000001257""bic": "ICECLOUDXXX""accountTypeCode": "CURRENCY" "accountTypeSetupCode": "EXTERNAL_VIRTUAL",
  "serviceProviderCode": "LHV","personName": "Trevor Harry Tuum""customerGroupCode": "GROUP_A""priceListTypeCode": "STANDARD""currencyCode": "EUR""accountInterestRate": 10"personTypeCode": "P""description": "Premium deposit Germany" "countryCode": "DE""contractNumberPrefix": "PR-DE-""terminationType": "WITH_TOTAL_INTEREST" "period": 12"personTypeCode": "L""endDate": "2031-02-08""limitTypeId": "ID-1002"n"accountId": "ID-1279""amount": {
    "amount": "10000",
    "currencyCode": "EUR"
  }{
  "accountTypeCode": "CURRENCY",
  "personName": "Eleanor Rigby",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "EUR"
}curl 'https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3419/accounts' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDgtMDRUMTI6Mzk6MTgiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTExNTI3NTh9.L6hz-vAyOWwTZ5z5e2aBpppxmwdhq7JqPVbOoC4n7Ak' \
-H 'Content-Type: application/json' \
-d '{
  "accountTypeCode": "CURRENCY",
  "personName": "Eleanor Rigby",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "EUR"
}'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "accountId": "ID-1294",
        "personId": "ID-3419",
        "accountTypeCode": "CURRENCY",
        "activationDate": "2023-08-04",
        "accountName": null,
        "personName": "Eleanor Rigby",
        "statusCode": "ACTIVE",
        "iban": "XX61XXXX99999000000000000001325",
        "bic": "ICECLOUDXXX",
        "defaultCurrencyCode": "EUR",
        "tenantCode": "MB",
        "residencyCode": "GB",
        "customerGroupCode": "GROUP_A",
        "personTypeCode": null,
        "intraOrgCode": null,
        "accountTypeSetupCode": "STANDARD",
        "serviceProviderCode": "TUUM",
        "interestMethodAssignmentCode": null,
        "accountClassCode": null,
        "balances": [
            {
                "balanceId": "ID-1223",
                "accountId": "ID-1294",
                "currencyCode": "EUR",
                "balanceAmount": 0.00,
                "reservedAmount": 0.00,
                "overdraftLimitAmount": 0.00,
                "defaultCurrencyCode": "EUR",
                "availableBalanceInDefaultCcy": 0.00,
                "negativeBalanceStartDate": null,
                "availableBalanceAmount": 0.00
            }
        ],
        "masterAccountId": null,
        "accountNumbers": [],
        "taxResidencyCountryCode": "GB",
        "jurisdictionCountryCode": "GB"
    }
}curl 'https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3419/accounts' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDgtMDRUMTI6Mzk6MTgiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTExNTI3NTh9.L6hz-vAyOWwTZ5z5e2aBpppxmwdhq7JqPVbOoC4n7Ak' \
-H 'Content-Type: application/json' \
-d '{
  "accountTypeCode": "CURRENCY",
  "personName": "Eleanor Rigby",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "GBP"
}'{
  "accountTypeCode": "CURRENCY",
  "personName": "Eleanor Rigby",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "GBP"
}{
    "errors": null,
    "validationErrors": null,
    "data": {
        "accountId": "ID-1293",
        "personId": "ID-3419",
        "accountTypeCode": "CURRENCY",
        "activationDate": "2023-08-04",
        "accountName": null,
        "personName": "Eleanor Rigby",
        "statusCode": "ACTIVE",
        "iban": "GB16XXXX04030000001024",
        "bic": "LHVBGB2LXXX",
        "defaultCurrencyCode": "GBP",
        "tenantCode": "MB",
        "residencyCode": "GB",
        "customerGroupCode": "GROUP_A",
        "personTypeCode": null,
        "intraOrgCode": null,
        "accountTypeSetupCode": "STANDARD",
        "serviceProviderCode": "TUUM",
        "interestMethodAssignmentCode": null,
        "accountClassCode": null,
        "balances": [
            {
                "balanceId": "ID-1222",
                "accountId": "ID-1293",
                "currencyCode": "GBP",
                "balanceAmount": 0.00,
                "reservedAmount": 0.00,
                "overdraftLimitAmount": 0.00,
                "defaultCurrencyCode": "GBP",
                "availableBalanceInDefaultCcy": 0.00,
                "negativeBalanceStartDate": null,
                "availableBalanceAmount": 0.00
            }
        ],
        "masterAccountId": null,
        "accountNumbers": [
            {
                "accountNumber": {
                    "value": "00001024",
                    "type": "BBAN"
                },
                "countryCode": "GB",
                "financialInstitutionId": {
                    "value": "040300",
                    "type": "SORT_CODE"
                },
                "defaultCurrencyCode": "GBP",
                "accountNumberId": "ID-1148",
                "accountId": "ID-1293",
                "financialInstitutionIdTypeCode": null,
                "statusCode": "ENABLED"
            }
        ],
        "taxResidencyCountryCode": "GB",
        "jurisdictionCountryCode": "GB"
    }
}Private person
"personTypeCode": "P"The person's name is Trevor Tuum
"surname": "Tuum",
"givenName": "Trevor"The person's United Kingdom identification number is QQ123456B
"identificationNumbers": [
        {
            "idNumber": "QQ123456B",
            "idCountryCode": "GB",
            "primary": true
        }
    ]The person's registration address is United Kingdom 85 Park end St Broomhill NE65 0YW
"addresses": [
        {
            "addressTypeCode": "R",
            "countryCode": "GB",
            "cityCounty": "Broomhill",
            "street1": "85 Park End St",
            "zip": "NE65 0YW"
        }
    ]curl --location 'https://person-api.dev.tuum.xyz/api/v2/persons' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjUtMDEtMTRUMTU6MDA6MzQiLCJleHAiOjE3MzY4NjY4MzQsInJvbGVzIjpbIkFETUlOIl19.Y80MTpnA-h5xQ-8W194W0h-I8SbhgOJoZApPbREBB-0' \
--header 'x-channel-code: SYSTEM' \
--header 'Content-Type: application/json' \
--data '{
    "personTypeCode": "P",
    "surname": "Tuum",
    "givenName": "Trevor",
    "identificationNumbers": [
        {
            "idNumber": "QQ123456B",
            "idCountryCode": "GB",
            "primary": true
        }
    ],
    "addresses": [
        {
            "addressTypeCode": "R",
            "countryCode": "GB",
            "cityCounty": "Broomhill",
            "street1": "85 Park End St",
            "zip": "NE65 0YW"
        }
    ]
}'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "personId": "ID-3726",
        "statusCode": "ACTIVE",
        "source": null,
        "tenantCode": "MB",
        "forgotten": false,
        "legalForm": null,
        "creationDate": "2025-01-14",
        "personalInfo": {
            "personTypeCode": "P",
            "givenName": "Trevor",
            "middleName": null,
            "surname": "Tuum",
            "name": null,
            "email": null,
            "phoneNumber": null,
            "phoneCountryCode": null,
            "residencyCountryCode": null,
            "sex": null,
            "nationality": null,
            "dependantPersons": null,
            "legalForm": null
        },
        "additionalInfo": {
            "birthDate": null,
            "countryOfBirth": null,
            "placeOfBirth": null,
            "language": null,
            "educationCode": null,
            "maritalStatusCode": null,
            "dependantPersons": null,
            "taxResidencyCountry": null,
            "usResident": false,
            "pep": false,
            "customerTypeCode": null,
            "statusCodeReason": null,
            "deathDate": null,
            "liquidationDate": null,
            "inactivationDate": null,
            "tradingName": null,
            "registrationDate": null,
            "webAddress": null,
            "pepExplanation": null,
            "businessAreaCodes": [],
            "businessModelDescription": null,
            "intraOrgCode": null,
            "counterpartySectorCode": null
        },
        "work": {
            "activityCode": null,
            "businessAreaCodes": [],
            "employmentTimeCode": null,
            "fixedEmploymentLength": null
        },
        "home": null,
        "addresses": [
            {
                "addressId": "ID-4870",
                "personId": "ID-3726",
                "addressTypeCode": "R",
                "street1": "85 Park End St",
                "street2": null,
                "cityCounty": "Broomhill",
                "stateRegion": null,
                "zip": "NE65 0YW",
                "countryCode": "GB",
                "moveInDate": null,
                "validityRange": {
                    "endTime": null,
                    "startTime": "2025-01-14T14:21:58.145Z"
                }
            }
        ],
        "documents": [],
        "relationships": [],
        "additionalContacts": [],
        "personGroupCodes": [],
        "identificationNumbers": [
            {
                "idNumberId": "ID-3715",
                "personId": "ID-3726",
                "idNumber": "QQ123456B",
                "idCountryCode": "GB",
                "validityRange": {
                    "endTime": null,
                    "startTime": "2025-01-14T14:21:58.291Z"
                },
                "primary": true
            }
        ],
        "taxNumbers": [],
        "accessRestricted": false,
        "fullName": "Trevor Tuum"
    }
}{
    "personTypeCode": "P",
    "surname": "Tuum",
    "givenName": "Trevor",
    "identificationNumbers": [
        {
            "idNumber": "QQ123456B",
            "idCountryCode": "GB",
            "primary": true
        }
    ],
    "addresses": [
        {
            "addressTypeCode": "R",
            "countryCode": "GB",
            "cityCounty": "Broomhill",
            "street1": "85 Park End St",
            "zip": "NE65 0YW"
        }
    ]
}The contract header is ID-1696407222. See the find deposit contract page for more details.
...contracts/ID-1696407222/...
The active contract version is ID-1696407267. See the find deposit contract page for more details.
.../versions/ID-1696407267/...
The deposit contract is terminated without any of the interest it has accrued during the term period.
"terminationType": "WITHOUT_INTEREST"{
    "errors": null,
    "validationErrors": null,
    "data": {
        "headerId": "ID-1696407222",
        "personId": "ID-2660",
        "accountId": "ID-1012",
        "applicationId": null,
        "offerId": "ID-1718024051",
        "depositGroupCode": "TIME_DEPOSIT",
        "depositTypeCode": "PREMIUM",
        "contractNumber": "PR-EE-1000",
        "countryCode": "EE",
        "channelCode": "BACKOFFICE",
        "tenantCode": "MB",
        "depositClassCode": "PREMIUM_CUSTOMER",
        "headerActivationDate": "2026-04-04",
        "headerClosingDate": null,
        "activeVersion": {
            "versionId": "ID-1696407267",
            "headerId": "ID-1696407222",
            "versionNumber": 1,
            "statusCode": "TERMINATING",
            "preparationDate": "2026-04-04",
            "signingDate": null,
            "activationDate": "2026-04-04",
            "endDate": "2026-07-04",
            "closingDate": null,
            "period": 3,
            "periodTypeCode": "MONTH",
            "interestRate": 0.25,
            "interestPaymentFrequencyCode": "MONTH",
            "prolongCode": "PRINCIPAL",
            "countryCode": "EE",
            "cancelReasonCode": null,
            "lastCreditReceiveDate": "2026-04-06",
            "lastSigningDate": null,
            "changeTypeCode": "NEW_CONTRACT",
            "components": [
                {
                    "componentId": "ID-1718024140",
                    "versionId": "ID-1718024026",
                    "componentTypeCode": "PRI",
                    "initialMoney": {
                        "amount": 5000.00,
                        "currencyCode": "EUR"
                    },
                    "balanceMoney": {
                        "amount": 4995.00,
                        "currencyCode": "EUR"
                    },
                    "calculationMethod": null,
                    "rateBaseCode": null,
                    "rate": null,
                    "accruedUntil": null,
                    "paymentDay": 4,
                    "paymentInterval": 1,
                    "baseInvalidFromDate": null
                },
                {
                    "componentId": "ID-1718024141",
                    "versionId": "ID-1718024026",
                    "componentTypeCode": "INT",
                    "initialMoney": {
                        "amount": 0.00,
                        "currencyCode": "EUR"
                    },
                    "balanceMoney": {
                        "amount": 0.00,
                        "currencyCode": "EUR"
                    },
                    "calculationMethod": {
                        "daysInMonth": "30",
                        "daysInYear": 360
                    },
                    "rateBaseCode": null,
                    "rate": 0.25,
                    "accruedUntil": "2026-06-04",
                    "paymentDay": 4,
                    "paymentInterval": 1,
                    "baseInvalidFromDate": "2026-06-04"
                }
            ],
            "totalInterestMoney": {
                "amount": 3.13,
                "currencyCode": "EUR"
            },
            "totalInterestAccruedMoney": {
                "amount": 0.25,
                "currencyCode": "EUR"
            },
            "channelCode": "BACKOFFICE",
            "tenantCode": "MB",
            "terminationType": "WITHOUT_INTEREST",
            "nextPayoutDate": "2026-07-04",
            "payoutDetails": {
                "name": "Test Account",
                "accountNumber": {
                    "value": "EE111236525217358748",
                    "type": "IBAN"
                },
                "financialInstitutionId": null,
                "referenceNumber": null,
                "countryCode": null
            }
        },
        "personTypeCode": "P",
        "taxResidencyCountryCode": "EE",
        "taxExempt": false,
        "rateBaseCode": null
    }
}curl --location 'https://deposit-api.sandbox.tuumplatform.com/api/v1/contracts/ID-1696407222/versions/ID-1696407267/prepare-for-termination' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjQtMDMtMTVUMTg6MzM6MzYiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIuRVUiLCJleHAiOjE3MTA1Mjc2MTZ9.v5803cMEIrcXdTAnbWPEzODtlb0_YKspKRosMtjNyRg' \
--header 'Content-Type: application/json' \
--data '{
  "terminationType": "WITHOUT_INTEREST",
  "comment": "Closing contract"
}'{
  "terminationType": "WITHOUT_INTEREST",
  "comment": "Closing contract"
}We will create a deposit offer for a test person whose account ID is ID-2660.
...persons/ID-2660/offers
The deposit offer is opened for a PREMIUM deposit product that was created earlier.
"depositTypeCode": "PREMIUM"The account ID that is tied to the deposit. Note: see the create account article to learn more about the account creation.
"accountId": "ID-1012"The deposit is offered with the 3 month duration. The interest will be payed at the end of the contract period. The deposit country is Estonia.
"period": 3,
"periodTypeCode": "MONTH",
"interestPaymentFreqCode": "END",
"countryCode": "EE"The deposit amount is 5000 EUR.
"initialMoney": {
    "amount": 5000,
    "currencyCode": "EUR"Upon maturity of the deposit contract, the deposit API transfers the payout to the designated payout account. If payout details are not provided, the payout is automatically directed to the servicing account.
"payoutDetails": {
    "name": "Test user",
    "accountNumber": {
      "value": "EE961221248796768756",
      "type": "IBAN"
    }
    }The default deposit interest rate is set at 0.35.
Note: If the deposit product has a defined minimum and maximum interest rate range, you can set a custom interest rate within this range to override the default rate. If no interest range is defined for the deposit product, the default interest rate of 0.35 is applied.
"interestRate": 0.35curl --location 'https://deposit-api.sandbox.tuumplatform.com/api/v2/persons/ID-1015/offers' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTAtMjlUMjA6MTI6MzEiLCJleHAiOjE3MzAyMzI3NTEsInJvbGVzIjpbIkFETUlOIl19.ViX6Uwnv1n_h2cBxprFUJRxlXJGce0_A1F5o-HA04oE' \
--header 'Content-Type: application/json' \
--data '{
    "depositTypeCode": "PREMIUM",
    "accountId": "ID-1012",
    "period": 3,
    "periodTypeCode": "MONTH",
    "interestPaymentFreqCode": "END",
    "initialMoney": {
        "amount": 5000,
        "currencyCode": "EUR"
    },
    "countryCode": "EE",
    "payoutDetails": {
    "name": "Test user",
    "accountNumber": {
      "value": "EE961221248796768756",
      "type": "IBAN"
    }
    },
    "taxResidencyCountryCode": "EE",
    "interestRate": 0.35
}'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "offerId": "ID-1718024058",
        "personId": "ID-2660",
        "applicationId": null,
        "depositGroupCode": "TIME_DEPOSIT",
        "depositTypeCode": "PREMIUM",
        "terminationType": "WITHOUT_INTEREST",
        "statusCode": "PREPARING",
        "reasonCode": null,
        "accountId": "ID-1012",
        "interestRate": 0.35,
        "period": 3,
        "periodTypeCode": "MONTH",
        "endDate": null,
        "initialMoney": {
            "amount": 5000.00,
            "currencyCode": "EUR"
        },
        "interestPaymentFreqCode": "END",
        "prolongationCode": null,
        "countryCode": "EE",
        "maturityDate": "2027-04-21",
        "returnAmount": {
            "amount": 5004.38,
            "currencyCode": "EUR"
        },
        "postingDate": "2027-01-21",
        "lastValidDate": "2027-01-22",
        "channelCode": "SYSTEM",
        "tenantCode": "MB",
        "contractHeaderId": null,
        "contractNumber": null,
        "depositClassCode": "PREMIUM_CUSTOMER",
        "payoutDetails": {
            "name": "Test user",
            "accountNumber": {
                "value": "EE961221248796768756",
                "type": "IBAN"
            },
            "financialInstitutionId": null,
            "referenceNumber": null,
            "countryCode": null
        },
        "personTypeCode": "P",
        "taxResidencyCountryCode": "EE",
        "taxExempt": false,
        "marginRate": null
    }
}{
    "depositTypeCode": "PREMIUM",
    "accountId": "ID-1012",
    "period": 3,
    "periodTypeCode": "MONTH",
    "interestPaymentFreqCode": "END",
    "initialMoney": {
        "amount": 5000,
        "currencyCode": "EUR"
    },
    "countryCode": "EE",
    "payoutDetails": {
    "name": "Test user",
    "accountNumber": {
      "value": "EE961221248796768756",
      "type": "IBAN"
    }
    },
    "taxResidencyCountryCode": "EE",
    "interestRate": 0.35
}The contract header is ID-1696407222. See the find deposit contract page for more details.
...v2/contracts/ID-1696407222
We will change the tax residency country from Estonia to Germany.
"taxResidencyCountryCode": "DE"We will set the tax exemption to true.
"taxExempt": "true"{
    "errors": null,
    "validationErrors": null,
    "data": {
        "headerId": "ID-1696407222",
        "personId": "ID-2660",
        "accountId": "ID-1012",
        "applicationId": "ID-1696407202",
        "offerId": "ID-1718024054",
        "depositGroupCode": "TIME_DEPOSIT",
        "depositTypeCode": "PREMIUM",
        "contractNumber": "PR-EE-1001",
        "countryCode": "EE",
        "channelCode": "BACKOFFICE",
        "tenantCode": "MB",
        "depositClassCode": "PREMIUM_CUSTOMER",
        "headerActivationDate": "2026-07-08",
        "headerClosingDate": null,
        "activeVersion": {
            "versionId": "ID-1718024033",
            "headerId": "ID-1718024017",
            "versionNumber": 1,
            "statusCode": "ACTIVE",
            "preparationDate": "2026-07-08",
            "signingDate": null,
            "activationDate": "2026-07-08",
            "endDate": "2026-10-08",
            "closingDate": null,
            "period": 3,
            "periodTypeCode": "MONTH",
            "interestRate": 0.25,
            "interestPaymentFrequencyCode": "MONTH",
            "prolongCode": null,
            "countryCode": "EE",
            "cancelReasonCode": null,
            "lastCreditReceiveDate": "2026-07-10",
            "lastSigningDate": null,
            "changeTypeCode": "NEW_CONTRACT",
            "components": [
                {
                    "componentId": "ID-1718024154",
                    "versionId": "ID-1718024033",
                    "componentTypeCode": "PRI",
                    "initialMoney": {
                        "amount": 5000.00,
                        "currencyCode": "EUR"
                    },
                    "balanceMoney": {
                        "amount": 5000.00,
                        "currencyCode": "EUR"
                    },
                    "calculationMethod": null,
                    "rateBaseCode": null,
                    "rate": null,
                    "accruedUntil": null,
                    "paymentDay": 8,
                    "paymentInterval": 1,
                    "baseInvalidFromDate": null
                },
                {
                    "componentId": "ID-1718024155",
                    "versionId": "ID-1718024033",
                    "componentTypeCode": "INT",
                    "initialMoney": {
                        "amount": 0.00,
                        "currencyCode": "EUR"
                    },
                    "balanceMoney": {
                        "amount": 0.00,
                        "currencyCode": "EUR"
                    },
                    "calculationMethod": {
                        "daysInMonth": "30",
                        "daysInYear": 360
                    },
                    "rateBaseCode": null,
                    "rate": 0.25,
                    "accruedUntil": null,
                    "paymentDay": 8,
                    "paymentInterval": 1,
                    "baseInvalidFromDate": "2026-07-08"
                }
            ],
            "totalInterestMoney": {
                "amount": 3.13,
                "currencyCode": "EUR"
            },
            "totalInterestAccruedMoney": {
                "amount": 0.00,
                "currencyCode": "EUR"
            },
            "channelCode": "BACKOFFICE",
            "tenantCode": "MB",
            "terminationType": "WITHOUT_INTEREST",
            "nextPayoutDate": "2026-08-08",
            "payoutDetails": {
                "name": "Tech",
                "accountNumber": {
                    "value": "EE201225862567235311",
                    "type": "IBAN"
                },
                "financialInstitutionId": null,
                "referenceNumber": null,
                "countryCode": null
            }
        },
        "personTypeCode": "P",
        "taxResidencyCountryCode": "DE",
        "taxExempt": true,
        "rateBaseCode": null
    }
}curl --location --request PUT 'https://deposit-api.sandbox.tuumplatform.com/api/v2/contracts/ID-1696407222' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTAtMjFUMTQ6NDg6MTciLCJleHAiOjE3Mjk1MjIwOTcsInJvbGVzIjpbIkFETUlOIl19.pM0GzsEXo-IsdVy5X2l9FcORAul0_XaH_SEU_HNugjI' \
--header 'Content-Type: application/json' \
--data '{
  "taxResidencyCountryCode": "DE",
  "taxExempt": "true"
}'{
  "taxResidencyCountryCode": "DE",
  "taxExempt": "true"
}On this page, you will find a list of parameters included in the account transactions report. The report is available in both CSV and JSON formats, with a similar parameter structure. The key difference is that in the JSON format, the following parameters are represented as nested objects:
transactionAmount:
amount,
currencyCode
initialBalanceAmount:
amount,
currencyCode
source:
sourceName,
sourceRef
counterparty:
name,
accountNumber,
accountNumberSubtype,
accountNumberCountryCode,
financialInstitutionId
transactionId
Number, Text
Transaction ID number.
Example: ID-275388
groupId
Number
Transaction group ID.
Example: 290379
postingDate
Date
Posting date is the current Tuum banking date when the account transaction was posted to the Account API.
Date format: YYYY-MM-DD.
Example: 2029-04-01
accountId
Number, Text
The account number from where the account transactions are extracted.
Example: ID-12333
transactionTypeCode
Text, Number
The transaction type code.
Example: ACC_ADM_FE
transactionSubtypeCode
Text
Transaction subtype.
directionCode
Text
Transaction direction.
Example: OUT
initialBalanceAmount
Number
Initial balance amount.
Example: 3989.97
transactionAmount
Number
Transaction amount.
Example: 12.4
currencyCode
Text
Transaction currency.
Example: EUR
counterpartyName
Text
Transaction counterparty name.
Example: Simon Parker
counterpartyAccountNumber
Number, Text
Counterparty account number.
Example: EE871275295834652820
counterpartyAccountNumberTypeCode
Text
Counterparty account number type.
Example: IBAN
counterpartyAccountNumberSubtype
Text
Counterparty account number subtype.
counterpartyAccountNumberCountryCode
Text
Counterparty account number country code.
Example: EE
counterpartyFinancialInstitutionId
Number, Text
Counterparty financial institution ID.
Example: PARXEE22XXX
counterpartyFinancialInstitutionIdTypeCode
Text
Counterparty financial institution type.
Example: BIC
details
Text, Number
Transaction details.
Example: Account maintenance fee
metaInfo
Text, Number
Transaction meta info.
Example: {"paymentResidencyCountryCode":"LV","intrabankPaymentSource":null,"paymentMetaInfo":"[{"typeCode":"SELECTED_SCHEME","value":"SEPA_REGULAR"}]"}
merchantInfo
Text, Number
Merchant information.
endToEndId
Number
End-to-end ID.
Example: 2222223
transactionDTime
Date, Time
Transaction date and time.
Format: YYYY-MM-DDThh:mm:ss.sssZ
Example: 2025-02-28T11:23:58.16Z
paymentServiceProviderCode
Text
Payment service provider code.
Example: SEPA
labels
Text
Transaction labels.
Example: SEPA_REGULAR
referenceNumber
Number, Text
Transaction reference number.
contractSourceName
Text
Contract source name.
Example: LOAN.CONTRACT_HEADER
contractSourceRef
Number, Text
Contract source reference.
Example: ID-1718026338
contractRef
Number, Text
Contract reference.
valueDate
Date
Value date is the date on which operation actually carries out or is supposed to carry out in the account. Must be the same or earlier than the posting date.
Date format: YYYY-MM-DD.
Example: 2029-04-01
isReversed
Text
Defines if the transaction is reversed.
Example: false
reversedTransactionId
Number, Text
ID number of the reversed transaction.
filingCode
Number
Technical code assigned to the transaction record.
Example: 2029040100275388
reportDateType
Text
Account transaction report date type.
Example: POSTING_DATE
domainCode
Text
Domain code.
Example: PMNT
familyCode
Text
Transaction family code.
Example: RCDT
subfamilyCode
Text
Transaction subfamily code.
Example: FEES
sourceName
Text, Number
Transaction source name.
Example: ACCOUNT.ACCOUNT_PERIODIC_FEE
sourceRef
Text, Number
Transaction source reference.
Example: ID-78253
transactionGroupCode
Text
Transaction group code.
Example: FEE
virtualAccountId
Number, Text
Virtual account ID.
uniqueIdentifier
Number, Text
Transaction unique identifier.
Example: 1f78c038-96a6-4882-925e-ce8cd2668220
...accounts/saving-accounts/ID-4302/savings/ID-1491"savingName": "Emergency savings""savingEndDate": "2045-12-31""savingAmount": "1000""savingOrder": {
    "savingDay": 30,
    "amount": "10",
    "paymentFrequencyCode": "MONTHLY"
  }Here you can learn how to create a legal person - record of your customer's business organisation. In this example, we will use the following data:
Legal person
The company name is New company Ltd
The company registration address: Carnaby street 10, London, Great Britain, 13347
The company registration number is 111111
To create a legal person, make the following API call.
https://person-api.sandbox.tuumplatform.com/api/v2/persons
Below is an example request body of the API call for creating a legal person.
{
  "personTypeCode": "L",
  "name": "New company Ltd",
  "addresses": [
    {
      "addressTypeCode": "R",
      "street1": "Carnaby 10",
      "cityCounty": "London",
      "zip": "13347",
      "countryCode": "GB"
    }
  ],
  "identificationNumber": {
    "idNumber": "111111",
    "idCountryCode": "GB"
    }
 }curl 'https://person-api.sandbox.tuumplatform.com/api/v2/persons' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMTNUMjA6MDM6MDAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODY2ODY1ODB9.bF0nEpm7Z1LgW08F9Fri-q1zAyDH5PsFwqhJCygdODQ' \
-H 'Content-Type: application/json' \
-d '{
  "personTypeCode": "L",
  "name": "New company Ltd",
  "addresses": [
    {
      "addressTypeCode": "R",
      "street1": "Carnaby 10",
      "cityCounty": "London",
      "zip": "13347",
      "countryCode": "GB"
    }
  ],
  "identificationNumber": {
    "idNumber": "111111",
    "idCountryCode": "GB"
    }
 }'Below you will find an example response to the API call from above.
A new legal person ID-3397 is created and activated. The legal person record is now available for the further actions.
Here we will review how to set up a virtual account when Tuum is the service provider:
Virtual account type.
The master account is a currency account with the ID-1279.
The name of the account holder is Trevor Harry Tuum.
Trevor is assigned to the GROUP_A customer group.
The standard price list is assigned to the account.
Trevor's residency country is the Great Britain.
The virtual account currency is GBP.
The account is opened with standard setup scheme. And account numbers are generated and assigned by Tuum.
Tuum is the service provider.
To create a virtual account, make the following API call.
https://account-api.sandbox.tuumplatform.com/api/v4/persons/{personId}/account
Below is an example request body of the API call for creating an account.
{
  "accountTypeCode": "VIRTUAL",
  "masterAccountId": "ID-1279",
  "personName": "Trevor Harry Tuum",
  "residencyCountryCode": "GB",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "currencyCode": "GBP",
  "accountTypeSetupCode": "STANDARD",
  "serviceProviderCode": "TUUM"
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3392/accounts' \
-H 'x-channel-code: system' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMjZUMTk6MDU6MDgiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODc4MDYzMDh9.iySF4SAjJzd6j5-KGeiZ-JYP3fIAnLZUkUjyhiTTsbM' \
-H 'Content-Type: application/json' \
-d '{
  "accountTypeCode": "VIRTUAL",
  "masterAccountId": "ID-1279",
  "personName": "Trevor Harry Tuum",
  "residencyCountryCode": "GB",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "currencyCode": "GBP",
  "accountTypeSetupCode": "STANDARD",
  "serviceProviderCode": "TUUM"
}'Below you find an example response body to the API call above.
The outcome of the API call is the complete set of account data. Including the parameters generated by the Tuum system:
A unique identifier is assigned to the new account.
The new account is created and activated.
The IBAN assigned to the new account.
The BIC assigned to the new account.
In this example we will review how to open a currency account with the minimal set of date.
Currency account type
The name of the account holder is Trevor Harry Tuum
Trevor is assigned to the GROUP_A customer group.
The standard price list is assigned to the account
Trevor's residency country is the Great Britain
The account currency code is GBP
To create an account for a person, make the following API call.
https://account-api.sandbox.tuumplatform.com/api/v4/persons/{personId}/accounts
Below is an example request body of the API call for creating an account.
{
  "accountTypeCode": "CURRENCY",
  "personName": "Trevor Harry Tuum",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "GBP"
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3392/accounts' \
-H 'x-channel-code: system' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMTlUMTg6NDI6MjIiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODcyMDAxNDJ9.ug4KhUwVSEuRx0VcbBUMc2Emf_RJw-nde3aHdKFbHkY' \
-H 'Content-Type: application/json' \
-d '{
  "accountTypeCode": "CURRENCY",
  "personName": "Trevor Harry Tuum",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "GBP"
}'Below you find an example response body to the API call above.
The outcome of the API call is the complete set of account data. Including the parameters generated by the Tuum system:
A unique identifier is assigned to the new account.
The new account is created and activated.
The IBAN assigned to the new account.
The BIC assigned to the new account.
In the Tuum environment, to remove the representative from a legal or another private person, you can close the representation rights. Once the representation is closed, the representative loses their rights.
Removing the representation rights with the personRelationshipId ID-1003 from the parentPerson (legal person with the personId ID-3394).
.../persons/ID-3394/relations/closing/ID-1003
To close the person representation, make the following call.
 
https://person-api.sandbox.tuumplatform.com/api/v1/persons/{personId}/relations/closing/{personRelationshipId}
Below is an example request of the API call to close the person representation rights.
No request body.
curl -L -X POST 'https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3392/relations/closing/ID-1002' \
-H 'x-channel-code: system' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMTlUMTY6MjA6MDIiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODcxOTE2MDJ9.VDHNExXmgRmLvyx_ChTO2iOrwl7WaLRaTNe_T_A47rk' \
-d ''Below you will find an example response to the API call from above.
The person representation is set to the CLOSING status.
In this example, we will review how to change the payout details for an active deposit contract. We will use the deposit contract that was previously created.
The contract header is ID-1696407222. See the  for more details.
api/v1/contracts/ID-1696407222...
The active contract version is ID-1696407267. See the  for more details.
...versions/ID-1696407267/payout-details
The new payout details.
Note: the payoutDetails parameter is not mandatory. This parameter can be only defined for an active deposit contract. See more information about the payoutDetails parameter .
The payoutDetails parameter is optional and can only be defined for an active deposit contract.
Payout details support the following account number types:
Click on the tabs below to see the formatting for each account number types.
"payoutDetails": {
    "name": "Test Account",
    "accountNumber": {
      "value": "EE111236525217358748",
      "type": "IBAN"Parameter validations:
If accountNumber.type is IBAN, financialInstitutionId is not required.
If accountNumber.type is IBAN and financialInstitutionId is provided, then countryCode is required.
"payoutDetails": {  
          "name": "Malloy Harbor", 
          "accountNumber": {   
            "type": "BBAN", 
            "value": "3159584114"    
          },
          "financialInstitutionId": { 
            "type": "BANK_CODE",
            "value": "5051"
          },
          "countryCode": "DK", 
          "referenceNumber": null 
        }Parameter validations:
If financialInstitutionId is provided, type can be one of the following values:
BIC,
SORT_CODE,
BANK_CODE,
ABA_CODE.
If accountNumber.type is BBAN and financialInstitutionId is ABA_CODE, countryCode can be one of the following:
US (United States of America),
PR (Puerto Rico),
AS (American Samoa),
GU (Guam),
VI (Virgin Islands).
If accountNumber.type is BBAN and financialInstitutionId is SORT_CODE, countryCode is GB (Great Britain)
If payout details are not specified for a contract version, the payout will automatically be directed to the servicing account. It is not necessary to define the servicing account as the payout account in this case.
Payout details can be modified or removed. To remove payout details from an active contract version, include the following in the request:
"payoutDetails":  nullTo change the deposit contract payout details, make the following API call.
{
  "payoutDetails": {
    "name": "Test Account",
    "accountNumber": {
      "value": "EE111236525217358748",
      "type": "IBAN"
    
    }
    }
}curl --location --request PUT 'https://deposit-api.sandbox.tuumplatform.com/api/v1/contracts/ID-1696407222/versions/ID-1696407267/payout-details' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiT2ZmaWNlciBUZXN0IiwiZW1wbG95ZWVJZCI6IklELTEwMDAiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTAtMDdUMTU6MDM6MTAiLCJleHAiOjE3MjgzMTMzOTAsInJvbGVzIjpbIkFETUlOIl19.KloWEzZXTCs6u0HeijjZyqn8Wy_bzhs8hdVsfSlFvS4' \
--header 'Content-Type: application/json' \
--data '{
  "payoutDetails": {
    "name": "Test Account",
    "accountNumber": {
      "value": "EE111236525217358748",
      "type": "IBAN"
    
    }
    }
}'Below you find an example response body to the API call above.
As a result, the deposit contract payout details were updated.
There are two types of header parameters:
Mandatory. The mandatory ones ensure that only authorised API calls will receive a positive response.
Optional. The optional ones allow you to avoid duplicate calls if they are present in the request header.
You can find more information about each of the header parameter types by choosing the options:
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.
In this example, we will create a savings account linked to the currency account ID-23819.
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  
The sample request body is as follows:
Below you will find the response to the API request:
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.
Here are some tips to help you address the most common errors.
In this example, we will review how to create a currency account for a legal person and add access rights for a private person.
To create an account and set access rights, make the following call.
https://account-api.sandbox.tuumplatform.com/api/v4/persons/{personId}/accounts
Below is an example request body of the API call for creating an account and setting access rights.
Below you find an example response body to the API call above.
A new current account ID-1286 was created. The private person ID-3397 was granted all rights to the created account.
"payoutDetails": {
    "name": "Test Account",
    "accountNumber": {
      "value": "EE111236525217358748",
      "type": "IBAN""personTypeCode": "L""name": "New company Ltd""addresses":
[
    {
      "addressTypeCode": "R",
      "street1": "Carnaby 10",
      "cityCounty": "London",
      "zip": "13347",
      "countryCode": "GB"
    }
  ]"identificationNumber": {
"idNumber": "111111",
 "idCountryCode": "GB"
}"accountTypeCode": "VIRTUAL""masterAccountId": "ID-1279""personName": "Trevor Harry Tuum""customerGroupCode": "GROUP_A""priceListTypeCode": "STANDARD""residencyCountryCode": "GB""currencyCode": "GBP""accountTypeSetupCode": "STANDARD""serviceProviderCode": "TUUM""accountId": "ID-1283""statusCode": "ACTIVE""iban": "GB05XXXX04030100000462""bic": "LHVBGB2LXXX""accountTypeCode": "CURRENCY""personName": "Trevor Harry Tuum""customerGroupCode": "GROUP_A""priceListTypeCode": "STANDARD""residencyCountryCode": "GB""currencyCode": "GBP""accountId": "ID-1279""statusCode": "ACTIVE""iban": "GB72XXXX04030000000986""bic": "LHVBGB2LXXX"The legal account ID-3397.
...persons/ID-3397/accounts
The private person ID-3392 is granted all rights to the bank account of the legal person.
"representatives": [
    {
      "personId": "ID-3392",
      "accountRightCode": "ALL",curl -L 'https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3397/accounts' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMDZUMTQ6NDE6NTAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODg2NTQ1MTB9.qDVHzIowyGFM-XRG9xEktcwaA6YNf6WhPNp6yw4aTzE' \
-H 'Content-Type: application/json' \
-d '{
  "accountTypeCode": "CURRENCY",
  "personName": "Trevor Harry Tuum",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "GBP",
  "representatives": [
    {
      "personId": "ID-3392",
      "accountRightCode": "ALL",
      "limits": [
        {
          "amount": {
            "amount": "1000",
            "currencyCode": "GBP"
          },
          "accountLimitTypeCode": "DAILY"
        },
        {
          "amount": {
            "amount": "10000",
            "currencyCode": "GBP"
          },
          "accountLimitTypeCode": "MONTHLY"
        }
      ]
    }
  ]
}'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "accountId": "ID-1286",
        "personId": "ID-3397",
        "accountTypeCode": "CURRENCY",
        "activationDate": "2023-07-06",
        "accountName": null,
        "personName": "Trevor Harry Tuum",
        "statusCode": "ACTIVE",
        "iban": "GB12XXXX04030000000999",
        "bic": "LHVBGB2LXXX",
        "defaultCurrencyCode": "GBP",
        "tenantCode": "MB",
        "residencyCode": "GB",
        "customerGroupCode": "GROUP_A",
        "personTypeCode": null,
        "intraOrgCode": null,
        "accountTypeSetupCode": "STANDARD",
        "serviceProviderCode": "TUUM",
        "interestMethodAssignmentCode": null,
        "accountClassCode": null,
        "balances": [
            {
                "balanceId": "ID-1213",
                "accountId": "ID-1286",
                "currencyCode": "GBP",
                "balanceAmount": 0.00,
                "reservedAmount": 0.00,
                "overdraftLimitAmount": 0.00,
                "defaultCurrencyCode": "GBP",
                "availableBalanceInDefaultCcy": 0.00,
                "negativeBalanceStartDate": null,
                "availableBalanceAmount": 0.00
            }
        ],
        "masterAccountId": null,
        "accountNumbers": [
            {
                "accountNumber": {
                    "value": "00000999",
                    "type": "BBAN"
                },
                "countryCode": "GB",
                "financialInstitutionId": {
                    "value": "040300",
                    "type": "SORT_CODE"
                },
                "defaultCurrencyCode": "GBP",
                "accountNumberId": "ID-1145",
                "accountId": "ID-1286",
                "financialInstitutionIdTypeCode": null,
                "statusCode": "ENABLED"
            }
        ],
        "taxResidencyCountryCode": "GB",
        "jurisdictionCountryCode": "GB"
    }
}o{
  "accountTypeCode": "CURRENCY",
  "personName": "Trevor Harry Tuum",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "GBP",
  "representatives": [
    {
      "personId": "ID-3392",
      "accountRightCode": "ALL",
      "limits": [
        {
          "amount": {
            "amount": "1000",
            "currencyCode": "GBP"
          },
          "accountLimitTypeCode": "DAILY"
        },
        {
          "amount": {
            "amount": "10000",
            "currencyCode": "GBP"
          },
          "accountLimitTypeCode": "MONTHLY"
        }
      ]
    }
  ]
}DAILY
No value allowed (null)
WEEKLY
Day of the week (1=Monday to 7=Sunday)
MONTHLY
Day of the month (1 to 31)
The savings account will be created for the currency account ID-23819.
...accounts/ID-23819/savingsThe 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.1The 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"
  }{
  "savingName": "Emergency savings",
  "savingEndDate": "2040-05-18",
  "currencyCode": "EUR",
  "interestRate": 3.1,
  "savingAmount": "1000",
  "initialAmount": "10",
  "savingOrder": {
    "savingDay": 1,
    "amount": "50",
    "paymentFrequencyCode": "MONTHLY"
  }
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v3/accounts/ID-23819/savings' \
-H 'x-tenant-code: MB' \
-H 'Accept-Language: en' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidGVzdGkgdGVzdCIsImVtcGxveWVlSWQiOiJJRC0xNDE3IiwidGVuYW50Q29kZSI6Ik1CIiwiZXhwaXJ5RFRpbWUiOiIyMDI1LTEwLTE0VDA4OjE2OjU2IiwiZXhwIjoxNzYwNDI5ODE2LCJyb2xlcyI6WyJBRE1JTiIsIlNZU1RFTSJdfQ.u--2o-oNtxOL4Ag_DrX8QV-LYNQzAdU-2RRTYlbKeHk' \
-H 'Content-Type: application/json' \
-d '{
  "savingName": "Emergency savings",
  "savingEndDate": "2040-05-18",
  "currencyCode": "EUR",
  "interestRate": 3.1,
  "savingAmount": "1000",
  "initialAmount": "10",
  "savingOrder": {
    "savingDay": 1,
    "amount": "50",
    "paymentFrequencyCode": "MONTHLY"
  }
}'{
    "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"
                }
            }
        ]
    }
}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.
DAILY
No value allowed (null)
WEEKLY
Day of the week (1=Monday to 7=Sunday)
MONTHLY
Day of the month (1 to 31)
In this scenario, we will create a domestic US payment - ACC2LOCAL payment type.
Our party details gives the information about the sender of the payment. 
In this example, the payment is initialised from the Tuum bank account with 190021824474 BBAN.
The payer's account country is the USA. Note: the payer's bank account financial institution id is the ABA Routing number.
Counterparty details.
The payer's account country is the USA. Note: the payer's bank account financial institution id is the ABA Routing number.
Payment amount and currency.
Payment details.
The payment also includes payment steering data, such as usageLimitCode. Note: the usageLimitCode is an optional parameter.
To initialise the payment, use the following endpoint:
https://payment-api.sandbox.tuumplatform.com/api/v3/payments/initialise
The sample request body is as follows:
{
    "paymentParties": [
        {
            "typeCode": "OUR_PARTY",
            "accountNumber": {
                "value": "190021824474",
                "type": "BBAN"
            },
            "accountNumberCountryCode": "US",
            "financialInstitutionId": "021000018"
        },
        {
            "typeCode": "COUNTERPARTY",
            "name": "Robert Receiver",
            "accountNumber": {
                "value": "231123456789",
                "type": "BBAN"
            },
            "accountNumberCountryCode": "US",
            "financialInstitutionId": "021000322"
        }
    ],
    "money": {
        "amount": 17,
        "currencyCode": "USD"
    },
    "details": "Test payment with both parties with BBAN for domestic US payment",
    "usageLimitCode": "test"
}curl --location 'https://payment-api.sandbox.tuumplatform.com/api/v3/payments/initialise' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTItMDVUMTM6NDM6MTAiLCJleHAiOjE3MzM0MDYxOTAsInJvbGVzIjpbIkFETUlOIiwiUE9TVElOR1NfVEVBTSJdfQ.03a1hgsWy3yZxxKXl-TpIatf4XAllaA0dquZH4U8a0E' \
--header 'Content-Type: application/json' \
--data '{
    "paymentParties": [
        {
            "typeCode": "OUR_PARTY",
            "accountNumber": {
                "value": "190021824474",
                "type": "BBAN"
            },
            "accountNumberCountryCode": "US",
            "financialInstitutionId": "021000018"
        },
        {
            "typeCode": "COUNTERPARTY",
            "name": "Robert Receiver",
            "accountNumber": {
                "value": "231123456789",
                "type": "BBAN"
            },
            "accountNumberCountryCode": "US",
            "financialInstitutionId": "021000322"
        }
    ],
    "money": {
        "amount": 17,
        "currencyCode": "USD"
    },
    "details": "Test payment with both parties with BBAN for domestic US payment",
    "usageLimitCode": "test"
}'Below you will find the response to the sample request:
The draft payment has been created with a paymentId: PAYM-21726 and the statusCode: INSERTED.
After creating a draft payment, you have the following options:
Change the draft payment - modify the draft payment.
Cancel the draft payment - discard the draft payment if it is no longer required.
Confirm the draft payment - complete payment to initiate further payment processing.
In this scenario, we will create an outgoing SEPA payment - ACC2SEPA payment type.
Our party details gives the information about the sender of the payment. In this example, the payment is initialised from the Tuum account ID-4184.
Counterparty details.
Payment amount and currency.
Payment details.
The payment also includes payment steering data, such as valueDate and ourFee. Note: the valueDate and ourFee parameters are optional.
To initialise the payment, use the following endpoint:
https://payment-api.sandbox.tuumplatform.com/api/v3/payments/initialise
The sample request body is as follows:
{
    "paymentParties": [
        {
            "typeCode": "OUR_PARTY",
            "accountId": "ID-4184"
        },
        {
            "typeCode": "COUNTERPARTY",
            "name": "Robert Receiver",
            "accountNumber": {
                "value": "EE871275295834652820",
                "type": "IBAN"
            }
        }
    ],
    "money": {
        "amount": 25,
        "currencyCode": "EUR"
    },
    "details": "Test payment with our party accountId",
    "valueDate" : "2024-12-04",
    "ourFee": {
         "amount": 1.22,
         "currencyCode": "EUR"
  }
}curl --location 'https://payment-api.sandbox.tuumplatform.com/api/v3/payments/initialise' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTItMDRUMTQ6MjY6MTkiLCJleHAiOjE3MzMzMjIzNzksInJvbGVzIjpbIkFETUlOIl19.X1C4fpzVoXZnbicLPFW7izPPRLKGs-wGw6xoETGAypE' \
--header 'Content-Type: application/json' \
--data '{
    "paymentParties": [
        {
            "typeCode": "OUR_PARTY",
            "accountId": "ID-4184"
        },
        {
            "typeCode": "COUNTERPARTY",
            "name": "Robert Receiver",
            "accountNumber": {
                "value": "EE871275295834652820",
                "type": "IBAN"
            }
        }
    ],
    "money": {
        "amount": 25,
        "currencyCode": "EUR"
    },
    "details": "Test payment with our party accountId",
    "valueDate" : "2024-12-04",
    "ourFee": {
         "amount": 1.22,
         "currencyCode": "EUR"
  }
}'Below you will find the response to the sample request:
The draft payment has been created with a paymentId: PAYM-32706 and the statusCode: INSERTED.
After creating a draft payment, you have the following options:
Change the draft payment - modify the draft payment.
Cancel the draft payment - discard the draft payment if it is no longer required.
Confirm the draft payment - complete payment to initiate further payment processing.
We will create a new account for a person by making the following API call.
POST https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3419/accounts
Below is an example request body of the API call for creating an account.
As a result, a new account with accountId: ID-1292 was created and activated.
We will make the API call again without changing the request ID and using the same request data.
The response we received is identical to the initial call, confirming the creation of the account with the ID-1292. No new account was created.
We will repeat the API call using the same request ID but with updated request data. We will change the currency from GBP to USD.
Below is an example request body for creating an account with the updated currency.
As a result, no new account is created. However, the account currency on the existing account ID-1292is updated to USD as requested.
If you make multiple POST calls to the same API endpoint using the same value for the x-request-id header parameter, all subsequent calls will receive the same response as the initial call. This principle also holds even if you use different data in the request body of a repeated request.
Hello, and welcome to the Tuum API cookbooks. Here you can get detailed instructions on how to use Tuum API endpoints to achieve your desired outcome. It is a complementary page to the .
We have organised API cookbooks by grouping them per business domain. So, for example, you can find detailed instructions about authentication-related use cases in the authentication group, account-related ones in the account group and payment-related in the payment group. Just proceed to any cookbook to get the left-hand menu with all cookbooks displayed to find the one of your interest.
Here you can find the shortcuts to the API recipes:
In this example, we will show how to set up person representation. We will set a private person Trevor Tuum as a representative of the legal person, New company Ltd.
To set the representation rights, call the following endpoint.
 
https://person-api.sandbox.tuumplatform.com/api/v1/persons/{personId}/relations
Below is an example request body of the API call for creating person representation.
Below you will find an example response to the API call from above.
A new person relationship is created:
In this scenario, we will initialise an outgoing SWIFT (cross border) payment to a counterparty account with an IBAN and some sample data - ACC2SWIFT payment type.
To initialise the payment, use the following endpoint:
https://payment-api.sandbox.tuumplatform.com/api/v3/payments/initialise
The sample request body is as follows:
Below you will find the response to the sample request:
The draft payment has been created with a paymentId: PAYM-21846 and the statusCode: INSERTED.
After creating a draft payment, you have the following options:
- modify the draft payment.
- discard the draft payment if it is no longer required.
- complete payment to initiate further payment processing.
The personId of the New company Ltd is ID-3394.
...persons/ID-3394/relations
The identification number of the private person Trevor Tuum is DQ654327C.
"idNumber": "DQ654327C"The private person is registered in the Great Britain.
"idCountryCode": "GB"The private person is the representative of the New company Ltd.
 "relationTypeCode": "REPRESENTATIVE"The representation is in active status.
"statusCode": "ACTIVE"The private person is the beneficiary owner of the company. Note: If the private person is not a benificiary owner of the company, set to false.
"beneficiary": trueThe representation validity period. The date format: YYYY-MM-DD.
"representingRange": {
        "startDate": "2023-06-06",
        "endDate": "2023-06-13"
      }{
  "relationships": [
    {
      "idNumber": "DQ654327C",
      "idCountryCode": "GB",
      "relationTypeCode": "REPRESENTATIVE",
      "statusCode": "ACTIVE",
      "beneficiary": true,
      "representingRange": {
        "startDate": "2023-06-06",
        "endDate": "2023-06-13"
      }
    }
  ]
}curl 'https://person-api.sandbox.tuumplatform.com/api/v1/persons/ID-3394/relations' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDYtMTNUMjM6MDc6NDAiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODY2OTc2NjB9.Tt708jxWsjUQPurWItoY9QVqa2tb5PbnFBV-8voVRxY' \
-H 'Content-Type: application/json' \
-d '{
  "relationships": [
    {
      "idNumber": "DQ654327C",
      "idCountryCode": "GB",
      "relationTypeCode": "REPRESENTATIVE",
      "statusCode": "ACTIVE",
      "beneficiary": true,
      "representingRange": {
        "startDate": "2023-06-06",
        "endDate": "2023-06-13"
      }
    }
  ]
}'
```{
    "errors": null,
    "validationErrors": null,
    "data": [
        {
            "personRelationshipId": "ID-1003",
            "parentPersonId": "ID-3394",
            "personId": "ID-3392",
            "relationTypeCode": "REPRESENTATIVE",
            "statusCode": "ACTIVE",
            "role": null,
            "percentageOfShares": null,
            "percentageOfSignature": null,
            "beneficiary": true,
            "representingRange": {
                "startDate": "2023-06-06",
                "endDate": "2023-06-13"
            },
            "additionalData": null,
            "validityRange": {
                "startTime": "2023-06-14T21:32:09.684826Z",
                "endTime": null
            },
            "parentIdNumber": null,
            "personIdNumber": null,
            "parent": {
                "personId": "ID-3394",
                "personTypeCode": "L",
                "statusCode": "ACTIVE",
                "statusCodeReason": null,
                "name": "New company Ltd",
                "givenName": null,
                "middleName": null,
                "surname": null,
                "birthDate": null,
                "creationDate": "2023-06-13",
                "deathDate": null,
                "liquidationDate": null,
                "inactivationDate": null,
                "registrationDate": null,
                "sex": null,
                "email": null,
                "customerTypeCode": null,
                "nationality": null,
                "taxResidencyCountry": null,
                "placeOfBirth": null,
                "countryOfBirth": null,
                "phoneCountryCode": null,
                "phoneNumber": null,
                "idNumber": "120045",
                "idCountryCode": "GB",
                "residencyCountryCode": null,
                "language": null,
                "educationCode": null,
                "activityCode": null,
                "housingTypeCode": null,
                "buildingTypeCode": null,
                "moveInDate": null,
                "maritalStatusCode": null,
                "dependantPersons": null,
                "employmentTimeCode": null,
                "fixedEmploymentLength": null,
                "businessAreaCode": null,
                "intraOrgCode": null,
                "tradingName": null,
                "webAddress": null,
                "pepExplanation": null,
                "legalForm": null,
                "businessModelDescription": null,
                "counterpartySectorCode": null,
                "forgotten": null,
                "usResident": false,
                "pep": false,
                "source": null,
                "tenantCode": "MB",
                "fullName": "New company Ltd"
            },
            "person": {
                "personId": "ID-3392",
                "personTypeCode": "P",
                "statusCode": "ACTIVE",
                "statusCodeReason": null,
                "name": null,
                "givenName": "Trevor",
                "middleName": "Harry",
                "surname": "Tuum",
                "birthDate": null,
                "creationDate": "2023-06-01",
                "deathDate": null,
                "liquidationDate": null,
                "inactivationDate": null,
                "registrationDate": null,
                "sex": null,
                "email": null,
                "customerTypeCode": null,
                "nationality": null,
                "taxResidencyCountry": null,
                "placeOfBirth": "Alabama",
                "countryOfBirth": null,
                "phoneCountryCode": null,
                "phoneNumber": null,
                "idNumber": "DQ654327C",
                "idCountryCode": "GB",
                "residencyCountryCode": null,
                "language": null,
                "educationCode": null,
                "activityCode": null,
                "housingTypeCode": null,
                "buildingTypeCode": null,
                "moveInDate": null,
                "maritalStatusCode": null,
                "dependantPersons": null,
                "employmentTimeCode": null,
                "fixedEmploymentLength": null,
                "businessAreaCode": null,
                "intraOrgCode": null,
                "tradingName": null,
                "webAddress": null,
                "pepExplanation": null,
                "legalForm": null,
                "businessModelDescription": null,
                "counterpartySectorCode": null,
                "forgotten": null,
                "usResident": false,
                "pep": false,
                "source": null,
                "tenantCode": "MB",
                "fullName": "Trevor Tuum"
            }
        }
    ]
}
```"personRelationshipId": "ID-1003"The code ID-1003 is a unique identifier of the person relationship between a legal and a private person.
"parentPersonId": "ID-3394",
"personId": "ID-3392",
"relationTypeCode": "REPRESENTATIVE"A legal person (New company Ltd) was set as a parent person. And a private person (Trevor Tuum) was added as a company representative.
{
    "errors": null,
    "validationErrors": null,
    "data": {
        "accountId": "ID-1292",
        "personId": "ID-3419",
        "accountTypeCode": "CURRENCY",
        "activationDate": "2023-08-04",
        "accountName": null,
        "personName": "Eleanor Rigby",
        "statusCode": "ACTIVE",
        "iban": "GB76XXXX04030000001011",
        "bic": "LHVBGB2LXXX",
        "defaultCurrencyCode": "GBP",
        "tenantCode": "MB",
        "residencyCode": "GB",
        "customerGroupCode": "GROUP_A",
        "personTypeCode": null,
        "intraOrgCode": null,
        "accountTypeSetupCode": "STANDARD",
        "serviceProviderCode": "TUUM",
        "interestMethodAssignmentCode": null,
        "accountClassCode": null,
        "balances": [
            {
                "balanceId": "ID-1221",
                "accountId": "ID-1292",
                "currencyCode": "GBP",
                "balanceAmount": 0.00,
                "reservedAmount": 0.00,
                "overdraftLimitAmount": 0.00,
                "defaultCurrencyCode": "GBP",
                "availableBalanceInDefaultCcy": 0.00,
                "negativeBalanceStartDate": null,
                "availableBalanceAmount": 0.00
            }
        ],
        "masterAccountId": null,
        "accountNumbers": [
            {
                "accountNumber": {
                    "value": "00001011",
                    "type": "BBAN"
                },
                "countryCode": "GB",
                "financialInstitutionId": {
                    "value": "040300",
                    "type": "SORT_CODE"
                },
                "defaultCurrencyCode": "GBP",
                "accountNumberId": "ID-1147",
                "accountId": "ID-1292",
                "financialInstitutionIdTypeCode": null,
                "statusCode": "ENABLED"
            }
        ],
        "taxResidencyCountryCode": "GB",
        "jurisdictionCountryCode": "GB"
    }
}{
  "accountTypeCode": "CURRENCY",
  "personName": "Eleanor Rigby",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "USD"
}curl 'https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3419/accounts' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDgtMDRUMTE6MjM6MjUiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTExNDgyMDV9.1lnY03GWnnGdki0uJlkNNSMydwiWv_jsdII10PKPUkA' \
-H 'x-request-id: eb1d4135-bca1-4612-aa83-29637830fe37' \
-H 'Content-Type: application/json' \
-d '{
  "accountTypeCode": "CURRENCY",
  "personName": "Eleanor Rigby",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "USD"
}'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "accountId": "ID-1292",
        "personId": "ID-3419",
        "accountTypeCode": "CURRENCY",
        "activationDate": "2023-08-04",
        "accountName": null,
        "personName": "Eleanor Rigby",
        "statusCode": "ACTIVE",
        "iban": "GB76XXXX04030000001011",
        "bic": "LHVBGB2LXXX",
        "defaultCurrencyCode": "GBP",
        "tenantCode": "MB",
        "residencyCode": "GB",
        "customerGroupCode": "GROUP_A",
        "personTypeCode": null,
        "intraOrgCode": null,
        "accountTypeSetupCode": "STANDARD",
        "serviceProviderCode": "TUUM",
        "interestMethodAssignmentCode": null,
        "accountClassCode": null,
        "balances": [
            {
                "balanceId": "ID-1221",
                "accountId": "ID-1292",
                "currencyCode": "GBP",
                "balanceAmount": 0.00,
                "reservedAmount": 0.00,
                "overdraftLimitAmount": 0.00,
                "defaultCurrencyCode": "GBP",
                "availableBalanceInDefaultCcy": 0.00,
                "negativeBalanceStartDate": null,
                "availableBalanceAmount": 0.00
            }
        ],
        "masterAccountId": null,
        "accountNumbers": [
            {
                "accountNumber": {
                    "value": "00001011",
                    "type": "BBAN"
                },
                "countryCode": "GB",
                "financialInstitutionId": {
                    "value": "040300",
                    "type": "SORT_CODE"
                },
                "defaultCurrencyCode": "GBP",
                "accountNumberId": "ID-1147",
                "accountId": "ID-1292",
                "financialInstitutionIdTypeCode": null,
                "statusCode": "ENABLED"
            }
        ],
        "taxResidencyCountryCode": "GB",
        "jurisdictionCountryCode": "GB"
    }
}curl 'https://account-api.sandbox.tuumplatform.com/api/v4/persons/ID-3419/accounts' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDgtMDRUMTE6MjM6MjUiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2OTExNDgyMDV9.1lnY03GWnnGdki0uJlkNNSMydwiWv_jsdII10PKPUkA' \
-H 'x-request-id: eb1d4135-bca1-4612-aa83-29637830fe37' \
-H 'Content-Type: application/json' \
-d '{
  "accountTypeCode": "CURRENCY",
  "personName": "Eleanor Rigby",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "GBP"
}'{
  "accountTypeCode": "CURRENCY",
  "personName": "Eleanor Rigby",
  "customerGroupCode": "GROUP_A",
  "priceListTypeCode": "STANDARD",
  "residencyCountryCode": "GB",
  "currencyCode": "GBP"
}{
    "errors": null,
    "validationErrors": null,
    "data": {
        "accountId": "ID-1292",
        "personId": "ID-3419",
        "accountTypeCode": "CURRENCY",
        "activationDate": "2023-08-04",
        "accountName": null,
        "personName": "Eleanor Rigby",
        "statusCode": "ACTIVE",
        "iban": "GB76XXXX04030000001011",
        "bic": "LHVBGB2LXXX",
        "defaultCurrencyCode": "GBP",
        "tenantCode": "MB",
        "residencyCode": "GB",
        "customerGroupCode": "GROUP_A",
        "personTypeCode": null,
        "intraOrgCode": null,
        "accountTypeSetupCode": "STANDARD",
        "serviceProviderCode": "TUUM",
        "interestMethodAssignmentCode": null,
        "accountClassCode": null,
        "balances": [
            {
                "balanceId": "ID-1221",
                "accountId": "ID-1292",
                "currencyCode": "GBP",
                "balanceAmount": 0.00,
                "reservedAmount": 0.00,
                "overdraftLimitAmount": 0.00,
                "defaultCurrencyCode": "GBP",
                "availableBalanceInDefaultCcy": 0.00,
                "negativeBalanceStartDate": null,
                "availableBalanceAmount": 0.00
            }
        ],
        "masterAccountId": null,
        "accountNumbers": [
            {
                "accountNumber": {
                    "value": "00001011",
                    "type": "BBAN"
                },
                "countryCode": "GB",
                "financialInstitutionId": {
                    "value": "040300",
                    "type": "SORT_CODE"
                },
                "defaultCurrencyCode": "GBP",
                "accountNumberId": "ID-1147",
                "accountId": "ID-1292",
                "financialInstitutionIdTypeCode": null,
                "statusCode": "ENABLED"
            }
        ],
        "taxResidencyCountryCode": "GB",
        "jurisdictionCountryCode": "GB"
    }
}{
  "typeCode": "OUR_PARTY",
  "accountNumber": {
       "value": "190021824474",
       "type":
            }"accountNumberCountryCode": "US",
"financialInstitutionId": "021000018""typeCode": "COUNTERPARTY",
"name": "Robert Receiver",
"accountNumber": {
     "value": "231123456789",
     "type": "BBAN""accountNumberCountryCode": "US",
"financialInstitutionId": "021000322" "money": {
        "amount": 17,
        "currencyCode": "USD"
    }"details": "Test payment with both parties with BBAN for domestic US payment" "usageLimitCode": "test""typeCode": "OUR_PARTY",
"accountId": "ID-4184"{
  "typeCode": "COUNTERPARTY",
  "name": "Robert Receiver",
  "accountNumber": {
         "value": "EE871275295834652820",
         "type": "IBAN"
           }"money": {
    "amount": "25",
    "currencyCode": "EUR"  }"details": "Test payment with our party accountId" "valueDate" : "2024-12-04",
    "ourFee": {
         "amount": 1.22,
         "currencyCode": "EUR"Our party details gives the information about the sender of the payment. In this example, the payment is initialised from the Tuum account ID-1887.
 "typeCode": "OUR_PARTY",
 "accountId": "ID-1887"Counterparty details.
 "typeCode": "COUNTERPARTY",
 "name": "Ben Eficiary",
 "accountNumber": {
     "value": "EE871275295834652820",
     "type": "IBAN"Payment amount.
"money": {
    "amount": "10",
    "currencyCode": "DKK"  }Payment details.
"details": "Lunch payment"The payment also includes additional transferable data, such as chargeBearer and endToEndId. Note: the chargeBearer and endToEndId parameters are optional.
"endToEndId": "20240103-E000003",
"chargeBearer": "DEBT"curl --location 'https://payment-api.sandbox.tuumplatform.com/api/v3/payments/initialise' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTItMDZUMTM6Mjc6MzUiLCJleHAiOjE3MzM0OTE2NTUsInJvbGVzIjpbIkFETUlOIiwiUE9TVElOR1NfVEVBTSJdfQ.r4Efnh8m_waGXaTRBQDLhLDb2M6no_SRJpZCGPoO6K8' \
--header 'Content-Type: application/json' \
--data '{
    "paymentParties": [
        {
            "typeCode": "OUR_PARTY",
            "accountId": "ID-21508"
        },
        {
            "typeCode": "COUNTERPARTY",
            "name": "Ben Eficiary",
            "accountNumber": {
                "value": "EE871275295834652820",
                "type": "IBAN"
            },
            "financialInstitutionId": "PARXEE22XXX",
            "address": {
                "street1": "First street 123",
                "street2": "Second street 321",
                "cityCounty": "Some city",
                "zip": "06777",
                "countryCode": "EE"
            }
        }
    ],
    "money": {
        "amount": 1,
        "currencyCode": "DKK"
    },
    "details": "Test payment",
    "endToEndId": "20240103-E000003",
    "chargeBearer": "DEBT"
}'{
    "errors": null,
    "validationErrors": null,
    "data": {
        "paymentId": "PAYM-21846",
        "accountId": "ID-21508",
        "directionCode": "OUT",
        "statusCode": "INSERTED",
        "errorCode": null,
        "money": {
            "amount": 1.00,
            "currencyCode": "DKK"
        },
        "details": "Test payment",
        "referenceNumber": null,
        "source": null,
        "contractSource": null,
        "endToEndId": "20240103-E000003",
        "valueDate": "2029-12-02",
        "postingDate": "2029-12-02",
        "insertedDateTime": "2024-12-06T12:41:45.629822Z",
        "paymentServiceProviderCode": "SWIFT",
        "paymentTypeCode": "ACC2SWIFT",
        "preferredPaymentScheme": null,
        "selectedPaymentScheme": null,
        "chargeBearer": "DEBT",
        "settlementStatusCode": null,
        "settlementErrorCode": null,
        "settlementDate": null,
        "settlementPaymentScheme": null,
        "returnStatusCode": null,
        "returnReason": null,
        "returnComment": null,
        "returnSettlementDate": null,
        "cancellationRequestStatusCode": null,
        "cancelRefuseReason": null,
        "cancelReason": null,
        "amlDeclineReason": null,
        "amlMonitoringEnabled": null,
        "lastStatusRequestDate": null,
        "residencyCountryCode": "EE",
        "counterpartyOriginalIban": null,
        "fxPaymentFlag": false,
        "fxPayment": null,
        "paymentParties": [
            {
                "paymentPartyId": "PAYM-57584",
                "typeCode": "COUNTERPARTY",
                "name": "Ben Eficiary",
                "personTypeCode": null,
                "givenName": null,
                "surname": null,
                "accountNumber": {
                    "value": "EE871275295834652820",
                    "type": "IBAN"
                },
                "accountNumberSubtype": null,
                "accountNumberCountryCode": "EE",
                "financialInstitutionId": {
                    "value": "PARXEE22XXX",
                    "type": "BIC"
                },
                "address": {
                    "street1": "First street 123",
                    "street2": "Second street 321",
                    "cityCounty": "Some city",
                    "stateRegion": null,
                    "zip": "06777",
                    "countryCode": "EE",
                    "addressLine": "First street 123, Second street 321, Some city, EE, 06777",
                    "addressTypeCode": null
                },
                "roleCode": "BENEFICIARY",
                "partyIdentification": null
            },
            {
                "paymentPartyId": "PAYM-57585",
                "typeCode": "OUR_PARTY",
                "name": "Test Payer",
                "personTypeCode": "P",
                "givenName": null,
                "surname": null,
                "accountNumber": {
                    "value": "XX46XXXX99999000000000000111011",
                    "type": "IBAN"
                },
                "accountNumberSubtype": null,
                "accountNumberCountryCode": "XX",
                "financialInstitutionId": {
                    "value": "ICECLOUDXXX",
                    "type": "BIC"
                },
                "address": {
                    "street1": "Tartu mnt 32-25",
                    "street2": null,
                    "cityCounty": "Harjumaa",
                    "stateRegion": "Tallinn",
                    "zip": "10115",
                    "countryCode": "EE",
                    "addressLine": "Tartu mnt 32-25, Harjumaa, EE, 10115",
                    "addressTypeCode": null
                },
                "roleCode": "PAYER",
                "partyIdentification": {
                    "identificationTypeCode": "NATIONAL_IDENTIFICATION_NUMBER",
                    "identificationValue": "314-494-5904"
                }
            }
        ],
        "fees": [],
        "paymentSchemeElements": [],
        "fileImportLineNumber": null,
        "purposeCode": null,
        "labels": [
            "COUNTERPARTY_EE"
        ]
    }
}{
    "paymentParties": [
        {
            "typeCode": "OUR_PARTY",
            "accountId": "ID-21508"
        },
        {
            "typeCode": "COUNTERPARTY",
            "name": "Ben Eficiary",
            "accountNumber": {
                "value": "EE871275295834652820",
                "type": "IBAN"
            },
            "financialInstitutionId": "PARXEE22XXX",
            "address": {
                "street1": "First street 123",
                "street2": "Second street 321",
                "cityCounty": "Some city",
                "zip": "06777",
                "countryCode": "EE"
            }
        }
    ],
    "money": {
        "amount": 1,
        "currencyCode": "DKK"
    },
    "details": "Test payment",
    "endToEndId": "20240103-E000003",
    "chargeBearer": "DEBT"
}In this scenario, we will create a domestic UK payment from Tuum BC (Banking Circle) UK account to another UK account. In this case, the payment will be created with the ACC2LOCAL payment type.
Our party details give the information about the sender of the payment. 
In this example, the payment is initialised from the Tuum bank account with 21824474 BBAN.
The payer's account country is the UK. Note: the payer's bank account financial institution id is the bank's sort code.
Counterparty details.
The payment receiver account country is the UK. Note: the payment receiver financial institution id is the bank's sort code.
Payment amount and currency.
Payment details.
The payment also includes non-transferrable data, such as contractSource. Note: the contractSource parameter is optional.
To initialise the payment, use the following endpoint:
https://payment-api.sandbox.tuumplatform.com/api/v3/payments/initialise
The sample request body is as follows:
{
    "paymentParties": [
        {
            "typeCode": "OUR_PARTY",
            "accountNumber": {
                "value": "21824474",
                "type": "BBAN"
            },
            "accountNumberCountryCode": "GB",
            "financialInstitutionId": "608382"
        },
        {
            "typeCode": "COUNTERPARTY",
            "name": "Robert Receiver",
            "accountNumber": {
                "value": "00001781",
                "type": "BBAN"
            },
            "accountNumberCountryCode": "GB",
            "financialInstitutionId": "040300"
        }
    ],
    "money": {
        "amount": 15,
        "currencyCode": "GBP"
    },
    "details": "Test payment with both parties with BBAN for domestic UK payment",
    "contractSource": {
    "sourceName": "Test System",
    "sourceRef": "1234",
    "contractNumber": "test"
  }
}curl --location 'https://payment-api.sandbox.tuumplatform.com/api/v3/payments/initialise' \
--header 'x-channel-code: SYSTEM' \
--header 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHBpcnlEVGltZSI6IjIwMjQtMTItMDVUMTM6MTA6MDciLCJleHAiOjE3MzM0MDQyMDcsInJvbGVzIjpbIkFETUlOIiwiUE9TVElOR1NfVEVBTSJdfQ.T2c1I6mazgGm2gT6p3lqaXxb2qj9OTPiluP5XnJr0zU' \
--header 'Content-Type: application/json' \
--data '{
    "paymentParties": [
        {
            "typeCode": "OUR_PARTY",
            "accountNumber": {
                "value": "21824474",
                "type": "BBAN"
            },
            "accountNumberCountryCode": "GB",
            "financialInstitutionId": "608382"
        },
        {
            "typeCode": "COUNTERPARTY",
            "name": "Robert Receiver",
            "accountNumber": {
                "value": "00001781",
                "type": "BBAN"
            },
            "accountNumberCountryCode": "GB",
            "financialInstitutionId": "040300"
        }
    ],
    "money": {
        "amount": 15,
        "currencyCode": "GBP"
    },
    "details": "Test payment with both parties with BBAN for domestic UK payment",
    "contractSource": {
    "sourceName": "Test System",
    "sourceRef": "1234",
    "contractNumber": "test"
  }
}'Below you will find the response to the sample request:
The draft payment has been created with a paymentId: PAYM-21826 and the statusCode: INSERTED.
After creating a draft payment, you have the following options:
Change the draft payment - modify the draft payment.
Cancel the draft payment - discard the draft payment if it is no longer required.
Confirm the draft payment - complete payment to initiate further payment processing.
In this example we will review how to find existing accounts by personId.
To find person accounts, make the following API call.
https://account-api.sandbox.tuumplatform.com/api/v5/persons/{personId}/accounts
GET https://account-api.sandbox.tuumplatform.com/api/v5/persons/{personId}/accounts
See more information about this in the Tuum developer portal.
Below is the example request of the call for finding person accounts.
Below you find an example response body to the API call above.
The person account information is fetched.
Searching for accounts that belong to the person ID-3392.
...persons/ID-3392/accounts...
Requesting to display the search results on the first page; the page size is 5.
...?pageNumber=1&pageSize=5
{
    "errors": null,
    "validationErrors": null,
    "data": {
        "values": [
            {
                "accountId": "ID-1283",
                "personId": "ID-3392",
                "accountTypeCode": "VIRTUAL",
                "activationDate": "2023-06-26",
                "accountName": null,
                "personName": "Trevor Harry Tuum",
                "statusCode": "ACTIVE",
                "iban": "GB05XXXX04030100000462",
                "bic": "LHVBGB2LXXX",
                "defaultCurrencyCode": "GBP",
                "tenantCode": "MB",
                "residencyCode": "GB",
                "customerGroupCode": "GROUP_B",
                "personTypeCode": null,
                "intraOrgCode": null,
                "accountTypeSetupCode": "STANDARD",
                "serviceProviderCode": "TUUM",
                "interestMethodAssignmentCode": null,
                "accountClassCode": null,
                "balances": [],
                "masterAccountId": "ID-1279",
                "accountNumbers": [
                    {
                        "accountNumber": {
                            "value": "00000462",
                            "type": "BBAN"
                        },
                        "countryCode": "GB",
                        "financialInstitutionId": {
                            "value": "040301",
                            "type": "SORT_CODE"
                        },
                        "defaultCurrencyCode": "GBP",
                        "accountNumberId": "ID-1144",
                        "accountId": "ID-1283",
                        "financialInstitutionIdTypeCode": null,
                        "statusCode": "ENABLED"
                    }
                ],
                "taxResidencyCountryCode": "GB",
                "jurisdictionCountryCode": "GB"
            },
            {
                "accountId": "ID-1282",
                "personId": "ID-3392",
                "accountTypeCode": "INTERNAL",
                "activationDate": "2023-06-26",
                "accountName": null,
                "personName": "Trevor Harry Tuum",
                "statusCode": "ACTIVE",
                "iban": "XX54XXXX99999000000000000001257",
                "bic": "ICECLOUDXXX",
                "defaultCurrencyCode": "EUR",
                "tenantCode": "MB",
                "residencyCode": "GB",
                "customerGroupCode": "INTERNAL",
                "personTypeCode": null,
                "intraOrgCode": null,
                "accountTypeSetupCode": "STANDARD",
                "serviceProviderCode": "TUUM",
                "interestMethodAssignmentCode": null,
                "accountClassCode": null,
                "balances": [
                    {
                        "balanceId": "ID-1209",
                        "accountId": "ID-1282",
                        "currencyCode": "EUR",
                        "balanceAmount": 0.00,
                        "reservedAmount": 0.00,
                        "overdraftLimitAmount": 0.00,
                        "defaultCurrencyCode": "EUR",
                        "availableBalanceInDefaultCcy": 0.00,
                        "negativeBalanceStartDate": null,
                        "availableBalanceAmount": 0.00
                    }
                ],
                "masterAccountId": null,
                "accountNumbers": [],
                "taxResidencyCountryCode": "GB",
                "jurisdictionCountryCode": "GB"
            },
            {
                "accountId": "ID-1281",
                "personId": "ID-3392",
                "accountTypeCode": "INTERNAL",
                "activationDate": "2023-06-26",
                "accountName": "Internal BO",
                "personName": "Trevor",
                "statusCode": "ACTIVE",
                "iban": "XX17XXXX99999000000000000001244",
                "bic": "ICECLOUDXXX",
                "defaultCurrencyCode": "EUR",
                "tenantCode": "MB",
                "residencyCode": "GB",
                "customerGroupCode": "INTERNAL",
                "personTypeCode": "P",
                "intraOrgCode": null,
                "accountTypeSetupCode": "STANDARD",
                "serviceProviderCode": "TUUM",
                "interestMethodAssignmentCode": null,
                "accountClassCode": null,
                "balances": [
                    {
                        "balanceId": "ID-1208",
                        "accountId": "ID-1281",
                        "currencyCode": "EUR",
                        "balanceAmount": 0.00,
                        "reservedAmount": 0.00,
                        "overdraftLimitAmount": 0.00,
                        "defaultCurrencyCode": "EUR",
                        "availableBalanceInDefaultCcy": 0.00,
                        "negativeBalanceStartDate": null,
                        "availableBalanceAmount": 0.00
                    }
                ],
                "masterAccountId": null,
                "accountNumbers": [],
                "taxResidencyCountryCode": "GB",
                "jurisdictionCountryCode": "GB"
            },
            {
                "accountId": "ID-1279",
                "personId": "ID-3392",
                "accountTypeCode": "CURRENCY",
                "activationDate": "2023-06-19",
                "accountName": null,
                "personName": "Trevor Harry Tuum",
                "statusCode": "ACTIVE",
                "iban": "GB72XXXX04030000000986",
                "bic": "LHVBGB2LXXX",
                "defaultCurrencyCode": "GBP",
                "tenantCode": "MB",
                "residencyCode": "GB",
                "customerGroupCode": "GROUP_A",
                "personTypeCode": null,
                "intraOrgCode": null,
                "accountTypeSetupCode": "STANDARD",
                "serviceProviderCode": "TUUM",
                "interestMethodAssignmentCode": null,
                "accountClassCode": null,
                "balances": [
                    {
                        "balanceId": "ID-1212",
                        "accountId": "ID-1279",
                        "currencyCode": "EUR",
                        "balanceAmount": -5.00,
                        "reservedAmount": 0.00,
                        "overdraftLimitAmount": 0.00,
                        "defaultCurrencyCode": "GBP",
                        "availableBalanceInDefaultCcy": -4.24,
                        "negativeBalanceStartDate": "2023-07-01",
                        "availableBalanceAmount": -5.00
                    },
                    {
                        "balanceId": "ID-1206",
                        "accountId": "ID-1279",
                        "currencyCode": "GBP",
                        "balanceAmount": 0.00,
                        "reservedAmount": 0.00,
                        "overdraftLimitAmount": 0.00,
                        "defaultCurrencyCode": "GBP",
                        "availableBalanceInDefaultCcy": 0.00,
                        "negativeBalanceStartDate": null,
                        "availableBalanceAmount": 0.00
                    }
                ],
                "masterAccountId": null,
                "accountNumbers": [
                    {
                        "accountNumber": {
                            "value": "00000986",
                            "type": "BBAN"
                        },
                        "countryCode": "GB",
                        "financialInstitutionId": {
                            "value": "040300",
                            "type": "SORT_CODE"
                        },
                        "defaultCurrencyCode": "GBP",
                        "accountNumberId": "ID-1143",
                        "accountId": "ID-1279",
                        "financialInstitutionIdTypeCode": null,
                        "statusCode": "ENABLED"
                    }
                ],
                "taxResidencyCountryCode": "GB",
                "jurisdictionCountryCode": "GB"
            }
        ],
        "pageNumber": 1,
        "pageSize": 5,
        "endReached": true,
        "sort": null,
        "total": 4
    }
}curl -L 'https://account-api.sandbox.tuumplatform.com/api/v5/persons/ID-3392/accounts?pageNumber=1&pageSize=5' \
-H 'x-channel-code: SYSTEM' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHBpcnlEVGltZSI6IjIwMjMtMDctMTBUMTQ6NTk6MDUiLCJyb2xlcyI6WyJBRE1JTiJdLCJuYW1lIjoiSm9obiBPZmZpY2VyIiwiZW1wbG95ZWVJZCI6IjEiLCJ0ZW5hbnRDb2RlIjoiTUIiLCJleHAiOjE2ODkwMDExNDV9.CDrDuZ-2fAgeA_7KEdHNbjYup1tD8Vgs_kwkkDZ7NOw' \
-d ''https://account-api.{{env}}.{{domain}}/api/v5/persons/ID-3392/accounts?pageNumber=1&pageSize=5Here, you can find one of the examples of how to create a draft payment using the initialise payment API endpoint.
Here, you can find one of the examples of how to create a draft payment using the initialise payment API endpoint.
Here, you can find one of the examples of how to create a draft payment using the initialise payment API endpoint.
 "typeCode": "OUR_PARTY",
 "accountNumber": {
      "value": "21824474",
      "type": "BBAN"
            }"accountNumberCountryCode": "GB",
"financialInstitutionId": "608382""typeCode": "COUNTERPARTY",
"name": "Robert Receiver",
"accountNumber": {
     "value": "00001781",
      "type": "BBAN"
            }"accountNumberCountryCode": "GB",
"financialInstitutionId": "040300""money": {
        "amount": 15,
        "currencyCode": "GBP"
    } "details": "Test payment with both parties with BBAN for domestic UK payment""contractSource": {
    "sourceName": "Test System",
    "sourceRef": "1234",
    "contractNumber": "test"
  }Here, you can find one of the examples of how to create a draft payment using the initialise payment API endpoint.
Here, you will learn how to export the requested QMR as a PDF file in Tuum.
In this use case, we will demonstrate how to download a QMR.
The fileId parameter corresponds to the sourceRef used when .
...reports/files/ID-4359
To export the requested report as a PDF file, use the following endpoint:
storage-api.sandbox.tuumplatform.com/api/v1/reports/files/{fileId}
The sample request body is as follows:
No body request.
curl -L 'https://storage-api.sandbox.tuumplatform.com/api/v1/reports/files/ID-4359' \
-H 'x-tenant-code: MB' \
-H 'Accept-Language: en' \
-H 'x-auth-token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidGVzdGkgdGVzdCIsImVtcGxveWVlSWQiOiJJRC0xNDE3IiwidGVuYW50Q29kZSI6Ik1CIiwiZXhwaXJ5RFRpbWUiOiIyMDI1LTEwLTIyVDA5OjQ3OjQ2IiwiZXhwIjoxNzYxMTI2NDY2LCJyb2xlcyI6WyJBRE1JTiIsIlNZU1RFTSJdfQ.IMr4SfkQJcqPVEnmfjXcXfdvQAhOrfVFepOaiWa9Lm8'Below you will find the response to the API request: