curl --request POST \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Consulting Revenue",
"parent_id": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"account_number": "4000",
"stable_name": {
"type": "StableName",
"stable_name": "CURRENT_ASSETS"
}
}
'import requests
url = "https://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts"
payload = {
"name": "Consulting Revenue",
"parent_id": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"account_number": "4000",
"stable_name": {
"type": "StableName",
"stable_name": "CURRENT_ASSETS"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Consulting Revenue',
parent_id: {type: 'AccountId', id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'},
account_number: '4000',
stable_name: {type: 'StableName', stable_name: 'CURRENT_ASSETS'}
})
};
fetch('https://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/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://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/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([
'name' => 'Consulting Revenue',
'parent_id' => [
'type' => 'AccountId',
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'account_number' => '4000',
'stable_name' => [
'type' => 'StableName',
'stable_name' => 'CURRENT_ASSETS'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts"
payload := strings.NewReader("{\n \"name\": \"Consulting Revenue\",\n \"parent_id\": {\n \"type\": \"AccountId\",\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"account_number\": \"4000\",\n \"stable_name\": {\n \"type\": \"StableName\",\n \"stable_name\": \"CURRENT_ASSETS\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Consulting Revenue\",\n \"parent_id\": {\n \"type\": \"AccountId\",\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"account_number\": \"4000\",\n \"stable_name\": {\n \"type\": \"StableName\",\n \"stable_name\": \"CURRENT_ASSETS\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Consulting Revenue\",\n \"parent_id\": {\n \"type\": \"AccountId\",\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"account_number\": \"4000\",\n \"stable_name\": {\n \"type\": \"StableName\",\n \"stable_name\": \"CURRENT_ASSETS\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"name": "Current Assets",
"account_number": "4000",
"stable_name": {
"type": "StableName",
"stable_name": "CURRENT_ASSETS"
},
"normality": "CREDIT",
"account_type": {
"value": "ASSET",
"display_name": "Asset"
},
"account_subtype": {
"value": "BANK_ACCOUNTS",
"display_name": "Current Assets"
}
}""""Create ledger account
Creates a new ledger account. The stable_name field can be used for idempotency - if an account with the same stable_name already exists, it will be returned instead of creating a duplicate.
curl --request POST \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Consulting Revenue",
"parent_id": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"account_number": "4000",
"stable_name": {
"type": "StableName",
"stable_name": "CURRENT_ASSETS"
}
}
'import requests
url = "https://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts"
payload = {
"name": "Consulting Revenue",
"parent_id": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"account_number": "4000",
"stable_name": {
"type": "StableName",
"stable_name": "CURRENT_ASSETS"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Consulting Revenue',
parent_id: {type: 'AccountId', id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'},
account_number: '4000',
stable_name: {type: 'StableName', stable_name: 'CURRENT_ASSETS'}
})
};
fetch('https://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/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://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/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([
'name' => 'Consulting Revenue',
'parent_id' => [
'type' => 'AccountId',
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'account_number' => '4000',
'stable_name' => [
'type' => 'StableName',
'stable_name' => 'CURRENT_ASSETS'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts"
payload := strings.NewReader("{\n \"name\": \"Consulting Revenue\",\n \"parent_id\": {\n \"type\": \"AccountId\",\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"account_number\": \"4000\",\n \"stable_name\": {\n \"type\": \"StableName\",\n \"stable_name\": \"CURRENT_ASSETS\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Consulting Revenue\",\n \"parent_id\": {\n \"type\": \"AccountId\",\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"account_number\": \"4000\",\n \"stable_name\": {\n \"type\": \"StableName\",\n \"stable_name\": \"CURRENT_ASSETS\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.layerfi.com/v1/businesses/{businessId}/ledger/accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Consulting Revenue\",\n \"parent_id\": {\n \"type\": \"AccountId\",\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n },\n \"account_number\": \"4000\",\n \"stable_name\": {\n \"type\": \"StableName\",\n \"stable_name\": \"CURRENT_ASSETS\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"name": "Current Assets",
"account_number": "4000",
"stable_name": {
"type": "StableName",
"stable_name": "CURRENT_ASSETS"
},
"normality": "CREDIT",
"account_type": {
"value": "ASSET",
"display_name": "Asset"
},
"account_subtype": {
"value": "BANK_ACCOUNTS",
"display_name": "Current Assets"
}
}""""Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Content-Type must be set to application/json
Path Parameters
The UUID of the business
Body
Parameters for creating a new ledger account. The stable_name field is used for idempotency.
Display name of the ledger account
"Consulting Revenue"
CREDIT, DEBIT ID of the account
- Account ID
- Account Stable Name
Show child attributes
Show child attributes
ASSET, LIABILITY, EQUITY, REVENUE, COGS, EXPENSE BANK_ACCOUNTS, ACCOUNTS_RECEIVABLE, INVENTORY, PAYMENT_PROCESSOR_CLEARING_ACCOUNT, FIXED_ASSET, ACCUMULATED_DEPRECIATION, CASH, UNDEPOSITED_FUNDS, CURRENT_ASSET, NON_CURRENT_ASSET, PREPAID_EXPENSES, DEVELOPMENT_COSTS, LOANS_RECEIVABLE, INTANGIBLE_ASSET, ACCOUNTS_PAYABLE, CREDIT_CARD, TAXES_PAYABLE, INCOME_TAXES_PAYABLE, SALES_TAXES_PAYABLE, OTHER_TAXES_PAYABLE, PAYROLL_TAXES_PAYABLE, UNEARNED_REVENUE, PAYROLL_LIABILITY, PAYROLL_CLEARING, LINE_OF_CREDIT, TIPS, REFUND_LIABILITIES, UNDEPOSITED_OUTFLOWS, OUTGOING_PAYMENT_CLEARING_ACCOUNT, OTHER_CURRENT_LIABILITY, LOANS_PAYABLE, NOTES_PAYABLE, SHAREHOLDER_LOAN, NON_CURRENT_LIABILITY, CONTRIBUTIONS, DISTRIBUTIONS, COMMON_STOCK, PREFERRED_STOCK, ADDITIONAL_PAID_IN_CAPITAL, RETAINED_EARNINGS, ACCUMULATED_ADJUSTMENTS, OPENING_BALANCE_EQUITY, OTHER_EQUITY, SALES, UNCATEGORIZED_REVENUE, RETURNS_ALLOWANCES, DIVIDEND_INCOME, INTEREST_INCOME, OTHER_INCOME, COGS, OPERATING_EXPENSES, PAYROLL, TAXES_LICENSES, UNCATEGORIZED_EXPENSE, CHARITABLE_CONTRIBUTIONS, LOAN_EXPENSES, FINANCE_COSTS, INTEREST_EXPENSES, DEPRECIATION, AMORTIZATION, BAD_DEBT, OTHER_EXPENSES Optional account number for the ledger account
"4000"
Show child attributes
Show child attributes
Response
The created ledger account
A single ledger account without nested children
ID of the account
- Account ID
- Account Stable Name
Show child attributes
Show child attributes
Name of the account
"Current Assets"
Account number if configured
"4000"
Show child attributes
Show child attributes
CREDIT, DEBIT Show child attributes
Show child attributes
Show child attributes
Show child attributes