Peppol participant lookup

Looks a participant up on the Peppol network as an access point does before it sends: the SML (DNS, U-NAPTR, zone participant.sml.prod.tech.peppol.org) says whether the identifier is registered and which SMP serves it; the SMP lists the document types it receives; the Peppol Directory adds the registered name when the participant's provider published a business card. id is a participant identifier (0208:0202239951, the ICD and the value; the iso6523-actorid-upis:: prefix is optional) or a Belgian enterprise or VAT number in any usual form, which is looked up under both 0208 (enterprise number) and 9925 (VAT number) and checked against its mod-97 digits first. receives answers the sender's question for Peppol BIS Billing 3.0 (invoice, credit note), across every identifier; it is null when a registered participant's SMP did not answer and the others do not settle it. « Not registered » is an answer (200, counted). Answers are cached 6 hours (a registration takes up to a day to reach every resolver) and served marked stale up to 72 hours when the SML does not answer; otherwise 503, not counted. Discovery only: nothing is sent on the network.

GET/peppol/participant

Can this company receive Peppol invoices?

Looks a participant up on the Peppol network as an access point does before it sends: the SML (DNS, U-NAPTR, zone participant.sml.prod.tech.peppol.org) says whether the identifier is registered and which SMP serves it; the SMP lists the document types it receives; the Peppol Directory adds the registered name when the participant's provider published a business card. id is a participant identifier (0208:0202239951, the ICD and the value; the iso6523-actorid-upis:: prefix is optional) or a Belgian enterprise or VAT number in any usual form, which is looked up under both 0208 (enterprise number) and 9925 (VAT number) and checked against its mod-97 digits first. receives answers the sender's question for Peppol BIS Billing 3.0 (invoice, credit note), across every identifier; it is null when a registered participant's SMP did not answer and the others do not settle it. « Not registered » is an answer (200, counted). Answers are cached 6 hours (a registration takes up to a day to reach every resolver) and served marked stale up to 72 hours when the SML does not answer; otherwise 503, not counted. Discovery only: nothing is sent on the network.

Tiers
anonymousfreecreditsplan
Cost
1 call (cached or live); 0 on 400 or 503

Parameters

NameInTypeDescription
id*querystringA Peppol participant identifier (ICD:value) or a Belgian enterprise or VAT number.Example: BE0202.239.951

Request

curl
curl "https://veriport.io/api/v1/peppol/participant?id=BE0202.239.951"

Response 200

The participant, registered or not.

FieldTypeDescription
query*object
query.kind"participant" | "be_enterprise"
query.valuestring
registered*booleanAt least one identifier is registered in the Peppol SML.
receives*object | nullPeppol BIS Billing 3.0 documents received under any identifier; null when an SMP did not answer and the others do not settle it.
receives.invoiceboolean
receives.creditNoteboolean
participants*object[]
businessCard*object | nullFrom the Peppol Directory, when the provider published one.
businessCard.namestring
businessCard.countryCodestring | null
businessCard.registeredOnstring | null
source*object
source.smlstring
source.directoryboolean
source.checkedAtstring (date-time)
source.cacheobject
200 OK · application/json
{
  "query": {
    "kind": "be_enterprise",
    "value": "0202239951"
  },
  "registered": true,
  "receives": {
    "invoice": true,
    "creditNote": true
  },
  "participants": [
    {
      "id": "iso6523-actorid-upis::0208:0202239951",
      "registered": true,
      "smp": "https://smp.tickstar.com/peppol/",
      "documentTypes": [
        {
          "id": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1",
          "label": "Peppol BIS Billing 3.0 invoice",
          "billing": "invoice"
        },
        {
          "id": "urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1",
          "label": "Peppol BIS Billing 3.0 credit note",
          "billing": "credit_note"
        }
      ]
    },
    {
      "id": "iso6523-actorid-upis::9925:be0202239951",
      "registered": true,
      "smp": "https://smp.tickstar.com/peppol/",
      "documentTypes": [
        {
          "id": "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1",
          "label": "Peppol BIS Billing 3.0 invoice",
          "billing": "invoice"
        },
        {
          "id": "urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1",
          "label": "Peppol BIS Billing 3.0 credit note",
          "billing": "credit_note"
        }
      ]
    }
  ],
  "businessCard": {
    "name": "Proximus S.A.",
    "countryCode": "BE",
    "registeredOn": "2025-06-02"
  },
  "source": {
    "sml": "participant.sml.prod.tech.peppol.org",
    "directory": true,
    "checkedAt": "2026-11-08T13:15:08Z",
    "cache": {
      "hit": false,
      "ageSeconds": 0,
      "stale": false
    }
  }
}

Headers: RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, RateLimit-Policy, X-Quota-Remaining, X-Tier.

Errors

  • 400invalid_parameter — A parameter is missing or malformed.
  • 401unauthorized — The API key is missing, unknown or revoked.
  • 402quota_exceeded — Monthly allowance and credits are used up.
  • 429rate_limited — Too many requests per second.
  • 503upstream_unavailable — The public registry did not answer and no cached answer exists.