list_participants
List participants
The participant set, keyset-paginated. Default sort is first-seen newest-first. Comma-array filters (country, scheme, smp, ap, doctype, transport_profile, host, provenance, and the company-register cuts entity_type, sector, size, region, postcode), registered + vat_liable booleans, and a smart q (a scheme::value/bare value hits the ID index; free text runs a trigram name-contains). First-page meta carries estimated totals and rollup facets; meta.filter_count is a bounded exact count that degrades to null (never an error) if it exceeds the query timeout. Discovered participants carry no name/card fields (privacy).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Smart search: `scheme::value`/bare value → ID lookup; else name-contains. | |
| ap | No | Comma-array of serving Access Point SeatIDs (`PBE000123,PNO000456`). | |
| smp | No | Comma-array of current SMP hostnames (`smp1.example,smp2.example`). | |
| host | No | Comma-array of endpoint-URL hostnames (`ap.example.com`). Matches a participant if ANY of its current endpoints publishes an endpoint URL on one of the given hosts — the exact participant set an Access Point host serves. Case-insensitive. Used ALONE (no other filter) results are ordered by identifier and `sort` is ignored; combined with another filter the requested `sort` applies. | |
| size | No | Comma-array of company size classes (as stored; SIRENE only). | |
| sort | No | Sort + keyset key. `registered`, `entity_type` (the Type column) and `sector` (the Activity / NACE-division column) order over `(<col>, first_seen_at, id)`; the `entity_type`/`sector` views show only enriched (non-null) participants. When `doctype`/`transport_profile`/`host` is set WITHOUT any other narrowing filter, it is IGNORED — those results are driven from the endpoint index and ordered by identifier (`scheme`, `value`), the only ordering that stays inside the query timeout. Combined with another filter (`country`/`smp`/`ap`/`registered`/`provenance`/`q`), the normal sort applies. | first_seen.desc |
| limit | No | Page size, clamped to [1, 200]. Defaults to 50. | |
| cursor | No | Opaque pagination cursor returned as `next_cursor` by the previous page. | |
| region | No | Comma-array of company seat region codes (`BE-BRU,BE-VLG`). | |
| scheme | No | Comma-array of Peppol identifier schemes. | |
| sector | No | Comma-array of 2-digit NACE divisions (`47,62`). | |
| country | No | Comma-array of ISO country codes (`BE,NL`). | |
| doctype | No | Comma-array of Peppol document type ids. Matches a participant if ANY of its current endpoints declares one of the given doctypes. Used ALONE (no other filter) results are ordered by identifier and `sort` is ignored; combined with another filter the requested `sort` applies. | |
| postcode | No | Comma-array of company seat postcodes. | |
| provenance | No | Comma-array of provenance values. | |
| registered | No | Filter by current SML registration state. | |
| vat_liable | No | Filter by company VAT-liable / mandate-scope flag. | |
| entity_type | No | Comma-array of company legal-form families (`company`,`natural_person`,`association`,`public`), from the company-register enrichment denormalized onto the participant. | |
| transport_profile | No | Comma-array of transport profile ids (`peppol-transport-as4-v2_0`). Matches a participant if ANY of its current endpoints uses one of the given profiles. Used ALONE (no other filter) results are ordered by identifier and `sort` is ignored; combined with another filter the requested `sort` applies. |