Skip to main content
For platform users: See the Connections page for dashboard-level guidance, or the Troubleshooting guide for step-by-step resolution instructions.

Overview

A connection represents a link between Nectar and a utility provider. After creation, a connection moves through a series of statuses as Nectar authenticates, discovers accounts, and collects data. Your integration should monitor these statuses and respond appropriately — some require action from you or your end user, while others resolve automatically.

Status flow

Connections follow this general lifecycle:

What each status means for your integration

Healthy statuses — no action needed

Credential errors — user action required

These statuses mean data collection is stopped until the end user provides updated credentials. Your integration should surface these to the user and provide a way to fix them.
Reconnect invitations are the recommended way to handle credential errors and MFA forwarding issues. They let the end user complete the hosted reconnect or MFA setup flow without sharing passwords with your application. See Connection invitations. The legacy magic link endpoints still work for backward compatibility.

Provider errors — automatic retry

These statuses are caused by issues on the utility provider’s side. Nectar retries automatically on the next weekly check. No action is required, but you may want to surface them to users for visibility.

System statuses

Deactivating and activating a connection

You can deactivate a connection to stop data collection without losing any historical data. Deactivated connections preserve all bills, accounts, and meter usage that were collected before the deactivation.
The connection’s status field will reflect as DEACTIVATED until you activate it.
When you activate, the connection’s status reverts to its previous operational value (e.g., CONNECTED or whatever scrape outcome it had before the deactivation), and a fresh data collection cycle begins.

Handling status changes in your integration

Subscribe to webhooks

The most efficient way to track connection status changes is via webhooks. Subscribe to these event types: The connection.updated.v2 payload includes a protectedChanges array listing which fields changed, and an old object with the previous values:

Poll for status

If webhooks aren’t suitable for your architecture, poll the connection detail endpoint periodically:
Or list all connections for a company and filter by status:
1

Monitor for credential errors

Subscribe to connection.updated.v2 webhooks. When a status change arrives, check if the new status is one of the four credential errors: PASSWORD_INCORRECT, MFA_TOKEN_EXPIRED, NEW_PASSWORD_NEEDED, or ADDITIONAL_CREDENTIALS_NEEDED.
2

Notify the end user

Surface the error in your application’s UI. Include the connection’s utility provider name (from the datasource.name field) and a clear description of what’s needed.
3

Create a reconnect invitation

Use the connection-invitation endpoint to generate a secure URL the user can visit to update their credentials. See Connection invitations for details.For MFA_TOKEN_EXPIRED, also point the customer to document upload as the recommended first option — uploaded bills produce the same downstream data and avoid MFA configuration entirely. See MFA integration.
4

Confirm resolution

After the user completes the flow, a new connection.updated.v2 webhook fires with status: "CONNECTED". Update your UI accordingly.

Account lifecycle

Each connection contains one or more accounts — individual utility accounts discovered on the provider’s website. Accounts have their own status and tracking lifecycle.

Account statuses

Account tracking

After Nectar discovers accounts on a connection, you can confirm which ones to track using the confirm endpoint:
Each account also has a trackingStatus field:

Check frequency

  • Connections are checked weekly for new data.
  • Terminal account statuses (OLD_ACCOUNT, DUPLICATE, CUSTOMER_NOT_TRACKED) are not re-checked.
  • Credential errors (PASSWORD_INCORRECT, MFA_TOKEN_EXPIRED, NEW_PASSWORD_NEEDED, ADDITIONAL_CREDENTIALS_NEEDED) stop collection until the user takes action.
  • All other statuses (including provider errors like WEBSITE_DOWN) are retried on the next weekly cycle.

Connection API endpoints

Connection statuses

Quick reference of all status values

Connection invitations

Let users create or update connections in a secure hosted UI

MFA integration

Decision tree and shareable one-pager for MFA-protected accounts