Create Bank Account
curl --request POST \
--url https://api.rootfi.dev/accounting/bank_accounts \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"company_id": 1,
"data": [
{
"institution_name": "Bank Central Asia",
"account_name": "Rootfi Test",
"category": "DEPOSIT",
"account_number": "1234567890",
"balance": 1000000,
"currency_id": "IDR"
}
]
}
'import requests
url = "https://api.rootfi.dev/accounting/bank_accounts"
payload = {
"company_id": 1,
"data": [
{
"institution_name": "Bank Central Asia",
"account_name": "Rootfi Test",
"category": "DEPOSIT",
"account_number": "1234567890",
"balance": 1000000,
"currency_id": "IDR"
}
]
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
company_id: 1,
data: [
{
institution_name: 'Bank Central Asia',
account_name: 'Rootfi Test',
category: 'DEPOSIT',
account_number: '1234567890',
balance: 1000000,
currency_id: 'IDR'
}
]
})
};
fetch('https://api.rootfi.dev/accounting/bank_accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rootfi.dev/accounting/bank_accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'company_id' => 1,
'data' => [
[
'institution_name' => 'Bank Central Asia',
'account_name' => 'Rootfi Test',
'category' => 'DEPOSIT',
'account_number' => '1234567890',
'balance' => 1000000,
'currency_id' => 'IDR'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.rootfi.dev/accounting/bank_accounts"
payload := strings.NewReader("{\n \"company_id\": 1,\n \"data\": [\n {\n \"institution_name\": \"Bank Central Asia\",\n \"account_name\": \"Rootfi Test\",\n \"category\": \"DEPOSIT\",\n \"account_number\": \"1234567890\",\n \"balance\": 1000000,\n \"currency_id\": \"IDR\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rootfi.dev/accounting/bank_accounts")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"company_id\": 1,\n \"data\": [\n {\n \"institution_name\": \"Bank Central Asia\",\n \"account_name\": \"Rootfi Test\",\n \"category\": \"DEPOSIT\",\n \"account_number\": \"1234567890\",\n \"balance\": 1000000,\n \"currency_id\": \"IDR\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rootfi.dev/accounting/bank_accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"company_id\": 1,\n \"data\": [\n {\n \"institution_name\": \"Bank Central Asia\",\n \"account_name\": \"Rootfi Test\",\n \"category\": \"DEPOSIT\",\n \"account_number\": \"1234567890\",\n \"balance\": 1000000,\n \"currency_id\": \"IDR\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"status": "SUCCESS",
"upload_job_id": "aXI9pUDA5T7E2LS",
"data": [
{
"job_id": "xQm2K441VosP8W4",
"status": "success",
"response": {
"platform_id": "4009750000000000099",
"currency_id": "4009750000000000099",
"institution_name": "rootfi 63503",
"account_name": "test 22300",
"category": "credit_card",
"balance": 123456,
"updated_at": "2021-09-28T15:00:00.000Z",
"raw_data": {
"nominal_code": "Rootfi 01",
"name": "Test Account",
"description": "Test Description",
"category": "LIABILITY",
"sub_category": "Long Term Liabilities",
"status": null
}
},
"error": null
}
]
},
"request_timestamp": "2021-09-28T15:00:00.000Z",
"response_timestamp": "2021-09-28T15:00:00.000Z",
"request_id": "7a1c0e42-9f85-4d6e-bb5d-358a72913c0b"
}Bank Accounts
Create Bank Account
Create a new bank account.
POST
/
accounting
/
bank_accounts
Create Bank Account
curl --request POST \
--url https://api.rootfi.dev/accounting/bank_accounts \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"company_id": 1,
"data": [
{
"institution_name": "Bank Central Asia",
"account_name": "Rootfi Test",
"category": "DEPOSIT",
"account_number": "1234567890",
"balance": 1000000,
"currency_id": "IDR"
}
]
}
'import requests
url = "https://api.rootfi.dev/accounting/bank_accounts"
payload = {
"company_id": 1,
"data": [
{
"institution_name": "Bank Central Asia",
"account_name": "Rootfi Test",
"category": "DEPOSIT",
"account_number": "1234567890",
"balance": 1000000,
"currency_id": "IDR"
}
]
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
company_id: 1,
data: [
{
institution_name: 'Bank Central Asia',
account_name: 'Rootfi Test',
category: 'DEPOSIT',
account_number: '1234567890',
balance: 1000000,
currency_id: 'IDR'
}
]
})
};
fetch('https://api.rootfi.dev/accounting/bank_accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rootfi.dev/accounting/bank_accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'company_id' => 1,
'data' => [
[
'institution_name' => 'Bank Central Asia',
'account_name' => 'Rootfi Test',
'category' => 'DEPOSIT',
'account_number' => '1234567890',
'balance' => 1000000,
'currency_id' => 'IDR'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.rootfi.dev/accounting/bank_accounts"
payload := strings.NewReader("{\n \"company_id\": 1,\n \"data\": [\n {\n \"institution_name\": \"Bank Central Asia\",\n \"account_name\": \"Rootfi Test\",\n \"category\": \"DEPOSIT\",\n \"account_number\": \"1234567890\",\n \"balance\": 1000000,\n \"currency_id\": \"IDR\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rootfi.dev/accounting/bank_accounts")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"company_id\": 1,\n \"data\": [\n {\n \"institution_name\": \"Bank Central Asia\",\n \"account_name\": \"Rootfi Test\",\n \"category\": \"DEPOSIT\",\n \"account_number\": \"1234567890\",\n \"balance\": 1000000,\n \"currency_id\": \"IDR\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rootfi.dev/accounting/bank_accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"company_id\": 1,\n \"data\": [\n {\n \"institution_name\": \"Bank Central Asia\",\n \"account_name\": \"Rootfi Test\",\n \"category\": \"DEPOSIT\",\n \"account_number\": \"1234567890\",\n \"balance\": 1000000,\n \"currency_id\": \"IDR\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"status": "SUCCESS",
"upload_job_id": "aXI9pUDA5T7E2LS",
"data": [
{
"job_id": "xQm2K441VosP8W4",
"status": "success",
"response": {
"platform_id": "4009750000000000099",
"currency_id": "4009750000000000099",
"institution_name": "rootfi 63503",
"account_name": "test 22300",
"category": "credit_card",
"balance": 123456,
"updated_at": "2021-09-28T15:00:00.000Z",
"raw_data": {
"nominal_code": "Rootfi 01",
"name": "Test Account",
"description": "Test Description",
"category": "LIABILITY",
"sub_category": "Long Term Liabilities",
"status": null
}
},
"error": null
}
]
},
"request_timestamp": "2021-09-28T15:00:00.000Z",
"response_timestamp": "2021-09-28T15:00:00.000Z",
"request_id": "7a1c0e42-9f85-4d6e-bb5d-358a72913c0b"
}The Bank Accounts Data Model streamlines access of bank account information across various accounting platforms, providing a consistent and unified representation of bank account data.
Additional Required Fields
To successfully create a bank account, certain fields must be included in the raw_data object of the request body. The required fields are as follows:| Integration | Field | Description |
|---|---|---|
| MYOB_BUSINESS | nominal_code | The nominal code of the bank account. |
| MYOB_BUSINESS | description | The description of the bank account. |
| MYOB_BUSINESS | parent_account_id | The parent account ID of the bank account. |
| MYOB_BUSINESS | tax_id | The tax ID of the bank account. |
| SAGE_ZA_CLOUD_ACCOUNTING | sub_category_id | The sub-category ID associated to the account. |
Authorizations
Body
application/json
Response
200 - application/json
Show child attributes
Show child attributes
The time at which the request was received by the server
The time at which the response was sent by the server
The unique ID of the request
⌘I