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.
/peppol/participantCan 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
| Name | In | Type | Description |
|---|---|---|---|
| id* | query | string | A Peppol participant identifier (ICD:value) or a Belgian enterprise or VAT number.Example: BE0202.239.951 |
Request
curl "https://veriport.io/api/v1/peppol/participant?id=BE0202.239.951"Response 200
The participant, registered or not.
| Field | Type | Description |
|---|---|---|
| query* | object | |
| query.kind | "participant" | "be_enterprise" | |
| query.value | string | |
| registered* | boolean | At least one identifier is registered in the Peppol SML. |
| receives* | object | null | Peppol BIS Billing 3.0 documents received under any identifier; null when an SMP did not answer and the others do not settle it. |
| receives.invoice | boolean | |
| receives.creditNote | boolean | |
| participants* | object[] | |
| businessCard* | object | null | From the Peppol Directory, when the provider published one. |
| businessCard.name | string | |
| businessCard.countryCode | string | null | |
| businessCard.registeredOn | string | null | |
| source* | object | |
| source.sml | string | |
| source.directory | boolean | |
| source.checkedAt | string (date-time) | |
| source.cache | object |
{
"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
- 400
invalid_parameter— A parameter is missing or malformed. - 401
unauthorized— The API key is missing, unknown or revoked. - 402
quota_exceeded— Monthly allowance and credits are used up. - 429
rate_limited— Too many requests per second. - 503
upstream_unavailable— The public registry did not answer and no cached answer exists.