curl --request POST \
--url https://staging-api.usetyms.com/v1/adam/banks \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"nuban": "0123456789",
"account_name": "Acme Trading Limited",
"bank_name": "Main Operating Account",
"opening_balance": 1000000,
"opening_balance_date": "2026-01-01",
"account_code": "1001",
"currency": "NGN",
"country": "NG",
"opening_balance_exchange_rate": 1
}
'import requests
url = "https://staging-api.usetyms.com/v1/adam/banks"
payload = {
"nuban": "0123456789",
"account_name": "Acme Trading Limited",
"bank_name": "Main Operating Account",
"opening_balance": 1000000,
"opening_balance_date": "2026-01-01",
"account_code": "1001",
"currency": "NGN",
"country": "NG",
"opening_balance_exchange_rate": 1
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
nuban: '0123456789',
account_name: 'Acme Trading Limited',
bank_name: 'Main Operating Account',
opening_balance: 1000000,
opening_balance_date: '2026-01-01',
account_code: '1001',
currency: 'NGN',
country: 'NG',
opening_balance_exchange_rate: 1
})
};
fetch('https://staging-api.usetyms.com/v1/adam/banks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Bank created successfully with opening balance",
"data": {
"uuid": "f1e2d3c4b5a6478990a1b2c3d4e5f6aa",
"name": "Main Operating Account",
"nuban": "0123456789",
"account_name": "Acme Trading Limited",
"currency": "NGN",
"country": "NG",
"balance": 1000000,
"opening_balance": 1000000
}
}{
"status": "failed",
"message": "<string>"
}Create bank account
Create a new bank or cash account with an opening balance. The bank_name becomes the display name used as payment_category on transactions. nuban, account_name, bank_name, opening_balance, and opening_balance_date are required.
curl --request POST \
--url https://staging-api.usetyms.com/v1/adam/banks \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"nuban": "0123456789",
"account_name": "Acme Trading Limited",
"bank_name": "Main Operating Account",
"opening_balance": 1000000,
"opening_balance_date": "2026-01-01",
"account_code": "1001",
"currency": "NGN",
"country": "NG",
"opening_balance_exchange_rate": 1
}
'import requests
url = "https://staging-api.usetyms.com/v1/adam/banks"
payload = {
"nuban": "0123456789",
"account_name": "Acme Trading Limited",
"bank_name": "Main Operating Account",
"opening_balance": 1000000,
"opening_balance_date": "2026-01-01",
"account_code": "1001",
"currency": "NGN",
"country": "NG",
"opening_balance_exchange_rate": 1
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
nuban: '0123456789',
account_name: 'Acme Trading Limited',
bank_name: 'Main Operating Account',
opening_balance: 1000000,
opening_balance_date: '2026-01-01',
account_code: '1001',
currency: 'NGN',
country: 'NG',
opening_balance_exchange_rate: 1
})
};
fetch('https://staging-api.usetyms.com/v1/adam/banks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Bank created successfully with opening balance",
"data": {
"uuid": "f1e2d3c4b5a6478990a1b2c3d4e5f6aa",
"name": "Main Operating Account",
"nuban": "0123456789",
"account_name": "Acme Trading Limited",
"currency": "NGN",
"country": "NG",
"balance": 1000000,
"opening_balance": 1000000
}
}{
"status": "failed",
"message": "<string>"
}Authorizations
Business secret tyms_sk_... for business-scoped routes. Partner secret for register-business and referred-business distributor routes.
Body
Account number / NUBAN.
Legal account holder name.
Unique display name for this bank in Tyms. Used as payment_category on transactions.
Opening balance amount (can be negative for overdraft).
Date of the opening balance entry.
GL code; auto-assigned if omitted.
Currency code; defaults to business currency.
Country code; defaults to business country.
Exchange rate for the opening balance. Default 1.
Response
Bank created with opening balance