Belgian SMP

Version: 1.3.0

This documentation describes the REST (Representational State Transfer) interface for the National Belgian Service Metadata Publication (SMP) within the Business Document Exchange Network (BUSDOX). It describes the request/response exchanges between the SMP and a client wishing to discover document information. A client could be an end-user business application or an Access Point for non modifying requests (GET) or an Access Point only for modifying requests (PUT/DELETE). More information about the Belgian PEPPOL network can be found here

Changes

v1.2.0

v1.3.0

Quick links

Identifiers scheme Detailed registration and deregistration process for a participant.
Documents identifiers Detailed registration and deregistration process for a participant.
Registration process Step by step guide on how to register a new participant and a new document.
API endpoints Detailed view of all endpoints available on the smp.belgium.be.
Error codes Detailed view of all the possible error codes, and how to troubleshoot them.

Security

Certificate usage

Description:

GET : HTTP only public request.

Following the PEPPOL specification, the GET api endpoints are available using unauthenticated http request.

PUT, DELETE : HTTPS client side SSL CA.

PEPPOL does not specify the way the SMP must be updated. The Belgium SMP uses a REST API following the same design as the public request API. When calling modifying API Endpoints, namely PUT and DELETE, the caller is expected to present a valid Access Point X.509 certificate. This certificate must be either an Access Point production or test certificate, delivered by the PEPPOL authorities. The certificate is used for SSL client side authentication.

Registration

Identifiers scheme

Only Belgian participants can be registered in the Belgian SMP. Use of identifiers In line with the Belgian legal framework, enterprises are expected to use their enterprise number in the Belgian Crossroad Bank of Enterprises. In order to facilitate this, the Belgian Authorities have registered a specific Identification scheme in the ISO6523 identifiers ("iso6523-actorid-upis"), “BE:EN” (ID: 0208). Enterprises are strongly recommended to use this Identification scheme on their e-Invoices, as this considerably simplifies the master vendor data management, and guarantees proper routing of documents between correspondents. Identification Scheme BE:VAT, although still tolerated, is rather to be used for non-domestic correspondence, and for meeting VAT-specific requirements. All active entities of the Belgian Authorities are registered with their enterprise number.

No other requirements than owning a CBE number. This is the go to identifier scheme for registering a participant.

Example: iso6523-actorid-upis::0208:0878065378

Although not recommended, participants can still be registered using their VAT number. Some restrictions apply:

  • VAT number must follow the "BE"+"CBE number" format
  • An equivalent Participant must be already registered with his CBE number, an error BELMA-204 is thrown if it doesn't exist
  • Cannot unregister a participant with CBE identifier before unregistering his VAT identifier

Example: iso6523-actorid-upis::9925:BE0878065378

The Peppol Identification scheme 9956 is obsolete since 17.5.2021.

Documents identifiers

In order to comply with Peppol requirement, the smp.belgium.be will check that the UBL BIS document is registered before any other UBL document of the same type. The system is using the following list of BIS documents:

  • Invoice
  • Invoice response
  • Order
  • Order agreement
  • Order response
  • Catalogue
  • Catalogue response
  • Credit note
  • Despatch advice
  • Application response
  • Punch out

Unknown documents or none UBL documents will not be blocked by this check. See the list of know documents.

Registration process

Participant registration URL

Registering a participant starts with building the PUT URL using the participant identifier. PEPPOL defines the identifier as "identifierScheme::countryPrefix:ID". Belgian participants, as defined in the Identifier Scheme "iso6523-actorid-upis", can use the format 0208:EN or 9925:VAT. To register a participant with BCE 0123.456.789, the participant ID is "iso6523-actorid-upis::0208:0123456789".

Note that the complete participant identifier is URL encoded.

URL
https://smp-test.belgium.be/rw/iso6523-actorid-upis%3A%3A0208%3A0123456789
API Body

Peppol uses the ServiceGroup xml element to communicate data about participants. For this example the ServiceGroup is

Example for application/xml
<smp:ServiceGroup>
    <ids:ParticipantIdentifier scheme="iso6523-actorid-upis">
        0208:0123456789
    </ids:ParticipantIdentifier>
    <smp:ServiceMetadataReferenceCollection>
    </smp:ServiceMetadataReferenceCollection>
    <smp:Extension>
    </smp:Extension>
</smp:ServiceGroup>
Authentication via certificate

Finally, to execute PUT requests on the SMP, a valid PEPPOL AP certificate is needed, encoded in PEM format. You'll need to match the certificate with the endpoint (test cert for test and prod cert for prod endpoint).

Call example

The PUT request, is as follow (this example is for CURL):

CURL command
curl -X PUT https://smp-test.belgium.be/rw/iso6523-actorid-upis%3A%3A0208%3A0123456789 -k -H 'Content-type: text/xml' -d @ServiceGroup.xml --cert myTestApCert.pem:mycertpassword
Verification

After this step, your participant info should be available on the SMP under the address http://smp-test.belgium.be/iso6523-actorid-upis%3A%3A0208%3A0123456789.

Peppol directory

The new participant will be automatically registered in the Peppol Directory (https://directory.peppol.eu/public). Note that this process is asynchronous and it might take some time until it is actually displayed in the Peppol Directory.

Document registration URL

Similarly to step 1, a document needs an identifier, composed with:

  • An identifier format type, typically "busdox-docid-qns"
  • A namespace, for example "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
  • A local name. For instance the BIS invoice "urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0"
  • And a subtype identifier, like "UBL-2.1"

The complete document identifier is then "busdox-docid-qns::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".

URL
https://smp-test.belgium.be/rw/iso6523-actorid-upis%3A%3A0208%3A0216770155/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-2%3A%3AInvoice%23%23urn%3Acen.eu%3Aen16931%3A2017%23compliant%23urn%3Afdc%3Apeppol.eu%3A2017%3Apoacc%3Abilling%3A3.0%3A%3A2.1
API Body

Documents are defined using ServiceMetadata xml element. For this document, the ServiceMetadata can be written:

Example for application/xml
<SignedServiceMetadata xmlns="http://busdox.org/serviceMetadata/publishing/1.0/" xmlns:ids="http://busdox.org/transport/identifiers/1.0/">
    <ServiceMetadata xmlns="http://busdox.org/serviceMetadata/publishing/1.0/" >
        <smp:ServiceInformation>
        <ids:ParticipantIdentifier scheme="iso6523-actorid-upis">
            0208:0123456789
        </ids:ParticipantIdentifier>
        <ids:DocumentIdentifier scheme="busdox-docid-qns">
        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
        </ids:DocumentIdentifier>
        <smp:ProcessList>
            <smp:Process>
            <ids:ProcessIdentifier scheme="cenbii-procid-ubl">
                urn:fdc:peppol.eu:2017:poacc:billing:01:1.0
            </ids:ProcessIdentifier>
            <smp:ServiceEndpointList>
                <smp:Endpoint transportProfile="peppol-transport-as4-v2_0">
                    <wsa:EndpointReference xmlns="http://www.w3.org/2005/08/addressing">
                        <Address>https://www.APEPPOLAP.be/AS4.In.acc</Address>
                    </wsa:EndpointReference>
                    <smp:RequireBusinessLevelSignature>
                        true
                    </smp:RequireBusinessLevelSignature>
                    <smp:ServiceDescription>
                        Invoice Service
                    </smp:ServiceDescription>
                    <smp:TechnicalContactUrl>
                        http://example.com
                    </smp:TechnicalContactUrl>
                    <smp:TechnicalInformationUrl>
                        http://example.com/info
                    </smp:TechnicalInformationUrl>
                    <smp:Extension>
                        <!-- Optional -->
                    </smp:Extension>
                </smp:Endpoint>
            </smp:ServiceEndpointList>
            <smp:Extension>
            <!-- Optional -->
            </smp:Extension>
            </smp:Process>
        </smp:ProcessList>
        <smp:Extension>
        <!-- Optional -->
        </smp:Extension>
        </smp:ServiceInformation>
    </ServiceMetadata>
</SignedServiceMetadata>
Call example

As for the participant, to execute the PUT requests on the SMP, a valid PEPPOL AP certificate is needed, encoded in PEM format. The PUT request, is as follow (this example is for CURL):

CURL command
curl -X PUT https://smp-test.belgium.be/rw/iso6523-actorid-upis%3A%3A0208%3A0123456789/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-2%3A%3AInvoice%23%23UBL-2.0 -k -H 'Content-type: text/xml' -d @ServiceMetadata.xml --cert myTestApCert.pem:mycertpassword
Verification
You can now consult the ServiceMetadata on http://smp-test.belgium.be/iso6523-actorid-upis%3A%3A0208%3A0123456789/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-2%3A%3AInvoice%23%23UBL-2.0

Peppol Directory

The Belgian SMP is compliant with the Peppol Directory. Belgian participants are automatically created in the Peppol Directory when they are registered in the Belgian SMP. As CBE number is a mandatory information in the Belgian SMP, participants will be registered in the Peppol Directory using this identifier. If a VAT number is also registered in the Belgian SMP, the participant in the Peppol Directory will contain both CBE and VAT identifiers.
When a participant is removed from the Belgian SMP, it will also be removed from the Peppol Directory.
Note that adding or removing a participant is an asynchronous process and it might take some time until changes are actually reflected in the Peppol Directory itself.

The Peppol Directory has two environments (test & prod):

API endpoints

Path Operation Description
/{identifierscheme}::{id} DELETE

Delete a Participant from the SMP

GET

Return a PEPPOL Participant's ServiceGroup. This endpoint is part of the SMP PEPPOL specifications.

PUT

Register a new Participant in the SMP

/{identifierscheme}::{id}/services/{docType} DELETE

Delete a participant's document type from the SMP

GET

Return a PEPPOL Participant's ServiceMetadata. This endpoint is part of the SMP PEPPOL specification.

PUT

Register a new document type for a participant in the SMP

Return a PEPPOL Participant's ServiceGroup. This endpoint is part of the SMP PEPPOL specifications.

GET /{identifierscheme}::{id}

The endpoint can also be called without the {identifierscheme} parameter, i.e GET /{id}

Return a PEPPOL Participant's ServiceGroup, an xml document holding the participant identifier of the recipient, and a list of references to individual ServiceMetadata resources that are associated with that participant identifier. For more information about ServiceGroup, see section 4.2 in the SMP specifications

id

Identifier of PEPPOL participant

path string
identifierscheme

Scheme under which the identifier is registered (optional)

path string
CURL command
curl -X GET --header 'Accept: application/xml' 'http://smp.belgium.be/{identifierscheme}::{id}
                                        

application/xml text/xml

200 OK

ServiceGroup successfuly retrieved

Example for application/xml
<smp:ServiceGroup>
    <ids:ParticipantIdentifier scheme="xs:string">
        xs:string
    </ids:ParticipantIdentifier>
    <smp:ServiceMetadataReferenceCollection>
        <smp:ServiceMetadataReference href="xs:anyURI" />*
    </smp:ServiceMetadataReferenceCollection>
    <smp:Extension>
        xs:any
    </smp:Extension>?
</smp:ServiceGroup>
                                            
404 Not Found

[BELMA-001] Participant is not registered in the SMP

500 Internal Server Error

[BELMA-999] The service encountered an internal error

Delete a Participant from the SMP

DELETE /{identifierscheme}::{id}

The endpoint can also be called without the {identifierscheme} parameter, i.e DELETE /{id}

Delete the Participant registered in the SMP corresponding to the given participant {id}. All of the participant's ServiceMetadata are also deleted. The participant is also deleted from the SML (SMK).

The participant will also be deleted from the Peppol Directory. If only the VAT number is deleted from a participant, the entry in the Peppol Directory will only be updated to remove the VAT identifier. A participant is completely removed from the Peppol Directory when its CBE number is deleted from the SMP.
Note that this process is asynchronous and it might take some time until it is actually removed from the Peppol Directory.

id

Identifier of PEPPOL participant

path string
identifierscheme

Scheme under which the identifier is registered (optional)

path string
CURL command
curl -X DELETE --cert ./my-AP-cert --header 'Accept: application/xml' 'https://smp.belgium.be/rw/{identifierscheme}::{id}
                                        
200 OK

ServiceGroup successfuly deleted

401 Unauthorized

[BELMA-801] Current Access Point is not the owner of this participant

[BELMA-802] No certificate supplied with the request

[BELMA-803] Error while parsing client certificate

[BELMA-804] Certificate expired or not yet valid

[BELMA-805] Certificate cannot be trusted by PEPPOL trustStore

[BELMA-806] Certificate environment does not match with requested environment (test or prod)

[BELMA-808] Certificate is not a PEPPOL ACCESS POINT certificate

404 Not Found

[BELMA-001] Participant is not registered in the SMP

[BELMA-003] BusinessIdentifier does not match any identifier schemes"

[BELMA-209] Unable to delete peppol participant from SML/K.

500 Internal Server Error

[BELMA-999] The service encountered an internal error

sslCA
Register a new Participant in the SMP

PUT /{identifierscheme}::{id}?migrationKey={migrationKey}

The endpoint can also be called without the {identifierscheme} parameter, i.e PUT /{id}

Register a new Participant in the SMP using a ServiceGroup document. The document must follow the specifications described in section 4.2 of the SMP specifications.

The newly registered Participant is then recorded in the SML (or SMK if registered by a test Access Point). If a migrationKey is provided, the SML (or SMK) migration process is applied otherwise a registration is performed.

The participant will also be automatically registered in the Peppol Directory. Note that this process is asynchronous and it might take some time until it is actually displayed in the Peppol Directory.

application/xml text/xml

The xml of the new participant ServiceGroup

<smp:ServiceGroup xmlns="http://busdox.org/serviceMetadata/publishing/1.0/"
                     xmlns:ids="http://busdox.org/transport/identifiers/1.0/">
    <ids:ParticipantIdentifier scheme="iso6523-actorid-upis">
        9925:example
    </ids:ParticipantIdentifier>
    <smp:ServiceMetadataReferenceCollection>
    </smp:ServiceMetadataReferenceCollection>
    <smp:Extension>
        <Example xmlns="http://test.com">Example</Example>
    </smp:Extension>
</smp:ServiceGroup>
                                    
id

Identifier of PEPPOL participant

path string
identifierscheme

Scheme under which the identifier is registered (optional)

path string
migrationKey

migration key use to perform the SML migrate process

query string
CURL command
curl -X PUT --cert ./my-AP-cert -H "Content-Type: application/xml" --data-binary "ServiceGroup.xml" 'https://smp.belgium.be/rw/{identifierscheme}::{id}?migrationKey={migrationKey}
                                        
200 OK

ServiceGroup successfuly registered

400 Bad Request

[BELMA-201] No valid entry in KBO for participant

[BELMA-202] CBE number must be 10 digits long

[BELMA-203] Participant identifier does not match a Belgian Identifier Scheme

[BELMA-205] Submitted ServiceGroup document is not a valid xml document

[BELMA-206] Mismatch between document and url participant identifier

[BELMA-207] Participant already registered in the SMP

[BELMA-208] Participant already registered in the SML

401 Unauthorized

[BELMA-801] Current Access Point is not the owner of this participant

[BELMA-802] No certificate supplied with the request

[BELMA-803] Error while parsing client certificate

[BELMA-804] Certificate expired or not yet valid

[BELMA-805] Certificate cannot be trusted by PEPPOL trustStore

[BELMA-806] Certificate environment does not match with requested environment (test or prod)

[BELMA-808] Certificate is not a PEPPOL ACCESS POINT certificate

[BELMA-810] Unable to migrate peppol participant

500 Internal Server Error

[BELMA-999] The service encountered an internal error

sslCA
Return a PEPPOL Participant's ServiceMetadata. This endpoint is part of the SMP PEPPOL specification.

GET /{identifierscheme}::{id}/services/{docType}

The endpoint can also be called without the {identifierscheme} parameter, i.e GET /{id}/services/{docType}

Return a PEPPOL Participant's ServiceMetadta, an xml document holding the participant identifier of the recipient, the document indentifier of the requested ressource, and a list of processes the caller can use to retrieve the requested document associated with that participant identifier. For more information about ServiceMetadata, see section 4.3 in the SMP specifications. In the event the participant uses another SMP for a particular document type, the SMP will return a ServiceMetadaRedirect document.

id

Identifier of PEPPOL participant

path string
identifierscheme

Scheme under which the identifier is registered (optional)

path string
docType

Type of document you want to retrieve

path string
CURL command
curl -X GET --header 'Accept: application/xml' 'http://smp.belgium.be/{identifierscheme}::{id}/services/{docType}
                                        

application/xml text/xml

200 OK

ServiceMetadata succesfuly retrieved

Example for application/xml
<SignedServiceMetadata xmlns="xs:string"
                          xmlns:ids="xs:string">
    <ServiceMetadata>
        <smp:ServiceInformation>
        <ids:ParticipantIdentifier scheme="xs:string">
        xs:string
        </ids:ParticipantIdentifier>
        <ids:DocumentIdentifier scheme="xs:string"/>
        <smp:ProcessList>
        <smp:Process>+
            <ids:ProcessIdentifier scheme="xs:string"/>
            <smp:ServiceEndpointList>
                <smp:Endpoint transportProfile="xs:string">+
                    <wsa:EndpointReference>
                        xs:string
                    </wsa:EndpointReference>
                    <smp:RequireBusinessLevelSignature>
                        xs:boolean
                    </smp:RequireBusinessLevelSignature>
                    <smp:MinimumAuthenticationLevel>
                        xs:string
                    </smp:MinimumAuthenticationLevel>?
                    <smp:ServiceActivationDate>
                        xs:dateTime
                    </smp:ServiceActivationDate>?
                    <smp:ServiceExpirationDate>
                        xs:dateTime
                    </smp:ServiceExpirationDate>?
                    <smp:Certificate>
                        xs:string
                    </smp:Certificate>?
                    <smp:ServiceDescription>
                        xs:string
                    </smp:ServiceDescription>
                    <smp:TechnicalContactUrl>
                        xs:anyURI
                    </smp:TechnicalContactUrl>?
                    <smp:TechnicalInformationUrl>
                        xs:anyURI
                    </smp:TechnicalInformationUrl>?
                    <smp:Extension>
                        xs:any
                    </smp:Extension>?
                </smp:Endpoint>
            </smp:ServiceEndpointList>
            <smp:Extension>
                xs:any
            </smp:Extension>?
        </smp:Process>
        </smp:ProcessList>
        <smp:Extension>
        xs:any
        </smp:Extension>?
        </smp:ServiceInformation>
    </ServiceMetadata>
</SignedServiceMetadata>

OR
<SignedServiceMetadata xmlns="xs:string"
                          xmlns:ids="xs:string">
    <ServiceMetadata>
        <smp:Redirect href="xs:anyURI">
            <smp:CertificateUID>
                xs:string
            </smp:CertificateUID>
            <smp:Extension>
                xs:any
            </smp:Extension>?
        <smp:Redirect>
    </ServiceMetadata>
</SignedServiceMetadata>
                                            
404 Not Found

[BELMA-001] Participant is not registered in the SMP

[BELMA-003] BusinessIdentifier does not match any identifier schemes"

[BELMA-002] Document type for this participant is not registered on the SMP

[BELMA-004] DocumentIdentifier does not match any identifier schemes"

500 Internal Server Error

[BELMA-999] The service encountered an internal error

Delete a participant's document type from the SMP

DELETE /{identifierscheme}::{id}/services/{docType}

The endpoint can also be called without the {identifierscheme} parameter, i.e DELETE /{id}/services/{docType}

Delete the participant's document type registered in the SMP. This endpoint also applies to ServiceMetadataRedirects.

id

Identifier of PEPPOL participant

path string
identifierscheme

Scheme under which the identifier is registered (optional)

path string
docType

Type of document you want to retrieve

path string
CURL command
            curl -X DELETE --cert ./my-AP-cert --header 'Accept: application/xml' 'https://smp.belgium.be/rw/{identifierscheme}::{id}/services/{docType}
                                        
200 OK

ServiceMetadata successfuly deleted

401 Unauthorized

[BELMA-801] Current Access Point is not the owner of this participant

[BELMA-802] No certificate supplied with the request

[BELMA-803] Error while parsing client certificate

[BELMA-804] Certificate expired or not yet valid

[BELMA-805] Certificate cannot be trusted by PEPPOL trustStore

[BELMA-806] Certificate environment does not match with requested environment (test or prod)

[BELMA-808] Certificate is not a PEPPOL ACCESS POINT certificate

404 Not Found

[BELMA-001] Participant is not registered in the SMP

[BELMA-002] Document type for this participant is not registered on the SMP

500 Internal Server Error

[BELMA-999]The service encountered an internal error

sslCA
Register a new document type for a participant in the SMP

PUT /{identifierscheme}::{id}/services/{docType}

The endpoint can also be called without the {identifierscheme} parameter, i.e PUT /{id}/services/{docType}

Register a new document type for a participant in the SMP using a ServiceMetadata document. The document must follow the specifications described in section 4.3 of the SMP specifications. This endpoint also applies to ServiceMetadataRedirects.

application/xml text/xml

The xml of the new document ServiceMetadata

<SignedServiceMetadata xmlns="http://busdox.org/serviceMetadata/publishing/1.0/"
                           xmlns:ids="http://busdox.org/transport/identifiers/1.0/">
    <ServiceMetadata>
        <smp:ServiceInformation>
            <ids:ParticipantIdentifier scheme="iso6523-actorid-upis">
                9925:example
            </ids:ParticipantIdentifier>
            <ids:DocumentIdentifier scheme="busdox-docid-qns"/>
                urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##UBL-2.0
            <smp:ProcessList>
                <smp:Process>
                    <ids:ProcessIdentifier scheme="cenbii-procid-ubl">urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</ids:ProcessIdentifier>
                    <smp:ServiceEndpointList>
                        <smp:Endpoint transportProfile="peppol-transport-as4-v2_0">
                            <wsa:EndpointReference xmlns="http://www.w3.org/2005/08/addressing">
                                <Address>http://busdox.org/sampleService/</Address>
                            </wsa:EndpointReference>
                            <smp:RequireBusinessLevelSignature>
                                false
                            </smp:RequireBusinessLevelSignature>
                            <smp:MinimumAuthenticationLevel>
                                2
                            </smp:MinimumAuthenticationLevel>
                            <smp:ServiceActivationDate>
                                2009-05-01T09:00:00
                            </smp:ServiceActivationDate>
                            <smp:ServiceExpirationDate>
                                2015-05-01T09:00:00
                            </smp:ServiceExpirationDate>
                            <smp:Certificate>
                                MIIEZzCCA0+gAwIBAgIQOcl1AMx+Lvq/e5wSkTbmazANBgkq...
                            </smp:Certificate>
                            <smp:ServiceDescription>
                                Invoice Service
                            </smp:ServiceDescription>
                            <smp:TechnicalContactUrl>
                                https://example.com
                            </smp:TechnicalContactUrl>
                            <smp:TechnicalInformationUrl>
                                https://example.com
                            </smp:TechnicalInformationUrl>?
                            <smp:Extension>
                                <ex:Test xmlns:ex="http://test.eu">Test</ex:Test>
                            </smp:Extension>
                        </smp:Endpoint>
                    </smp:ServiceEndpointList>
                    <smp:Extension>
                        xs:any
                    </smp:Extension>
                </smp:Process>
                <ids:ProcessIdentifier scheme="cenbii-procid-ubl">urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</ids:ProcessIdentifier>
                <smp:ServiceEndpointList>
                    <smp:Endpoint transportProfile="peppol-transport-as4-v2_0">
                        <wsa:EndpointReference xmlns="http://www.w3.org/2005/08/addressing">
                            <Address>http://busdox.org/sampleService/</Address>
                        </wsa:EndpointReference>
                        <smp:RequireBusinessLevelSignature>
                            true
                        </smp:RequireBusinessLevelSignature>
                        <smp:MinimumAuthenticationLevel>
                            1
                        </smp:MinimumAuthenticationLevel>
                        <smp:ServiceActivationDate>
                            2009-05-01T09:00:00
                        </smp:ServiceActivationDate>
                        <smp:ServiceExpirationDate>
                            2015-05-01T09:00:00
                        </smp:ServiceExpirationDate>
                        <smp:Certificate>
                            MIIEZzCCA0+gAwIBAgIQOcl1AMx+Lvq/e5wSkTbmazANBgkq...
                        </smp:Certificate>?
                        <smp:ServiceDescription>
                            Invoice Service
                        </smp:ServiceDescription>
                        <smp:TechnicalContactUrl>
                            https://example.com
                        </smp:TechnicalContactUrl>
                        <smp:TechnicalInformationUrl>
                            https://example.com
                        </smp:TechnicalInformationUrl>
                    </smp:Endpoint>
                </smp:ServiceEndpointList>
                <smp:Extension>
                    <ex:Test xmlns:ex="http://test.eu">Test</ex:Test>
                </smp:Extension>
            </smp:Process>
            </smp:ProcessList>
            <smp:Extension>
                <ex:Test xmlns:ex="http://test.eu">Test</ex:Test>
            </smp:Extension>
        </smp:ServiceInformation>
    </ServiceMetadata>
</SignedServiceMetadata>

OR
<SignedServiceMetadata xmlns="http://busdox.org/serviceMetadata/publishing/1.0/"
                           xmlns:ids="http://busdox.org/transport/identifiers/1.0/">
    <ServiceMetadata>
        <smp:ServiceInformation>
        <smp:Redirect xmlns="http://busdox.org/serviceMetadata/publishing/1.0/"
            href="http://serviceMetadata2.eu/busdox-actoridupis%3A%3A0010%3A5798000000001/services/busdox-docidqns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AReceipt-2%3A%3AInvoice%23%23UBL-2.0">
            <smp:CertificateUID>
                PID:9208-2001-3-279815395
            </smp:CertificateUID>
            <smp:Extension>
                <ex:Test xmlns:ex="http://test.eu">Test</ex:Test>
            </smp:Extension>
        <smp:Redirect>
    </ServiceMetadata>
</SignedServiceMetadata>
id

Identifier of PEPPOL participant

path string
identifierscheme

Scheme under which the identifier is registered (optional)

path string
docType

Type of document you want to retrieve

path string
CURL command
curl -X PUT --cert ./my-AP-cert -H "Content-Type: application/xml" --data-binary "ServiceGroup.xml" 'https://smp.belgium.be/rw/{identifierscheme}::{id}/services/{docType}
                                        
200 OK

ServiceMetadata successfully registered

400 Bad Request

[BELMA-206] Mismatch between document and url participant identifier

[BELMA-301] Submitted ServiceMetadata document is not a valid xml document

[BELMA-302] Mismatch between document and url documentType

[BELMA-303] Incorrect date format

[BELMA-304] ServiceMetadata is already registered in the SMP

[BELMA-401] Submitted ServiceMetadata Redirect document is not a valid xml document

401 Unauthorized

[BELMA-801] Current Access Point is not the owner of this participant

[BELMA-802] No certificate supplied with the request

[BELMA-803] Error while parsing client certificate

[BELMA-804] Certificate expired or not yet valid

[BELMA-805] Certificate cannot be trusted by PEPPOL trustStore

[BELMA-806] Certificate environment does not match with requested environment (test or prod)

[BELMA-808] Certificate is not a PEPPOL ACCESS POINT certificate

500 Internal Server Error

[BELMA-999] The service encountered an internal error

sslCA

Additional Information

List of possible error codes

Error codes

Error code Description
BELMA-001 The requested participant is not registered on the SMP. Verify that your are requesting the correct participant ID.
BELMA-002 The requested document is not registered on the SMP. Verify that your are requesting the correct participant ID and document type.
BELMA-003 BusinessIdentifier does not match any identifier schemes.
BELMA-004 DocumentIdentifier does not match any identifier schemes.
BELMA-101 Cannot delete participants CBE identifier when VAT identifier still registered. VAT identifier deletion must be performed before CBE deletion.
BELMA-201 No valid entry in KBO for participant. Check that the CBE number or VAT is correct.
BELMA-202 CBE number must be 10 digits long.
BELMA-203 Participant identifier does not match a Belgian Identifier Scheme (BE:VAT or BE:EN).
BELMA-204 Cannot register a participant using his VAT if he is not registered with his CBE number. To register a participant using his VAT, first you must register his CBE number.
BELMA-205 Submitted ServiceGroup document is not a valid xml document. Check that all the fields are correct and the document is syntactically correct. More information in response message.
BELMA-206 Mismatch between document and url participant identifier. Check your data.
BELMA-207 Participant is already registered in the SMP.
BELMA-208 Participant is already registered in the SMK/L.
BELMA-209 Unable to delete peppol participant from SML/K.
BELMA-301 Submitted ServiceMetadata document is not a valid xml document. Check that all the fields are correct and the document is syntactically correct. More information in response message.
BELMA-302 Mismatch between document and url documentType.
BELMA-303 Incorrect date format. Use iso format.
BELMA-304 ServiceMetadata is already registered in the SMP.
BELMA-305 Endpoint for this ServiceMetadata is already registered in the SMP.
BELMA-306 PEPPOL enforces the use of UBL documents following the PEPPOL BIS standard. You can register non PEPPOL BIS documents if the corresponding PEPPOL BIS document has already been registered for this participant.
BELMA-307 Invalid document type.
BELMA-401 Submitted ServiceMetadata Redirect document is not a valid xml document. Check that all the fields are correct and the document is syntactically correct. More information in response message.
BELMA-801 Current Access Point trying to modify data is not the owner of this data. Use owner Access Point to modify this data.
BELMA-802 No certificate supplied with the request. Check that the request is correctly executed.
BELMA-803 Error while parsing client certificate. Check that the certficate is in correct PEM format.
BELMA-804 Certificate expired or not yet valid. Verify that your certificate is not outdated.
BELMA-805 Certificate cannot be trusted by PEPPOL trustStore. Use an authentic AP certificate delivered by PEPPOL authorities.
BELMA-806 Certificate environment does not match with requested environment (test or prod). Use the correct certificate for a given environment.
BELMA-807 Error communicating with the KBO.
BELMA-808 Certificate is not a PEPPOL ACCESS POINT certificate.
BELMA-998 System is currently in read-only mode due to internal technical issue.
BELMA-999 This error indicates that we were not able to understand or amend what went wrong. Please contact Babelway Support with a copy of this message, timestamp and a detailed description of what you intended to do when this error occurred.
List of known UBL BIS documents

Documents

Documents
urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2::ApplicationResponse##urn:fdc:peppol.eu:poacc:trns:catalogue_response:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2::ApplicationResponse##urn:fdc:peppol.eu:poacc:trns:mlr:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2::ApplicationResponse##urn:fdc:peppol.eu:poacc:trns:invoice_response:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:ApplicationResponse-2::ApplicationResponse##urn:fdc:peppol.eu:poacc:trns:catalogue_response:3:extended:urn:fdc:anskaffelser.no:2019:ehf:spec:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:Catalogue-2::Catalogue##urn:fdc:peppol.eu:poacc:trns:catalogue:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:Catalogue-2::Catalogue##urn:fdc:peppol.eu:poacc:trns:punch_out:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:Catalogue-2::Catalogue##urn:fdc:peppol.eu:poacc:trns:catalogue:3:extended:urn:fdc:anskaffelser.no:2019:ehf:spec:3.0::2.2
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
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#conformant#urn:fdc:peppol.eu:2017:poacc:billing:international:sg:3.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#conformant#urn:UBL.BE:1.0.0.20180214::2.1
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017::2.1
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#extended#urn:fdc:www.efaktura.gov.pl:ver1.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#conformant#urn:fdc:peppol.eu:2017:poacc:billing:international:aunz:3.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#conformant#urn:fdc:peppol.eu:2017:poacc:selfbilling:international:aunz:3.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:CreditNote-2::CreditNote##urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.0#conformant#urn:xoev-de:kosit:extension:xrechnung_2.0::2.1
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#conformant#urn:fdc:anskaffelser.no:2019:ehf:forward-billing:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2::DespatchAdvice##urn:fdc:peppol.eu:poacc:trns:despatch_advice:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2::DespatchAdvice##urn:fdc:peppol.eu:poacc:trns:despatch_advice:3:extended:urn:fdc:anskaffelser.no:2019:ehf:spec:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2::DespatchAdvice##urn:fdc:peppol.eu:poacc:trns:despatch_advice:3:extended:urn:www.agid.gov.it:trns:ddt:3.1::2.1
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
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#conformant#urn:fdc:peppol.eu:2017:poacc:billing:international:sg:3.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#conformant#urn:UBL.BE:1.0.0.20180214::2.1
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017::2.1
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#extended#urn:fdc:www.efaktura.gov.pl:ver1.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#conformant#urn:fdc:peppol.eu:2017:poacc:billing:international:aunz:3.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#conformant#urn:fdc:peppol.eu:2017:poacc:selfbilling:international:aunz:3.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.0#conformant#urn:xoev-de:kosit:extension:xrechnung_2.0::2.1
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:fdc:anskaffelser.no:2019:ehf:spec:payment-request:3.0::2.2
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#conformant#urn:fdc:anskaffelser.no:2019:ehf:forward-billing:3.0::2.2
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#conformant#urn:fdc:anskaffelser.no:2019:ehf:reminder:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:Order-2::Order##urn:fdc:peppol.eu:poacc:trns:order:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:Order-2::Order##urn:fdc:peppol.eu:poacc:trns:order:3:extended:urn:fdc:anskaffelser.no:2019:ehf:spec:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:Order-2::Order##urn:fdc:peppol.eu:poacc:trns:order:3:restrictive:urn:www.agid.gov.it:trns:ordine:3.1::2.1
urn:oasis:names:specification:ubl:schema:xsd:OrderCancellation-2::OrderCancellation##urn:fdc:anskaffelser.no:2019:ehf:spec:adv-order-cancellation:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:OrderChange-2::OrderChange##urn:fdc:anskaffelser.no:2019:ehf:spec:adv-order-change:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:OrderResponse-2::OrderResponse##urn:fdc:peppol.eu:poacc:trns:order_response:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:OrderResponse-2::OrderResponse##urn:fdc:peppol.eu:poacc:trns:order_agreement:3::2.1
urn:oasis:names:specification:ubl:schema:xsd:OrderResponse-2::OrderResponse##urn:fdc:peppol.eu:poacc:trns:order_response:3:extended:urn:fdc:anskaffelser.no:2019:ehf:spec:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:OrderResponse-2::OrderResponse##urn:fdc:peppol.eu:poacc:trns:order_agreement:3:extended:urn:fdc:anskaffelser.no:2019:ehf:spec:3.0::2.2
urn:oasis:names:specification:ubl:schema:xsd:OrderResponse-2::OrderResponse##urn:fdc:peppol.eu:poacc:trns:order_response:3:restrictive:urn:www.agid.gov.it:trns:risposta_ordine:3.0::2.1