Create Accounts
curl --request POST \
--url https://api.rootfi.dev/accounting/accounts \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"company_id": 1,
"data": [
{
"name": "Rootfi Test Account",
"description": "Rootfi Test Account",
"nominal_code": "123456",
"sub_category": "Test",
"currency_id": "123456",
"parent_account_id": "1234567",
"raw_data": {}
}
]
}
'import requests
url = "https://api.rootfi.dev/accounting/accounts"
payload = {
"company_id": 1,
"data": [
{
"name": "Rootfi Test Account",
"description": "Rootfi Test Account",
"nominal_code": "123456",
"sub_category": "Test",
"currency_id": "123456",
"parent_account_id": "1234567",
"raw_data": {}
}
]
}
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: [
{
name: 'Rootfi Test Account',
description: 'Rootfi Test Account',
nominal_code: '123456',
sub_category: 'Test',
currency_id: '123456',
parent_account_id: '1234567',
raw_data: {}
}
]
})
};
fetch('https://api.rootfi.dev/accounting/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/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' => [
[
'name' => 'Rootfi Test Account',
'description' => 'Rootfi Test Account',
'nominal_code' => '123456',
'sub_category' => 'Test',
'currency_id' => '123456',
'parent_account_id' => '1234567',
'raw_data' => [
]
]
]
]),
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/accounts"
payload := strings.NewReader("{\n \"company_id\": 1,\n \"data\": [\n {\n \"name\": \"Rootfi Test Account\",\n \"description\": \"Rootfi Test Account\",\n \"nominal_code\": \"123456\",\n \"sub_category\": \"Test\",\n \"currency_id\": \"123456\",\n \"parent_account_id\": \"1234567\",\n \"raw_data\": {}\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/accounts")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"company_id\": 1,\n \"data\": [\n {\n \"name\": \"Rootfi Test Account\",\n \"description\": \"Rootfi Test Account\",\n \"nominal_code\": \"123456\",\n \"sub_category\": \"Test\",\n \"currency_id\": \"123456\",\n \"parent_account_id\": \"1234567\",\n \"raw_data\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rootfi.dev/accounting/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 \"name\": \"Rootfi Test Account\",\n \"description\": \"Rootfi Test Account\",\n \"nominal_code\": \"123456\",\n \"sub_category\": \"Test\",\n \"currency_id\": \"123456\",\n \"parent_account_id\": \"1234567\",\n \"raw_data\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"status": "SUCCESS",
"upload_job_id": "xQm2K441VosP8W4",
"data": [
{
"job_id": "aXI9pUDA5T7E2LS",
"status": "success",
"response": {
"platform_id": "1234567890123456789",
"currency_id": null,
"parent_account_id": null,
"nominal_code": "Test Account",
"name": "Test Account",
"description": "Test Description",
"sub_category": "long_term_liability",
"category": "LIABILITY",
"status": "ACTIVE",
"updated_at": "2021-09-28T15:00:00.000Z",
"raw_data": {
"platform_id": "1234567890123456789",
"nominal_code": "Test Account",
"name": "Test Account",
"description": "Test Description",
"category": "LIABILITY",
"sub_category": "long_term_liability",
"status": "ACTIVE"
}
},
"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"
}Accounts
Create Account
Create an account.
POST
/
accounting
/
accounts
Create Accounts
curl --request POST \
--url https://api.rootfi.dev/accounting/accounts \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"company_id": 1,
"data": [
{
"name": "Rootfi Test Account",
"description": "Rootfi Test Account",
"nominal_code": "123456",
"sub_category": "Test",
"currency_id": "123456",
"parent_account_id": "1234567",
"raw_data": {}
}
]
}
'import requests
url = "https://api.rootfi.dev/accounting/accounts"
payload = {
"company_id": 1,
"data": [
{
"name": "Rootfi Test Account",
"description": "Rootfi Test Account",
"nominal_code": "123456",
"sub_category": "Test",
"currency_id": "123456",
"parent_account_id": "1234567",
"raw_data": {}
}
]
}
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: [
{
name: 'Rootfi Test Account',
description: 'Rootfi Test Account',
nominal_code: '123456',
sub_category: 'Test',
currency_id: '123456',
parent_account_id: '1234567',
raw_data: {}
}
]
})
};
fetch('https://api.rootfi.dev/accounting/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/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' => [
[
'name' => 'Rootfi Test Account',
'description' => 'Rootfi Test Account',
'nominal_code' => '123456',
'sub_category' => 'Test',
'currency_id' => '123456',
'parent_account_id' => '1234567',
'raw_data' => [
]
]
]
]),
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/accounts"
payload := strings.NewReader("{\n \"company_id\": 1,\n \"data\": [\n {\n \"name\": \"Rootfi Test Account\",\n \"description\": \"Rootfi Test Account\",\n \"nominal_code\": \"123456\",\n \"sub_category\": \"Test\",\n \"currency_id\": \"123456\",\n \"parent_account_id\": \"1234567\",\n \"raw_data\": {}\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/accounts")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"company_id\": 1,\n \"data\": [\n {\n \"name\": \"Rootfi Test Account\",\n \"description\": \"Rootfi Test Account\",\n \"nominal_code\": \"123456\",\n \"sub_category\": \"Test\",\n \"currency_id\": \"123456\",\n \"parent_account_id\": \"1234567\",\n \"raw_data\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rootfi.dev/accounting/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 \"name\": \"Rootfi Test Account\",\n \"description\": \"Rootfi Test Account\",\n \"nominal_code\": \"123456\",\n \"sub_category\": \"Test\",\n \"currency_id\": \"123456\",\n \"parent_account_id\": \"1234567\",\n \"raw_data\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"status": "SUCCESS",
"upload_job_id": "xQm2K441VosP8W4",
"data": [
{
"job_id": "aXI9pUDA5T7E2LS",
"status": "success",
"response": {
"platform_id": "1234567890123456789",
"currency_id": null,
"parent_account_id": null,
"nominal_code": "Test Account",
"name": "Test Account",
"description": "Test Description",
"sub_category": "long_term_liability",
"category": "LIABILITY",
"status": "ACTIVE",
"updated_at": "2021-09-28T15:00:00.000Z",
"raw_data": {
"platform_id": "1234567890123456789",
"nominal_code": "Test Account",
"name": "Test Account",
"description": "Test Description",
"category": "LIABILITY",
"sub_category": "long_term_liability",
"status": "ACTIVE"
}
},
"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 Accounts Data Model is designed to streamline the management and retrieval of account-related information across various accounting platforms.
Additional Required Fields
To successfully create an account, certain fields must be included in the raw_data object of the request body. The required fields are as follows:| Integration | Field | Description |
|---|---|---|
| MS_DYNAMICS_365_FO | ChartOfAccounts | The chart of accounts to which the account belongs. |
| MYOB_BUSINESS | tax_id | The tax ID associated to the 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