ERE positions
Per-account eligibility checklist and delivered charging data • monetary position fields follow later.
ERE positions
GET /v1/ere-positions — scope cpo:accounts:read
One row per account: is it ERE-eligible, which onboarding gates are still
open, and which months of charging data we received from you. Paginated with
?limit (default 50, max 200) and ?offset; narrow to one account with
?cpo_external_ref=.
curl "https://api.joulo.nl/functions/v1/api/v1/ere-positions?cpo_external_ref=your-crm-id-001" \
-H "Authorization: Bearer <token>"{
"positions": [
{
"account_id": "60092124-…",
"cpo_external_ref": "your-crm-id-001",
"payout_handler": "via_cpo_invoicing",
"ere_eligible": true,
"mandate_valid_from": "2026-01-01",
"checklist": {
"mandate_signed": true,
"ean_validated": true,
"mid_charger_registered": true,
"iban_present": true
},
"delivered_months": [
{
"period": "2026-07-01",
"total_kwh": 184.2,
"session_count": 31,
"status": "staged",
"received_at": "2026-08-01T09:12:00Z"
}
],
"total_kwh_delivered": 184.2,
"ere": null
}
],
"limit": 50,
"offset": 0,
"count": 1
}The checklist
The four automated gates that make an account ERE-eligible. ere_eligible
flips to true when all four are green:
| Field | Meaning |
|---|---|
mandate_signed | The customer signed the machtiging on the Joulo-hosted screen. |
ean_validated | The account has an active connection whose EAN address check did not return mismatched. See below. |
mid_charger_registered | An active charger from a MID-certified catalog model is bound to the connection. |
iban_present | An IBAN is on file. Required for every account, also under via_cpo_invoicing. |
ean_validated passes on every EAN check result except mismatched: that is
matched, unverified, unavailable, and a connection with no result yet.
Joulo reviews an unverified or unavailable connection by hand, but this
gate does not wait for that review. It is false when the account has no
active connection, or when a later check by Joulo found the EAN at another
address.
ere_eligible says the account is complete. It does not say a given month
counts. For that, read mandate_valid_from: the date the signed machtiging
starts, or null before signing. A switcher is eligible today and counts from
1 January of the next year.
Delivered months
Every month you pushed through POST /v1/sessions:batch, with its status:
staged— received and stored; not yet part of the ERE pipeline.promoted— promoted into the ERE pipeline; counts toward the position.outside_mandate: stored, but beforemandate_valid_from, so it will never count.
The ere block
ere is null for now. The allocation, value and payout figures per
account • and which monetary numbers apply per payout_handler model •
are still being structured on our side. The field is already in the
response so the shape won't change under you: it becomes an object once
those figures go live, announced ahead of time.