Skip to main content
POST
Reauthorize connection
Track the authorization attempt on the connection. To connect a different account, create a new connection. An active bank connection can start a Plaid Link session to renew authorization or add accounts. A disconnected bank can attempt Plaid update mode with its saved Item. Cached accounts do not prove that the Item can be restored. A removed Item needs a new connection. If Plaid confirms that the Item is missing, reauthorization returns 409 even if the saved connection still appears active. An invalid access token also returns 409 when the connection is disconnected. In either case, connect the bank again. Starting Link does not prove that authorization is complete. A Plaid rate limit returns 429 with rate_limit_source: plaid. When Plaid supplies a valid retry delay, the response includes it in seconds and in the Retry-After header. Other Plaid failures return 502.

Authorizations

X-API-Key
string
header
required

Your organization API key. See Authentication.

Headers

Idempotency-Key
string

Required for an exchange or card connection. Retry with the same key and request body after a timeout. Keys are retained for at least 24 hours. Do not send it for a bank connection. A bank response holds a short-lived link token that cannot be replayed, so a bank request with this header returns 400 IDEMPOTENCY_NOT_SUPPORTED.

Required string length: 1 - 255

Path Parameters

connection_id
string
required

ID of the connection.

Minimum string length: 1

Body

application/json
return_url
string<uri>

Registered HTTPS return URL.

Example:

"https://app.entendre.finance/settings/integrations"

api_key
string

Replacement venue API key.

Minimum string length: 1
api_secret
string

Replacement venue API secret.

Minimum string length: 1
api_passphrase
string

Replacement venue API passphrase, for coinbase, coinbase_exchange, coinbase_prime, coinbase_international and kucoin.

Minimum string length: 1
account_selection_enabled
boolean

Bank only. Lets the user add or remove accounts in Plaid Link. Defaults to false; another provider returns 400.

environment
enum<string>

Fireblocks only. The Fireblocks host; a change runs the connectivity check.

Available options:
production,
sandbox

Rain only. The legal entity to save with the new api_key in the same update.

Maximum array length: 1
Pattern: ^(le_)?[0-9a-fA-F]{24}$
credentials
object
write-only

Ramp only. Replacement app credentials. Never returned; the connection shows ramp.masked_client_id and ramp.masked_client_secret.

Bank only. hosted (default) returns a setup_url for Plaid Hosted Link; sdk returns only the link_token for an embedded Plaid Link session, with setup_url null and no return_url. Another provider returns 422.

Available options:
hosted,
sdk

Response

The request succeeded.

id
string
required

Connection ID (con_…).

Example:

"con_507f1f77bcf86cd799439011"

organization_id
string
required

Organization ID (org_…).

Example:

"org_507f1f77bcf86cd799439011"

provider
string
required

Provider identifier.

Example:

"quickbooks"

auth_method
enum<string>
required

Setup method.

Available options:
oauth,
api_key
name
string
required

Connection display name.

status
enum<string>
required

Connection status.

Available options:
pending_setup,
active,
inactive,
expired,
disconnecting,
disconnected,
failed
external_account_id
string | null
required

Account ID at the provider.

Legal entities of the connection (le_…).

Legal entity ID (le_…).

source_ids
string[]
required

Sources created from the connection.

Source ID (src_…).

capabilities
string[]
required

Actions that the connection supports.

Supported action.

created_at
string<date-time>
required

ISO 8601 UTC timestamp.

Example:

"2026-08-31T12:00:00Z"

updated_at
string<date-time>
required

ISO 8601 UTC timestamp of the last change.

guidance
object
required
etag
string
required
read-only

Strong version of this resource. Send this value, including its quotes, in If-Match when updating it.

Pattern: ^"[^"\r\n]+"$
Example:

"\"v_example\""

authorization_attempt
object

The latest setup attempt.

created_by
object | null

Rain only. The user the legacy configuration records as creator. The email is masked unless include_pii=true on the list.

updated_by
object | null

Rain only. The user the legacy configuration records as last editor. The email is masked unless include_pii=true on the list.

ramp
object | null

Ramp only. Credential hints of the current Ramp connection; null on a disconnected or replaced one. The credentials themselves are never returned.

revocation_error
string | null

Why the provider did not revoke access. A disabled connection in Entendre does not prove that the provider revoked access.

retained_resources
string[]

Resource types that stay after a disconnect.

Resource types retained after disconnect.

cleanup
object

Present after bank disconnect. Counts rows removed by this call. Zero is valid for empty or already-cleaned connections.

institution_id
string | null

Bank connections only: the Plaid institution id.

last_synced_at
string<date-time> | null

Bank and Stripe connections: when the last transaction import from the provider finished.

last_error
object | null

Bank connections only: the last error that the provider reported for the connection, as the provider sent it. Null when the connection has no error.

importable_resources
string[]

General-ledger connections only: the resource types that the connection can import.

environment
enum<string> | null

Fireblocks connections only: the Fireblocks host; null when the stored host is not a known Fireblocks host.

Available options:
production,
sandbox,
null
plaid
object | null

Bank only. Plaid state of the bank connection; null on a hosted setup that has no Plaid item yet.