API reference
PeppolCheck.fr API reference
Human-readable mirror of the OpenAPI 3.1 spec at /openapi.json. Every endpoint, parameter, response shape, and error code that the public API exposes.
Base URL
https://peppolcheck.fr — all responses are JSON, UTF-8, no authentication.
The complete machine-readable schema is at /openapi.json. The reference below is the human-readable mirror.
GET /api/v1/participant/{participantId}
Resolve a Peppol participant by its identifier in {scheme}:{value} form.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
participantId | path | string | Peppol participant ID. Pattern: \d{4}:[A-Za-z0-9._\-+]+. |
Example
curl https://peppolcheck.fr/api/v1/participant/0208:0848934496
Response shape
{
"participantId": "0208:0848934496",
"directory": {
"participantId": { "scheme": "0208", "value": "0848934496" },
"name": "CARREFOUR BELGIUM SA",
"countryCode": "BE",
"registrationDate": "2019-07-01",
"additionalInfo": null,
"geoInfo": null,
"entities": [ ... ],
"docTypes": [ { "scheme": "busdox-docid-qns", "value": "urn:oasis:..." } ]
},
"smp": {
"url": "https://smp.example/iso6523-actorid-upis%3A%3A0208%3A0848934496",
"hostname": "smp.example",
"serviceCount": 7,
"endpoint": null
}
}
GET /api/v1/search
Full-text search the Peppol Directory.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
q | query | string | Search query, at least 2 characters. Matched against company name, VAT, SIREN, KvK, OrgNr, CBE, etc. |
Example
curl 'https://peppolcheck.fr/api/v1/search?q=carrefour'
Response shape
{
"query": "carrefour",
"totalCount": 12,
"results": [
{ "participantId": "0208:0848934496", "name": "CARREFOUR BELGIUM SA", "countryCode": "BE" }
]
}
POST /ask
NLWeb natural-language endpoint. Body: { "query": "..." }. Default content type is application/json. Set Accept: text/event-stream for SSE.
curl -X POST https://peppolcheck.fr/ask \
-H 'content-type: application/json' \
-d '{ "query": "Find Carrefour on Peppol" }'
Error codes
All errors share the envelope { "error": { "code", "message" } }. See the developer docs for the full table.