List connections
curl --request GET \
--url https://api.entendre.finance/v1/connections \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/connections', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/connections"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "con_507f1f77bcf86cd799439011",
"organization_id": "org_507f1f77bcf86cd799439011",
"provider": "quickbooks",
"auth_method": "oauth",
"name": "Operating bank connection",
"status": "pending_setup",
"external_account_id": null,
"legal_entity_ids": [
"le_507f1f77bcf86cd799439011"
],
"source_ids": [],
"capabilities": [
"import_transactions"
],
"authorization_attempt": {
"id": "auth_507f1f77bcf86cd799439011",
"status": "pending",
"setup_url": "https://app.entendre.finance/settings/integrations",
"expires_at": "2026-08-31T12:10:00Z",
"error": null
},
"created_at": "2026-08-31T12:00:00Z",
"guidance": {
"allowed_actions": [],
"warnings": [],
"version": "v_example"
},
"revocation_error": null,
"retained_resources": [
"transactions"
],
"etag": "\"v_example\""
}
],
"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"
}
}Connections
List connections
Lists your QuickBooks, Xero, NetSuite and Campfire connections.
GET
/
v1
/
connections
List connections
curl --request GET \
--url https://api.entendre.finance/v1/connections \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/connections', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/connections"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "con_507f1f77bcf86cd799439011",
"organization_id": "org_507f1f77bcf86cd799439011",
"provider": "quickbooks",
"auth_method": "oauth",
"name": "Operating bank connection",
"status": "pending_setup",
"external_account_id": null,
"legal_entity_ids": [
"le_507f1f77bcf86cd799439011"
],
"source_ids": [],
"capabilities": [
"import_transactions"
],
"authorization_attempt": {
"id": "auth_507f1f77bcf86cd799439011",
"status": "pending",
"setup_url": "https://app.entendre.finance/settings/integrations",
"expires_at": "2026-08-31T12:10:00Z",
"error": null
},
"created_at": "2026-08-31T12:00:00Z",
"guidance": {
"allowed_actions": [],
"warnings": [],
"version": "v_example"
},
"revocation_error": null,
"retained_resources": [
"transactions"
],
"etag": "\"v_example\""
}
],
"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"
}
}Each connection ID identifies one provider and realm. Credentials are never returned. To add a connection, use Connect provider. To renew credentials, use Reauthorize connection.
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.
Required array length:
1 - 100 elementsMinimum string length:
1Maximum number of records to return.
Required range:
1 <= x <= 100The next_cursor value from the previous page. Keep the other filters unchanged.
Connection status.
Available options:
pending_setup, active, expired, disconnecting, disconnected, failed