Validation
Validate UBL XML against PEPPOL BIS 3.0 Schematron rules.
Validate your UBL documents against PEPPOL rules without sending them. This is useful for pre-flight checks, debugging, and integration testing.
Validate UBL XML
POST
/bizzlink/document/validateValidates a UBL 2.1 Invoice or Credit Note XML document against PEPPOL BIS 3.0 Schematron rules.
Request body is a JSON:API resource envelope with data.type = "validations", and
data.attributes.to_validate containing the UBL XML. The response data.attributes has
valid (boolean) and errors (list) — populated synchronously.
Request Body:
| Field | Type | Required | Description |
|---|---|---|---|
data | object | Yes | Resource envelope. 'attributes' holds the domain fields; 'meta.scope' declares whether the resource belongs to the whole tenant or to a specific legal entity (Peppol ID). |
Responses:
| Status | Description |
|---|---|
200 | Validation completed |
422 | Schematron validation error |
500 | Internal server error |
Response Body — JsonApiDocumentValidationResultAttributes:
| Field | Type | Description |
|---|---|---|
data | JsonApiResourceValidationResultAttributes |
cURL Request
curl -X POST https://gateway.vigasoft.lu/bizzlink/document/validate \
-H "Authorization: Bearer $API_TOKEN" \
-H "X-Bizzlink-Signature: t=$TIMESTAMP,v1=$SIGNATURE" \
-H "Content-Type: application/json" \
-d '{
"data": {}
}'Response
200 OK{
"data": {
"attributes": {
"errors": [
{
"flag": "fatal_error",
"id": "BR-01",
"location": "/Invoice/cac:AccountingSupplierParty",
"severity": "FATAL_ERROR",
"text": "An Invoice shall have a Specification identifier"
}
],
"valid": true
},
"id": "770e8400-e29b-41d4-a716-446655440000",
"type": "invoices"
}
}