curl --request GET \
--url https://api.entendre.finance/v1/firm/clients \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/firm/clients', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/firm/clients"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "fcl_507f1f77bcf86cd799439011",
"organization_id": "507f1f77bcf86cd799439012",
"name": "Acme Finance",
"web_address": "acme-finance",
"timezone": "America/New_York",
"contact_name": "Alex Smith",
"contact_email": "alex@example.com",
"website": "https://example.com",
"logo_url": null,
"status": "draft",
"is_multi_entity": false,
"pending_actions": [],
"legal_entities_count": 1,
"agents_count": 0,
"integrations": [],
"created_at": "2026-08-31T12:00:00Z",
"updated_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": "Invalid or expired API Key",
"request_id": "req_example",
"suggested_action": "Send a firm API key in X-API-Key.",
"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"
}
}List clients
Lists client relationships with their authorized organization IDs and onboarding state.
curl --request GET \
--url https://api.entendre.finance/v1/firm/clients \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/firm/clients', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/firm/clients"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "fcl_507f1f77bcf86cd799439011",
"organization_id": "507f1f77bcf86cd799439012",
"name": "Acme Finance",
"web_address": "acme-finance",
"timezone": "America/New_York",
"contact_name": "Alex Smith",
"contact_email": "alex@example.com",
"website": "https://example.com",
"logo_url": null,
"status": "draft",
"is_multi_entity": false,
"pending_actions": [],
"legal_entities_count": 1,
"agents_count": 0,
"integrations": [],
"created_at": "2026-08-31T12:00:00Z",
"updated_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": "Invalid or expired API Key",
"request_id": "req_example",
"suggested_action": "Send a firm API key in X-API-Key.",
"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
IDs to return, separated by commas. Up to 100.
Maximum number of records to return.
1 <= x <= 100The next_cursor value from the previous page. Keep the other filters unchanged.
Relationship state.
draft, active, archived Case-insensitive search of client organization name, contact name or contact email.
Comma-separated client organization IDs, up to 100. These differ from fcl_ relationship IDs.
Set to true to include total_count.
Set false to exclude archived clients. Omission includes them.
Sort field. Keep unchanged across pages.
created_at, updated_at, status Sort direction. Keep unchanged across pages.
asc, desc Accepted firm owner IDs, or none. none includes absent owners and owners who left the firm. The filter is applied before paging and counting.
1Response
The request succeeded.