Reconnect a connected account
Make a connected account work again, the way it was connected. The secret keeps its name, its hosts and its placement, so nothing that references {{secret:NAME}} changes. For an API-key integration, send the new key as apiKey: Anlyon checks it with the provider the way it checked the first one, replaces the stored value, and answers status: completed with the secret. A key the provider refuses changes nothing (CONNECTION_KEY_REJECTED). For a sign-in integration, send an empty body: Anlyon starts a consent session for the account’s existing connection and answers status: pending with the session. Open its connectUrl or hand its consent values to the console’s window, then call POST /api/v2/connections/sessions/{sessionId}/complete as for a first connect; completing marks the account working again. Sending a key for a sign-in account, or none for a key account, is 400. Counts toward the same limit of 10 per minute per workspace as connect sessions.
/api/v2/connections/{secretName}/reconnectAuthorizationBearer token (Anlyon API key) · headerrequiredWorkspace API key sent as Authorization: Bearer <key>.
better-auth.session_tokenAPI key · cookierequiredBrowser session used by dashboard-only operations.
secretNamestringrequiredThe connected account, by its secret name.
X-Request-IdstringOptional caller correlation ID. Unsafe or oversized values are replaced.
application/jsonapiKeystringFor an API-key integration: the new key alone, with no spaces or line breaks. Checked with the provider, stored encrypted, and never returned. Omit for a sign-in integration.
The new key was accepted and stored (completed)
successbooleanrequiredtruedataConnectionReconnectrequiredHow the reconnect went. completed: a new key was accepted and stored; secret is the account as it now stands. pending: a consent session was started for a signed-in account; finish it with POST /api/v2/connections/sessions/{sessionId}/complete.
Show propertiesHide properties
statusstringrequiredcompletedpendingsecretSecret | nullrequiredThe reconnected account once completed; null while pending.
Show propertiesHide properties
idstringrequirednamestringrequireddescriptionstring | nullrequiredallowedHostsstring[] | nullrequiredHosts this secret may be sent to. Null means any public host.
allowedPlacementsstring[] | nullrequiredWhere in the request this secret may appear. Null means anywhere.
kindstringrequiredstatic holds a value you stored. connection is a connected account: its value is an access token fetched at dispatch, its hosts come from the integration, and it may only appear in a header. PUT cannot change a secret's kind.
staticconnectionconnectionobject | nullrequiredFor a signed-in account, which integration it is and whether it still works. status mirrors health.status, which is the one record of it for both kinds of connected account. Null for a static secret, including one connected with an API key.
Show propertiesHide properties
integrationIdstringrequiredstatusstringrequiredThe same value as health.status. Reconnect the account to use it again.
activeneeds_reauthhealthobject | nullrequiredWhether the connected account still works, whichever way it was connected. active, or needs_reauth with a reason once the provider refused the credential or the connector service could not refresh it. A dispatch that uses a needs_reauth account fails before anything is sent. Reconnect it with POST /api/v2/connections/{secretName}/reconnect. Null for a secret you stored directly, which Anlyon cannot check.
Show propertiesHide properties
statusstringrequiredactiveneeds_reauthcheckedAtstring<date-time> | nullrequiredWhen Anlyon last asked the provider whether the credential works. Null when it never has.
reasonstring | nullrequiredSet while status is needs_reauth. key_rejected: the provider refused the stored key. access_revoked: the provider no longer honours the signed-in account's grant. refresh_failed: the connector service could not refresh its token.
key_rejectedaccess_revokedrefresh_failednullintegrationIdstring | nullrequiredThe integration this secret was connected for, by signing in or with an API key. Null for a secret you stored directly. A secret connected with an API key is static with this set.
lastUsedAtstring<date-time> | nullrequiredcreatedAtstring<date-time>requiredupdatedAtstring<date-time>requirednullsessionConnectSession | nullrequiredThe consent session to finish, for a signed-in account; null once completed.
Show propertiesHide properties
sessionIdstringrequiredsessionTokenstringrequiredOpaque token for the consent window. Valid for this session only.
expiresAtstring<date-time>requiredconnectUrlstring<uri>requiredOpen in a browser to run the consent flow.
consentobjectrequiredWhat a consent window opened from the console needs.
Show propertiesHide properties
originstring<uri>requiredwebsocketsPathstringrequiredkeystringrequiredOpaque key naming the consent flow for this integration.
integrationConnectionIntegrationrequiredAn integration an account can be connected for.
Show propertiesHide properties
idstringrequiredStable id used in sessions and pack manifests.
namestringrequiredauthobjectrequiredHow an account is connected. oauth: start a connect session and sign in at the provider. api_key: create a key in the provider's own settings, following instructions, and send it to POST /api/v2/connections/keys.
Show propertiesHide properties
kindstringrequiredoauthapi_keyinstructionsstringFor api_key: where in the provider's settings the key is created, and with which permissions.
instructionsUrlstring<uri>For api_key: the provider's own page for creating the key.
hostsstring[] | nullrequiredThe API hosts the token may be sent to. Null when they come from the connected account itself (see hostsFromAccount).
hostsFromAccountbooleanrequiredTrue when the API host is the account's own (a Salesforce instance) and is fixed at connect time.
scopesstring[]requiredThe scopes requested at the provider's consent page. Empty for an api_key integration, whose access is whatever the key was given.
operationsPackstring | nullrequiredThe pack whose actions are this integration's operations: what an agent may be allowed to do once the account is connected.
workflowPacksstring[]requiredWorkflow packs that use this integration together with others.
nullBad Request - Invalid input data
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectUnauthorized - Invalid or missing API key
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectAuthenticated credential lacks the required scope or workspace access.
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectNot Found - Resource does not exist
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectThe provider did not accept the new key (CONNECTION_KEY_REJECTED). Nothing changed.
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectToo Many Requests - Rate limit exceeded
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectThe account is signed in and connected accounts are not configured on this deployment (CONNECTIONS_UNAVAILABLE).
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobjectThe new key could not be checked (CONNECTION_KEY_CHECK_FAILED), or the connected-account service did not answer (CONNECTION_PROVIDER_ERROR). Nothing changed.
successbooleanrequiredrequestIdstringrequiredCorrelation ID matching the X-Request-Id response header.
errorobjectrequiredShow propertiesHide properties
codestringmessagestringdetailsobject
