Read workspace funds
curl --request GET \
--url https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds', 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.kordio.io/control/v1/workspaces/{workspace_slug}/funds",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"available_cents": 123,
"held_cents": 123,
"committed_cents": 123,
"ledger_committed_cents": 123,
"unprojected_cents": 123,
"currency": "<string>",
"ledger_ready": true,
"by_agent": [
{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_name": "<string>",
"ledger_account": "spend:7d2a6c15-3f89-4b02-9e64-8a15d7c0b3f2",
"committed_cents": 123,
"held_cents": 123,
"currency": "<string>"
}
]
}
}{
"error": {
"message": "<string>",
"code": "runtime_key_required"
}
}Committed, held and available spend across every active session in the workspace, plus what the ledger has caught up on.
unprojected_cents is the gap between what the control layer has committed and
what the ledger has posted. It is normally near zero and transiently non-zero while
projections settle.
If the ledger is unavailable this degrades rather than failing: ledger_ready comes
back false, accounts is empty, and the control-plane figures are still correct.
GET
/
control
/
v1
/
workspaces
/
{workspace_slug}
/
funds
Read workspace funds
curl --request GET \
--url https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds', 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.kordio.io/control/v1/workspaces/{workspace_slug}/funds",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kordio.io/control/v1/workspaces/{workspace_slug}/funds")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"available_cents": 123,
"held_cents": 123,
"committed_cents": 123,
"ledger_committed_cents": 123,
"unprojected_cents": 123,
"currency": "<string>",
"ledger_ready": true,
"by_agent": [
{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_name": "<string>",
"ledger_account": "spend:7d2a6c15-3f89-4b02-9e64-8a15d7c0b3f2",
"committed_cents": 123,
"held_cents": 123,
"currency": "<string>"
}
]
}
}{
"error": {
"message": "<string>",
"code": "runtime_key_required"
}
}Authorizations
An identity bearer token for a person or your backend. Capabilities are per member, per workspace. This credential can manage the workspace and can never authorize an action as an agent.
Path Parameters
Response
The funds summary. Not paginated; a single object.
Show child attributes
Show child attributes