JouloDocs

List attributed customers

Lists every Joulo customer attributed to this partner, newest profile first, in one unpaginated array. source decides how much identity a row discloses: only partner_upload and partner_invite rows carry a name, email and registration status.

GET
/partner/customers
AuthorizationBearer <token>

Partner API key, sent as Authorization: Bearer <key>. Production keys start with jpk_live_ and work only on https://api.joulo.nl. Sandbox keys start with jpk_test_ and work only on https://api-staging.joulo.nl. Sandbox keys minted before September 2026 also start with jpk_live_. A key used on the wrong host returns 401 with a detail. A key is bound to one partner and reaches only the Partner API routes. Any other route returns 404 when it does not exist. A route that needs a scope the key lacks, such as GET /sessions, returns 403 with error: Insufficient scope and a required_scope. Every other route returns 403 with error: partner_api_key_scope. Mint and revoke keys in the partner portal. A partner has one active key at a time.

In: header

Response Body

curl -X GET "https://api.joulo.nl/functions/v1/api/partner/customers"
{
  "customers": [
    {
      "customer_ref": "string",
      "external_ref": "string",
      "city": "string",
      "attached_month": "2019-08-24",
      "is_active": true,
      "effective_fee_pct": 0,
      "partner_share_pct": 0,
      "source": "partner_upload",
      "naam": "string",
      "email": "string",
      "phone": "string",
      "postal_code": "string",
      "street": "string",
      "house_number": "string",
      "registration_status": "string",
      "type": "particulier",
      "charger_brand": "string",
      "charger_model": "string",
      "charger_connection_type": "string",
      "charger_mid_eligible": true,
      "charger_count": 0,
      "has_charger": true,
      "brand_asked_at": "2019-08-24T14:15:22Z"
    }
  ]
}
{
  "error": "Missing or invalid API token"
}
{
  "error": "No partner is linked to this API key"
}
{
  "error": "Too many requests",
  "retry_after_seconds": 3
}
{
  "error": "Failed to fetch customers"
}
{
  "error": "Authentication is temporarily unavailable, try again shortly"
}