curl --request GET \
--url https://api.entendre.finance/v1/legal-entities \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/legal-entities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/legal-entities"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "le_456def",
"name": "Example Company",
"entity_type": "C-CORP",
"status": "active",
"base_currency": "USD",
"address": {
"line1": "100 Example Street",
"line2": null,
"city": "New York",
"state": null,
"country": "US",
"zipcode": "10001"
},
"address_string": null,
"created_at": "2026-08-31T12:00:00Z"
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"request_id": "req_example"
}
}{
"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"
}
}List legal entities
Lists legal entities with their reporting defaults.
curl --request GET \
--url https://api.entendre.finance/v1/legal-entities \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/legal-entities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/legal-entities"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "le_456def",
"name": "Example Company",
"entity_type": "C-CORP",
"status": "active",
"base_currency": "USD",
"address": {
"line1": "100 Example Street",
"line2": null,
"city": "New York",
"state": null,
"country": "US",
"zipcode": "10001"
},
"address_string": null,
"created_at": "2026-08-31T12:00:00Z"
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"request_id": "req_example"
}
}{
"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"
}
}include_archived=true. This also applies when you filter by ID.Authorizations
Your organization API key. Some operations also need a key that is associated with a user; their pages say so.
Query Parameters
IDs to return, separated by commas. The other filters also apply.
1 - 100 elements1Include archived legal entities. Defaults to false. An explicit status filter takes precedence.
Field to sort by. Defaults to created_at. Use created_at or name to page through all records. With updated_at, a record that changes during paging can be skipped.
name, created_at, updated_at Sort direction. Defaults to desc (newest first).
asc, desc Case-insensitive substring match on the legal entity name.
Include the total number of matching records. If the count cannot be calculated, the request fails.
Filter to one or more entity types. Repeat the parameter for each value.
Filter to one or more base currencies (ISO 4217). Repeat the parameter for each value.
Filter by active or archived status. Repeat the parameter for multiple values, or use a comma-separated list. Values are case-insensitive.
active, archived Maximum number of records to return.
1 <= x <= 100The next_cursor value from the previous page. Keep the other filters unchanged.
Filter by status.
active, archived Response
The matching records.
The records.
Show child attributes
Show child attributes
Whether another page is available.
Cursor for the next page, or null on the last page.
Total matching records across all pages. Present when include_count=true.
x >= 0