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

NameInTypeDescription
participantIdpathstringPeppol 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

NameInTypeDescription
qquerystringSearch 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.