Update connection
curl --request PATCH \
--url https://api.entendre.finance/v1/connections/{connection_id} \
--header 'Content-Type: application/json' \
--header 'If-Match: <if-match>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Operating bank connection",
"legal_entity_ids": [
"le_507f1f77bcf86cd799439011"
]
}
'const options = {
method: 'PATCH',
headers: {
'If-Match': '<if-match>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Operating bank connection',
legal_entity_ids: ['le_507f1f77bcf86cd799439011']
})
};
fetch('https://api.entendre.finance/v1/connections/{connection_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/connections/{connection_id}"
payload = {
"name": "Operating bank connection",
"legal_entity_ids": ["le_507f1f77bcf86cd799439011"]
}
headers = {
"If-Match": "<if-match>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, 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\""
}
}{
"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": "CONFLICT",
"message": "The resource state does not allow this operation.",
"request_id": "req_example"
}
}{
"error": {
"code": "PRECONDITION_FAILED",
"message": "The resource changed. Read it again before you update it.",
"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
Update connection
Updates the name or legal entities of a connection.
PATCH
/
v1
/
connections
/
{connection_id}
Update connection
curl --request PATCH \
--url https://api.entendre.finance/v1/connections/{connection_id} \
--header 'Content-Type: application/json' \
--header 'If-Match: <if-match>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"name": "Operating bank connection",
"legal_entity_ids": [
"le_507f1f77bcf86cd799439011"
]
}
'const options = {
method: 'PATCH',
headers: {
'If-Match': '<if-match>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Operating bank connection',
legal_entity_ids: ['le_507f1f77bcf86cd799439011']
})
};
fetch('https://api.entendre.finance/v1/connections/{connection_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/connections/{connection_id}"
payload = {
"name": "Operating bank connection",
"legal_entity_ids": ["le_507f1f77bcf86cd799439011"]
}
headers = {
"If-Match": "<if-match>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, 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\""
}
}{
"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": "CONFLICT",
"message": "The resource state does not allow this operation.",
"request_id": "req_example"
}
}{
"error": {
"code": "PRECONDITION_FAILED",
"message": "The resource changed. Read it again before you update it.",
"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"
}
}Omitted fields keep their values. Disconnected connections cannot be updated. Requires a user-scoped API key, and
write:gl for a general-ledger connection or write:connections for other connections.
A general-ledger connection supports one legal entity. NetSuite rejects an ambiguous configuration with HTTP 409.
Exchange, bank and card connections accept an optional If-Match with the etag of the connection. A changed connection returns HTTP 412. The check is not atomic with the provider call. General-ledger connections ignore If-Match.Authorizations
Your organization API key. Some operations also need a key that is associated with a user; their pages say so.
Headers
Optional. The etag from List connections. A stale value returns HTTP 412.
Path Parameters
ID of the connection.
Minimum string length:
1Body
application/json
Response
The request succeeded.
Show child attributes
Show child attributes