curl --request GET \
--url https://api.entendre.finance/v1/integrations \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/integrations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/integrations"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"provider": "stripe",
"category": "receivables",
"connected": true,
"count": 1,
"connections": [
{
"id": "sar_507f1f77bcf86cd799439011",
"status": "active",
"legal_entity_id": "le_507f1f77bcf86cd799439012",
"legal_entity_name": "Acme Inc",
"external_id": "acct_1Nxyz",
"external_name": "Acme Inc",
"connected_at": "2026-03-02T10:15:00.000Z",
"last_activity_at": "2026-09-20T08:00:00.000Z"
}
]
},
{
"provider": "slack",
"category": "communication",
"connected": false,
"count": 0,
"connections": []
}
],
"has_more": false,
"next_cursor": null,
"total_count": 2
}{
"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"
}
}List integrations
Shows the connection status of every supported provider, connected or not.
curl --request GET \
--url https://api.entendre.finance/v1/integrations \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/integrations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/integrations"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"provider": "stripe",
"category": "receivables",
"connected": true,
"count": 1,
"connections": [
{
"id": "sar_507f1f77bcf86cd799439011",
"status": "active",
"legal_entity_id": "le_507f1f77bcf86cd799439012",
"legal_entity_name": "Acme Inc",
"external_id": "acct_1Nxyz",
"external_name": "Acme Inc",
"connected_at": "2026-03-02T10:15:00.000Z",
"last_activity_at": "2026-09-20T08:00:00.000Z"
}
]
},
{
"provider": "slack",
"category": "communication",
"connected": false,
"count": 0,
"connections": []
}
],
"has_more": false,
"next_cursor": null,
"total_count": 2
}{
"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"
}
}connected: false and count: 0. A provider with unavailable: true could not be read, so its state is unknown. The status comes from the stored connection record, not a live check of the provider. To manage one connection by its ID, use List connections.Authorizations
Your organization API key. See Authentication.
Query Parameters
Providers to return, separated by commas, for example stripe,slack: quickbooks, xero, netsuite, dualentry, campfire, intuit, ramp, raincards, stripe, requestfinance, plaid, finch, fireblocks, gmail or slack. An unknown value returns 400.
Categories to return, separated by commas: accounting, cards, banking, payroll, receivables, custody or communication. With provider, a provider must match both filters. An unknown value returns 400.
When true, return only providers with an active connection. When false, only providers without one. Providers with unavailable: true are not returned by either value.
Return only connections of this legal entity. An ID that is not in your organization returns 404. Providers whose connections have no legal entity return no connections.
Accepted for a uniform list call and ignored: this list has no pagination.
1 <= x <= 100Accepted for a uniform list call and ignored: this list has no pagination.