curl --request GET \
--url https://api.entendre.finance/v1/reports/financial-insights \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/reports/financial-insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/reports/financial-insights"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"metric": "expenses",
"value": "100.00",
"unit": "USD",
"formula": "sum(expense account balances)",
"reason": null,
"details": {
"total": "100.00",
"by_category": [
{
"category": "Software",
"amount": "100.00"
}
],
"currency": "USD",
"time_series": [
{
"period_start": "2026-08-01T00:00:00Z",
"period_end": "2026-08-31T23:59:59.999Z",
"total": "100.00",
"categories": [
{
"category": "Software",
"amount": "100.00"
}
]
}
]
},
"meta": {
"source": "gl",
"granularity": "monthly",
"start_date": "2026-08-01T00:00:00Z",
"end_date": "2026-08-31T23:59:59.999Z",
"currency": "USD",
"granularity_note": null,
"period_snapped_note": null,
"account_ids_ignored": false,
"account_ids_ignored_reason": null,
"basis": "accrual",
"cash_basis_caveat": null
}
}
]
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API Key",
"request_id": "req_example",
"suggested_action": "Send an API key in X-API-Key, or an OAuth access token as Authorization: Bearer. Refresh an expired access token.",
"documentation_url": "https://entendre.ai/docs/get-started/authentication"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access to organization",
"request_id": "req_example"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"request_id": "req_example"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30s.",
"request_id": "req_example"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"request_id": "req_example"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service unavailable.",
"request_id": "req_example"
}
}Get financial insights
Returns selected financial metrics and their formulas, including revenue, profit, expenses, spending, burn rate, runway and cash flow.
curl --request GET \
--url https://api.entendre.finance/v1/reports/financial-insights \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/reports/financial-insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/reports/financial-insights"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"metric": "expenses",
"value": "100.00",
"unit": "USD",
"formula": "sum(expense account balances)",
"reason": null,
"details": {
"total": "100.00",
"by_category": [
{
"category": "Software",
"amount": "100.00"
}
],
"currency": "USD",
"time_series": [
{
"period_start": "2026-08-01T00:00:00Z",
"period_end": "2026-08-31T23:59:59.999Z",
"total": "100.00",
"categories": [
{
"category": "Software",
"amount": "100.00"
}
]
}
]
},
"meta": {
"source": "gl",
"granularity": "monthly",
"start_date": "2026-08-01T00:00:00Z",
"end_date": "2026-08-31T23:59:59.999Z",
"currency": "USD",
"granularity_note": null,
"period_snapped_note": null,
"account_ids_ignored": false,
"account_ids_ignored_reason": null,
"basis": "accrual",
"cash_basis_caveat": null
}
}
]
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API Key",
"request_id": "req_example",
"suggested_action": "Send an API key in X-API-Key, or an OAuth access token as Authorization: Bearer. Refresh an expired access token.",
"documentation_url": "https://entendre.ai/docs/get-started/authentication"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access to organization",
"request_id": "req_example"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"request_id": "req_example"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30s.",
"request_id": "req_example"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"request_id": "req_example"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service unavailable.",
"request_id": "req_example"
}
}Authorizations
Your organization API key. See Authentication.
Query Parameters
Legal entity ID (le_…). Can be combined with legal_entity_ids.
"le_507f1f77bcf86cd799439011"
Legal entities to include (le_…). Omit to include all.
100Legal entity ID (le_…).
Comma-separated fac_ financial account IDs. Ignored when basis=ledger; meta.account_ids_ignored is then set.
Inclusive interval start.
"2026-08-31T12:00:00Z"
Inclusive interval end; start must not exceed end.
"2026-08-31T12:00:00Z"
Metrics to return.
1 - 7 elementsMetric identifier.
revenue, profit, expenses, spending, burn_rate, runway, cash_flow Required. ledger for the posted books, or transactions for observed cash movements.
ledger, transactions Bucket size. For basis=ledger, the response shows the monthly buckets used.
daily, weekly, monthly Response
The request succeeded.
Not paginated. Each item has its own meta. Burn rate and runway always use monthly buckets, whatever the granularity.
The records.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
Show child attributes
Show child attributes