Partner Peppol IDs
Manage Peppol IDs on legal entities (Partner API only).
List Peppol IDs on legal entity
GET
/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-idsList Peppol IDs on legal entity
Responses
| Status | Description |
|---|---|
200 | Peppol ID list |
403 | Not a partner or tenant not a child |
404 | Tenant or legal entity not found |
Response Body — JsonApiListDocumentPeppolIdResponseAttributes
| Field | Type | Description |
|---|---|---|
JsonApiResourcePeppolIdResponseAttributes[] | ||
PeppolIdResponseAttributes | Resource-specific fields. | |
active | boolean | Whether the Peppol ID is active. |
bcAdditionalIdScheme | string | Business card additional identifier scheme; null = 'bizzlink.lu'. |
bcAdditionalIdValue | string | Business card additional identifier value; null = legal entity VAT. |
bcAdditionalInformation | string | Business card free-text AdditionalInformation (developer-chosen via API; 'bizzlink.lu' for UI-managed). |
bcCountryCode | string | Business card country (ISO 3166-1 alpha-2); null = legal entity default. |
bcGeographicalInfo | string | Business card geographical information; null = legal entity default. |
bcName | string | Business card name (Peppol Directory); null = legal entity default. |
bcRegistrationDate | date | Business card registration date (ISO date); null = Peppol ID creation date. |
createdAt | datetime | Timestamp when created. |
description | string | Description. |
isDefault | boolean | Whether this is the default Peppol ID for the legal entity. |
participantId | string | Participant identifier. |
peppolId | string | Full Peppol ID (schemeId:participantId). |
schemeId | string | ISO 6523 ICD code. |
smpRegistered | boolean | Whether registered in SMP. |
id | string | Unique resource identifier (UUID). Use this value to poll the status endpoint or to reference the resource in subsequent requests. |
type | string | Resource type — matches the endpoint (e.g. 'invoices' for POST /documents/invoices, 'documents' for GET /documents/{id}/status). |
JsonApiLinks | ||
first | string | URL of the first page. |
last | string | URL of the last page. |
next | string | URL of the next page, null on last page. |
prev | string | URL of the previous page, null on first page. |
self | string | URL of the current page. |
JsonApiPaginationMeta | ||
page | integer | 1-based index of the current page. |
size | integer | Number of items per page. |
totalElements | integer | Total number of items across all pages. |
totalPages | integer | Total number of pages. |
cURL Request
curl -X GET https://gateway.vigasoft.lu/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-ids \
-H "Authorization: Bearer $API_TOKEN" \
-H "X-Bizzlink-Signature: t=$TIMESTAMP,v1=$SIGNATURE"Response
200 OK{
"data": [
{
"attributes": {
"active": false,
"bcAdditionalIdScheme": "string",
"bcAdditionalIdValue": "string",
"bcAdditionalInformation": "string",
"bcCountryCode": "string",
"bcGeographicalInfo": "string",
"bcName": "string",
"bcRegistrationDate": "2026-01-01",
"createdAt": "2026-01-01T00:00:00Z",
"description": "Hauptsitz Luxembourg",
"isDefault": false,
"participantId": "lu12345678",
"peppolId": "9938:lu12345678",
"schemeId": "9938",
"smpRegistered": false
},
"id": "770e8400-e29b-41d4-a716-446655440000",
"type": "peppol-ids"
}
],
"links": {
"first": "https://gateway.vigasoft.lu/bizzlink/documents?page%5Bnumber%5D=1&page%5Bsize%5D=20",
"last": "https://gateway.vigasoft.lu/bizzlink/documents?page%5Bnumber%5D=7&page%5Bsize%5D=20",
"next": "https://gateway.vigasoft.lu/bizzlink/documents?page%5Bnumber%5D=4&page%5Bsize%5D=20",
"prev": "https://gateway.vigasoft.lu/bizzlink/documents?page%5Bnumber%5D=2&page%5Bsize%5D=20",
"self": "https://gateway.vigasoft.lu/bizzlink/documents?page%5Bnumber%5D=3&page%5Bsize%5D=20"
},
"meta": {
"page": 1,
"size": 20,
"totalElements": 137,
"totalPages": 7
}
}Create Peppol ID on legal entity
POST
/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-idsCreates a new Peppol identifier on a legal entity. SchemeId and participantId are validated against the official Peppol scheme registry. If isDefault=true, all other Peppol IDs on this legal entity are set to non-default.
Request Body
| Field | Type | Description |
|---|---|---|
| required | object | 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). |
| required | PeppolIdCreateAttributes | The actual resource fields. |
bcAdditionalIdScheme | string | Business card additional identifier type/scheme (optional, e.g. a VAT or company-register scheme). Omitted from the card when empty. |
bcAdditionalIdValue | string | Business card additional identifier value. Defaults to the legal entity VAT number. |
bcAdditionalInformation | string | Business card free-text AdditionalInformation (Peppol Directory). Developer-chosen; omitted from the card when empty. |
bcCountryCode | string | Business card country (ISO 3166-1 alpha-2). Defaults to the legal entity address country. |
bcGeographicalInfo | string | Business card geographical information. Defaults to the legal entity city. |
bcName | string | Business card name for the Peppol Directory. Defaults to the legal entity name. |
bcRegistrationDate | date | Business card registration date (ISO date). Defaults to the Peppol ID creation date. |
default | boolean | |
descriptionrequired | string | Description for this Peppol ID. |
participantIdrequired | string | Participant identifier within the scheme. |
schemeIdrequired | string | ISO 6523 ICD code (e.g. '9938' for LU:VAT, '0240' for LU:MAT). |
smpRegister | boolean | Whether to register this Peppol ID in the SMP immediately. |
JsonApiMeta | Optional JSON:API meta. Only used by scoped resources (e.g. email templates, notification emails) to declare their ownership scope. | |
| required | JsonApiScope | |
typerequired | string | Scope type. 'tenant' = applies to the whole tenant. 'legal-entity' = applies only to the Peppol ID given in 'value'. 'partner' = applies to all child tenants of the calling partner tenant; 'value' must be empty. |
value | string | Required when type='legal-entity': the Peppol ID (scheme:identifier) that owns this resource, e.g. '9938:lu28079289'. Must belong to the requesting tenant. Ignored when type='tenant'. Must be empty when type='partner'. |
type | string | Must be 'peppol-ids' for this endpoint. |
Responses
| Status | Description |
|---|---|
201 | Peppol ID created |
403 | Not a partner or tenant not a child |
404 | Tenant or legal entity not found |
422 | Invalid scheme or participant ID |
cURL Request
curl -X POST https://gateway.vigasoft.lu/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-ids \
-H "Authorization: Bearer $API_TOKEN" \
-H "X-Bizzlink-Signature: t=$TIMESTAMP,v1=$SIGNATURE" \
-H "Content-Type: application/json" \
-d '{
"data": {}
}'Delete Peppol ID
DELETE
/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-ids/{peppolIdId}Deactivates a Peppol ID. Cannot delete if SMP-registered.
Responses
| Status | Description |
|---|---|
204 | Peppol ID deleted |
403 | Not a partner or tenant not a child |
404 | Peppol ID not found |
409 | Cannot delete SMP-registered Peppol ID |
cURL Request
curl -X DELETE https://gateway.vigasoft.lu/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-ids/{peppolIdId} \
-H "Authorization: Bearer $API_TOKEN" \
-H "X-Bizzlink-Signature: t=$TIMESTAMP,v1=$SIGNATURE"Deregister Peppol ID from the SMP
POST
/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-ids/{peppolIdId}/deregisterRemoves the Peppol ID (ServiceGroup + all ServiceMetadata) from the SMP of its environment and clears the smpRegistered flag.
Responses
| Status | Description |
|---|---|
200 | Deregistered |
403 | Not a partner or tenant not a child |
404 | Peppol ID not found |
Response Body — JsonApiDocumentPeppolIdResponseAttributes
| Field | Type | Description |
|---|---|---|
JsonApiResourcePeppolIdResponseAttributes | ||
PeppolIdResponseAttributes | Resource-specific fields. | |
active | boolean | Whether the Peppol ID is active. |
bcAdditionalIdScheme | string | Business card additional identifier scheme; null = 'bizzlink.lu'. |
bcAdditionalIdValue | string | Business card additional identifier value; null = legal entity VAT. |
bcAdditionalInformation | string | Business card free-text AdditionalInformation (developer-chosen via API; 'bizzlink.lu' for UI-managed). |
bcCountryCode | string | Business card country (ISO 3166-1 alpha-2); null = legal entity default. |
bcGeographicalInfo | string | Business card geographical information; null = legal entity default. |
bcName | string | Business card name (Peppol Directory); null = legal entity default. |
bcRegistrationDate | date | Business card registration date (ISO date); null = Peppol ID creation date. |
createdAt | datetime | Timestamp when created. |
description | string | Description. |
isDefault | boolean | Whether this is the default Peppol ID for the legal entity. |
participantId | string | Participant identifier. |
peppolId | string | Full Peppol ID (schemeId:participantId). |
schemeId | string | ISO 6523 ICD code. |
smpRegistered | boolean | Whether registered in SMP. |
id | string | Unique resource identifier (UUID). Use this value to poll the status endpoint or to reference the resource in subsequent requests. |
type | string | Resource type — matches the endpoint (e.g. 'invoices' for POST /documents/invoices, 'documents' for GET /documents/{id}/status). |
cURL Request
curl -X POST https://gateway.vigasoft.lu/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-ids/{peppolIdId}/deregister \
-H "Authorization: Bearer $API_TOKEN" \
-H "X-Bizzlink-Signature: t=$TIMESTAMP,v1=$SIGNATURE" \
-H "Content-Type: application/json"Response
200 OK{
"data": {
"attributes": {
"active": false,
"bcAdditionalIdScheme": "string",
"bcAdditionalIdValue": "string",
"bcAdditionalInformation": "string",
"bcCountryCode": "string",
"bcGeographicalInfo": "string",
"bcName": "string",
"bcRegistrationDate": "2026-01-01",
"createdAt": "2026-01-01T00:00:00Z",
"description": "Hauptsitz Luxembourg",
"isDefault": false,
"participantId": "lu12345678",
"peppolId": "9938:lu12345678",
"schemeId": "9938",
"smpRegistered": false
},
"id": "770e8400-e29b-41d4-a716-446655440000",
"type": "peppol-ids"
}
}Register Peppol ID at the SMP
POST
/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-ids/{peppolIdId}/registerRegisters the Peppol ID at the SMP of ITS environment (LIVE → production Peppol SMP, SANDBOX → test Peppol SMP) — so prod and test are registered separately, each via the Peppol ID created for that environment. Seeds the default document types if none are linked yet. Idempotent (re-runnable).
Responses
| Status | Description |
|---|---|
200 | Registered |
403 | Not a partner or tenant not a child |
404 | Peppol ID not found |
502 | SMP rejected the registration |
Response Body — JsonApiDocumentPeppolIdResponseAttributes
| Field | Type | Description |
|---|---|---|
JsonApiResourcePeppolIdResponseAttributes | ||
PeppolIdResponseAttributes | Resource-specific fields. | |
active | boolean | Whether the Peppol ID is active. |
bcAdditionalIdScheme | string | Business card additional identifier scheme; null = 'bizzlink.lu'. |
bcAdditionalIdValue | string | Business card additional identifier value; null = legal entity VAT. |
bcAdditionalInformation | string | Business card free-text AdditionalInformation (developer-chosen via API; 'bizzlink.lu' for UI-managed). |
bcCountryCode | string | Business card country (ISO 3166-1 alpha-2); null = legal entity default. |
bcGeographicalInfo | string | Business card geographical information; null = legal entity default. |
bcName | string | Business card name (Peppol Directory); null = legal entity default. |
bcRegistrationDate | date | Business card registration date (ISO date); null = Peppol ID creation date. |
createdAt | datetime | Timestamp when created. |
description | string | Description. |
isDefault | boolean | Whether this is the default Peppol ID for the legal entity. |
participantId | string | Participant identifier. |
peppolId | string | Full Peppol ID (schemeId:participantId). |
schemeId | string | ISO 6523 ICD code. |
smpRegistered | boolean | Whether registered in SMP. |
id | string | Unique resource identifier (UUID). Use this value to poll the status endpoint or to reference the resource in subsequent requests. |
type | string | Resource type — matches the endpoint (e.g. 'invoices' for POST /documents/invoices, 'documents' for GET /documents/{id}/status). |
cURL Request
curl -X POST https://gateway.vigasoft.lu/bizzlink/tenants/{tenantId}/legal-entities/{leId}/peppol-ids/{peppolIdId}/register \
-H "Authorization: Bearer $API_TOKEN" \
-H "X-Bizzlink-Signature: t=$TIMESTAMP,v1=$SIGNATURE" \
-H "Content-Type: application/json"Response
200 OK{
"data": {
"attributes": {
"active": false,
"bcAdditionalIdScheme": "string",
"bcAdditionalIdValue": "string",
"bcAdditionalInformation": "string",
"bcCountryCode": "string",
"bcGeographicalInfo": "string",
"bcName": "string",
"bcRegistrationDate": "2026-01-01",
"createdAt": "2026-01-01T00:00:00Z",
"description": "Hauptsitz Luxembourg",
"isDefault": false,
"participantId": "lu12345678",
"peppolId": "9938:lu12345678",
"schemeId": "9938",
"smpRegistered": false
},
"id": "770e8400-e29b-41d4-a716-446655440000",
"type": "peppol-ids"
}
}