curl --request POST \
--url https://api.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts \
--header 'Content-Type: application/json' \
--data '
{
"name": "Consulting services",
"number": "700000",
"type": "other"
}
'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts"
payload = {
"name": "Consulting services",
"number": "700000",
"type": "other"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Consulting services', number: '700000', type: 'other'})
};
fetch('https://api.chift.eu/consumers/{consumer_id}/spend_management/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://api.chift.eu/consumers/{consumer_id}/spend_management/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 services',
'number' => '700000',
'type' => 'other'
]),
CURLOPT_HTTPHEADER => [
"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://api.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts"
payload := strings.NewReader("{\n \"name\": \"Consulting services\",\n \"number\": \"700000\",\n \"type\": \"other\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Consulting services\",\n \"number\": \"700000\",\n \"type\": \"other\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Consulting services\",\n \"number\": \"700000\",\n \"type\": \"other\"\n}"
response = http.request(request)
puts response.read_body{
"number": "<this-account-number>",
"name": "Consulting services",
"active": true,
"type": "bank",
"id": "<string>"
}{
"message": "Error while trying to perform your request",
"status": "error"
}{
"message": "Validation error",
"status": "error",
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create ledger account
Creates a new ledger account. Only expense and payable (accounts-payable) account types are supported.
curl --request POST \
--url https://api.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts \
--header 'Content-Type: application/json' \
--data '
{
"name": "Consulting services",
"number": "700000",
"type": "other"
}
'import requests
url = "https://api.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts"
payload = {
"name": "Consulting services",
"number": "700000",
"type": "other"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Consulting services', number: '700000', type: 'other'})
};
fetch('https://api.chift.eu/consumers/{consumer_id}/spend_management/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://api.chift.eu/consumers/{consumer_id}/spend_management/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 services',
'number' => '700000',
'type' => 'other'
]),
CURLOPT_HTTPHEADER => [
"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://api.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts"
payload := strings.NewReader("{\n \"name\": \"Consulting services\",\n \"number\": \"700000\",\n \"type\": \"other\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Consulting services\",\n \"number\": \"700000\",\n \"type\": \"other\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chift.eu/consumers/{consumer_id}/spend_management/ledger-accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Consulting services\",\n \"number\": \"700000\",\n \"type\": \"other\"\n}"
response = http.request(request)
puts response.read_body{
"number": "<this-account-number>",
"name": "Consulting services",
"active": true,
"type": "bank",
"id": "<string>"
}{
"message": "Error while trying to perform your request",
"status": "error"
}{
"message": "Validation error",
"status": "error",
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Path Parameters
Body
Name or label of the ledger account as it appears in the accounting system.
1"Consulting services"
The account number in the chart of accounts. Must be unique within the accounting folder. In some countries (e.g., France, Belgium, Spain), the number structure is constrained by local accounting rules and must follow official charts of accounts (e.g., Plan Comptable Général).
3"700000"
bank, cash, other_financial, receivable, payable, income, expense, other_expense, vat, other Response
Successful Response
The account number in the chart of accounts. Must be unique within the accounting folder. In some countries (e.g., France, Belgium, Spain), the number structure is constrained by local accounting rules and must follow official charts of accounts (e.g., Plan Comptable Général).
"<this-account-number>"
Name or label of the account as it appears in the accounting system. This is typically used for internal referencing and identification of the account.
"Consulting services"
Flag indicating whether the account is active. If True, the account is active and can be used in transactions. If False, the account is inactive and cannot be used for transactions.
Represents the functional type of the ledger account, used to support common accounting operations such as payments, invoicing, tax handling, and reporting. The type here is more operational and aligned with how accounts are actually used in day-to-day processes (e.g., tracking receivables, recording VAT, handling bank transactions)
bank, cash, other_financial, receivable, payable, income, expense, other_expense, vat, other The provider's own unique id for this account, when the connector's underlying provider identifies accounts by id rather than (or in addition to) number -- e.g. to pass as account_id when creating/updating a supplier.