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), the single-valued sub_provider cut, registered + vat_liable booleans, and a smart q (a full Peppol ID or a bare identifier number matches the ID; other text is a name search on the business-card name or the company-register name — see q). 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. A name search that exceeds the query timeout returns an empty first page with meta.search_degraded, and a 503 on a later page. Discovered participants carry no name/card fields (privacy).

get/v1/participants

Request

  • Base URL: https://api.peppolstatus.com
  • URL: https://api.peppolstatus.com/v1/participants
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Query parameters

sort'first_seen.desc' | 'first_seen.asc' | 'name.asc' | 'name.desc' | 'country.asc' | 'country.desc' | 'registered.asc' | 'registered.desc' | 'entity_type.asc' | 'entity_type.desc' | 'sector.asc' | 'sector.desc'

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. The name sort lists only participants that have a business-card name: a participant with only a company-register name is NOT in a name-sorted list (and not in its meta.filter_count), although q can find it under the other sorts. The country sort lists only participants with a country. It is IGNORED when doctype/transport_profile/host is set WITHOUT any other narrowing filter, and when sub_provider is set without q or one of those endpoint filters — those results are driven from the matching index and ordered by identifier (scheme, value), the only ordering that stays inside the query timeout. Otherwise (an endpoint filter combined with country/smp/ap/registered/provenance/q, or sub_provider with q) the normal sort applies.

countrystring[]

Comma-array of ISO country codes (BE,NL).

schemestring[]

Comma-array of Peppol identifier schemes.

smpstring[]

Comma-array of current SMP hostnames (smp1.example,smp2.example).

apstring[]

Comma-array of serving Access Point SeatIDs (PBE000123,PNO000456).

doctypestring[]

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.

transport_profilestring[]

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.

hoststring[]

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.

sub_providerstring

ONE curated sub-provider (reseller) slug (codabox) — the same slugs GET /v1/aps/{key} reports in sub_providers[].sub_provider. Matches a participant the daily rollup fingerprinted to that brand on ANY of its current endpoints, from three signals: the SMP ServiceDescription, the SMP technical-contact domain, and the endpoint host. Only curated names resolve, so the free-text long tail is not addressable here. Unlike the other filters this one takes a single value: a comma list, or a value that is not a slug (lowercase alphanumerics, dash-separated), is a 400. The sub-provider is an ADDITIVE annotation — the ap seat stays the operator of record. Results are ordered by identifier (scheme, value) and sort is ignored, EXCEPT alongside q or doctype/transport_profile/host, where the requested sort applies. Combining it with any other filter (country, scheme, smp, ap, registered, provenance, entity_type, sector, size, region, postcode, vat_liable) evaluates that filter against the rollup's DAILY SNAPSHOT of those participant columns, not the live row — a participant changing SMP or country is reflected here on the next rollup. Those combinations report an exact meta.filter_count (filter_count_source: "exact"); adding q or an endpoint filter falls back to the bounded count.

registeredboolean

Filter by current SML registration state.

provenancestring[]

Comma-array of provenance values.

entity_typestring[]

Comma-array of company legal-form families (company,natural_person,association,public), from the company-register enrichment denormalized onto the participant.

sectorstring[]

Comma-array of 2-digit NACE Rev. 2.1 divisions (47,62).

sizestring[]

Comma-array of company size band codes, as stored (12,21): the INSEE trancheEffectifs codes for FR (NN = unknown), and for NO the same code set plus 1-4.

regionstring[]

Comma-array of company seat region codes (BE-BRU,BE-VLG).

postcodestring[]

Comma-array of company seat postcodes.

vat_liableboolean

Filter by company VAT-liable / mandate-scope flag.

not_countrystring[]

Comma-array of country codes (NO,SE) to EXCLUDE. Rows with no value are KEPT — excluding a value never drops the un-enriched remainder. Combines with its include twin: ?region=NO-03&not_region=NO-32 applies both.

not_smpstring[]

Comma-array of SMP hostnames to EXCLUDE. Rows with no value are KEPT — excluding a value never drops the un-enriched remainder. Combines with its include twin: ?region=NO-03&not_region=NO-32 applies both.

not_entity_typestring[]

Comma-array of company legal-form families (company,natural_person,association,public) to EXCLUDE. Rows with no value are KEPT — excluding a value never drops the un-enriched remainder. Combines with its include twin: ?region=NO-03&not_region=NO-32 applies both.

not_sectorstring[]

Comma-array of 2-digit NACE Rev. 2.1 divisions (47,62) to EXCLUDE. Rows with no value are KEPT — excluding a value never drops the un-enriched remainder. Combines with its include twin: ?region=NO-03&not_region=NO-32 applies both.

not_sizestring[]

Comma-array of company size band codes (as stored: 21,NN; FR and NO only) to EXCLUDE. Rows with no value are KEPT — excluding a value never drops the un-enriched remainder. Combines with its include twin: ?region=NO-03&not_region=NO-32 applies both.

not_regionstring[]

Comma-array of company seat region codes (NO-32,BE-BRU) to EXCLUDE. Rows with no value are KEPT — excluding a value never drops the un-enriched remainder. Combines with its include twin: ?region=NO-03&not_region=NO-32 applies both.

qstring

Smart search. A full Peppol ID (scheme::value, or a bare icd:value) matches that ID exactly. A bare identifier number (digits only, 4 or more) matches the participants whose ID is that number under any ICD prefix, and also names that contain it. Any other text is a name search: it matches the business-card name or the company-register name. The words can be in any order. All words must match (at most 8 words are used). Case, accents and punctuation are ignored. The search needs at least one word of 3 or more characters, else 400. A name that the response withholds is not searchable: the card name of a discovered participant and the register name of a natural person. If a name search exceeds the query timeout, the first page is returned empty with meta.search_degraded: true; a later page (with cursor) returns 503. Neither is cacheable. Use a narrower term.

limitinteger

Page size, clamped to [1, 200]. Defaults to 50.

cursorstring

Opaque pagination cursor returned as next_cursor by the previous page.

Response

A page of participants.

next_cursorstring nullable required
prev_cursorstring nullable required

Changes

No recorded changes to this operation across all 1 revision of this API.