Bayou Customer Lifecycle

Every integration follows the same path: you create a customer, the customer authenticates with their utility via Bayou, Bayou discovers their data, and then Bayou shares that data and keeps the data fresh. Each state is indicated by a webhook or API field, as described here:

Lifecycle stageWebhook indicatorREST API IndicatorWhat you do next
Customer createdn/aYou created the customer via post to /api/v2/customersOnboard the customer, via onboarding link or embedded form.
Customer authenticatedcustomer_has_filled_credentialsCustomer object has_filled_credentials field is trueNothing yet — wait for data.
A bill was discoverednew_bill (parsed) / new_unparsed_billBills are immediately retrievable via api/v2/customers/[customer_id]/billsOptionally ingest each bill as it arrives. Depending on your unlocking configuration, you may need to unlock bills before using them.
Initial bill discovery finishedbills_readyCustomer object'sbills_are_ready field is trueIngest the bills directly in the bills_ready payload, or GET /customers/{id}/bills. Depending on your unlocking configuration, you may need to unlock bills before using them.
Initial interval discovery finishedintervals_readyCustomer object'sintervals_are_ready field is trueGET /customers/{id}/intervals if you utilitize intervals.
A bill changedupdated_billn/aRe-process that bill as needed.
New interval datan/aNew intervals will be available at /customers/{id}/intervalsPoll GET /customers/{id}/intervals (at most daily) if you need updated interval data.
Connection brokecustomer_must_reauthenticateCustomer object'sis_currently_authenticated field is falseRegenerate the onboarding link/token and re-prompt the customer. See re-authentication.