Skip to main content
Each connection status has an associated statusReason that provides additional insight into why the connection is in that status and what action, if any, you should take. This page is for developers writing lifecycle handlers — use the recommended action column to decide whether to surface a reconnect prompt, schedule a retry, or treat the connection as terminal.
For the high-level status definitions, see Connection Statuses and Errors.

Status and reason reference

StatusStatus ReasonDescriptionCan be refreshed?Can reconnect?Recommended developer action
IN_PROGRESSnullCustomer is in the process of connecting within the widget.NoNoWait for the widget flow to finish; do not call refresh or repair.
EXPIREDnullCustomer abandoned the widget or did not complete the connection in 4 hours.NoNoTerminal. Create a new connection if the customer returns.
ACTIVEnullConnection completed and is healthy. Wait for webhooks to know when aggregation finishes.YesNoNormal operation. Listen for BANK_LINKING_ACCOUNTS_UPDATED and BANK_LINKING_TRANSACTIONS_AGGREGATED.
ACTIVEACCESS_EXPIRING_SOONAccess will expire eventually. Customer can reconnect to prevent expiry.YesYesPrompt the customer to reconnect in your UI; call the repair endpoint to generate a connect token.
ACTIVENEW_ACCOUNTS_AVAILABLENew accounts can be added if the customer reconnects.YesYesOptionally surface a “link new accounts” prompt and call the repair endpoint.
PARTIALLY_ACTIVEPARTIAL_AGGREGATION_SUCCESSAggregation was partially successful; some data or products are missing.YesYesRefresh to try again; if it persists, repair the connection.
PARTIALLY_ACTIVEINACTIVE_DUPLICATEThe connection is a duplicate of another connection through the same service provider. See Duplicate Connections.YesYesDecide whether to keep this duplicate. Delete it if unused; otherwise refresh to promote it to ACTIVE.
DEGRADEDINSTITUTION_CURRENTLY_UNAVAILABLETemporary institution issues.YesYesRetry later with exponential backoff; do not prompt the customer immediately.
DEGRADEDINSTITUTION_ACTION_REQUIREDCustomer action with their institution is required before a refresh can succeed (e.g., re-authorize access in the bank’s app).YesYesForward the message from the BANK_LINKING_CONNECTION_STATUS_CHANGE webhook to the customer; then refresh.
DEGRADEDSERVICE_PROVIDER_CURRENTLY_UNAVAILABLEService provider is experiencing issues.YesYesRetry later. If persistent, contact Meld support.
DEGRADEDINTERACTIVE_REFRESHCustomer participation is required for every refresh on this provider/institution.YesYesAvoid scheduled refreshes; only refresh in response to a customer action that returns them to your UI.
RECONNECT_REQUIREDLOGIN_REQUIREDCredentials changed or MFA is required.YesYesSend the customer through the repair flow.
RECONNECT_REQUIREDREPAIRING_INSTITUTIONInstitution is being repaired on the provider’s side.YesYesContinue to attempt reconnects periodically until the institution is back.
RECONNECT_REQUIREDTOKEN_EXPIREDService provider’s connection with the institution expired and needs re-authentication.YesYesSend the customer through the repair flow.
RECONNECT_REQUIREDOTHERVarious other reasons requiring reconnection.YesYesInspect serviceProviderDetails for specifics; send the customer through the repair flow.
UNRECOVERABLECONTINUED_AGGREGATION_FAILURESAggregation has failed at least three times and has not succeeded for at least two weeks.NoYesTreat as broken. Optionally invite the customer to start a fresh connection.
UNRECOVERABLEINSTITUTION_DISABLEDThe institution is no longer supported by the provider.NoYesDirect the customer to connect a different institution or via a different provider via routing.
UNRECOVERABLEOTHERVarious other reasons that have made the connection unrecoverable.NoYesInspect serviceProviderDetails; consider creating a new connection.
UNDETERMINEDAGGREGATION_TIMEOUTA timeout prevented the service provider aggregation from completing.YesYesRetry the refresh after a short delay.
UNDETERMINEDSUBMIT_SERVICE_PROVIDER_TICKETSubmit a ticket to the provider; Meld cannot resolve.YesYesOpen a ticket with the underlying service provider; retry the refresh after they confirm a fix.
UNDETERMINEDUNKNOWN_SERVICE_PROVIDER_ERROR_CODEA provider error code Meld has not seen before.YesYesNotify Meld support with the connectionId and the raw provider error; retry the refresh.
UNDETERMINEDINTERNAL_ERRORMeld internal error.YesYesNotify Meld support; retry the refresh.
DELETEDnullConnection was deleted.NoNoTerminal. Start a new connection if the customer wants to reconnect.
The BANK_LINKING_CONNECTION_STATUS_CHANGE webhook fires whenever a connection moves between statuses or status reasons. Always use this webhook as the source of truth — do not poll the connections endpoint on a schedule.