Skip to content

REST API

Philip Helger edited this page Jan 5, 2026 · 4 revisions

This page contains the details for the REST API offered by this application.

Everywhere an SML-ID is used, it must be one of the following values:

  • digittest (Peppol SMK)
  • digitprod (Peppol SML)
  • autodetect (automatic detection) - works only with selected APIs

API: SMP query all document types of a participant

To retrieve all document types from a participant registered in an SMP.

HTTP method: GET

URL layout: /api/smpquery/<em>SML-ID</em>/<em>participant-ID</em>[?businessCard=false&xmlSchemaValidation=true&verifySignature=true]

  • SML-ID is the SML identifier mentioned above.
  • participant-ID is the URL encoded participant identifier to be queried (e.g. iso6523-actorid-upis%3a%3a9915%3atest)
  • The optional query parameter businessCard can be used to turn on querying of SMP Business Cards
  • The optional query parameter xmlSchemaValidation can be used to turn off XML Schema validation of SMP responses
  • The optional query parameter verifySignature can be used to turn off signature verification of SMP responses (not recommended)

Example URL (without Business Card): /api/smpquery/digittest/iso6523-actorid-upis%3a%3a9915%3atest

Example URL (with Business Card): /api/smpquery/digittest/iso6523-actorid-upis%3a%3a9915%3atest?businessCard=true

Note: all SMP queries are passed through to the effective SMP server and cause load there.

Example response (with Business Card):

{
  "smptype":"peppol",
  "participantID":"iso6523-actorid-upis::9915:test",
  "urls":[
    {
      "href":"http://test-infra.peppol.at/iso6523-actorid-upis%3A%3A9915%3Atest/services/busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3ACreditNote-2%3A%3ACreditNote%23%23urn%3Acen.eu%3Aen16931%3A2017%23compliant%23urn%3Afdc%3Apeppol.eu%3A2017%3Apoacc%3Abilling%3A3.0%3A%3A2.1",
      "documentTypeID":"busdox-docid-qns::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",
      "niceName":"Peppol BIS Billing UBL Credit Note V3",
      "state":"act",
      "isDeprecated":false
    },
    {
      "href":"http://test-infra.peppol.at/iso6523-actorid-upis%3A%3A9915%3Atest/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",
      "documentTypeID":"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",
      "niceName":"Peppol BIS Billing UBL Invoice V3",
      "state":"act",
      "isDeprecated":false
    }
  ],
  "businessCard":{
    "participant":{
      "scheme":"iso6523-actorid-upis",
      "value":"9915:test"
    },
    "entity":[
      {
        "name":[
          {
            "name":"Austrian Government"
          }
        ],
        "countrycode":"AT",
        "geoinfo":"Vienna, Austria",
        "website":[
          "https://test.erechnung.gv.at"
        ],
        "additionalinfo":"This is the test endpoint for the whole Austrian Government!\r\nIt does not only support the Federal Government but also other external companies.",
        "regdate":"2012-01-01"
      }
    ]
  },
  "queryDateTime":"2025-10-01T14:04:35.46783651Z",
  "queryDurationMillis":65
}

API: SMP query all endpoints of a participant for a certain document type

To retrieve all endpoints of an SMP participant for a single document type. This API gives you AS4 and other endpoints.

Note: this API also supports querying for Peppol wildcard when using scheme peppol-doctype-wildcard.

HTTP method: GET

URL layout: /api/smpquery/<em>SML-ID</em>/<em>participant-ID</em>/<em>docType-ID</em>[?xmlSchemaValidation=true&verifySignature=true]

  • SML-ID is the SML identifier mentioned above.
  • participant-ID is the URL encoded participant identifier to be queried (e.g. iso6523-actorid-upis%3a%3a9915%3atest)
  • docType-ID is the URL encoded document type identifier to be queried (e.g. busdox-docid-qns%3A%3Aurn%3Aoasis%3Anames%3Aspecification%3Aubl%3Aschema%3Axsd%3AInvoice-2%3A%3AInvoice%23%23urn%3Awww.cenbii.eu%3Atransaction%3Abiitrns010%3Aver2.0%3Aextended%3Aurn%3Awww.peppol.eu%3Abis%3Apeppol5a%3Aver2.0%3A%3A2.1)
  • The optional query parameter xmlSchemaValidation can be used to turn off XML Schema validation of SMP responses
  • The optional query parameter verifySignature can be used to turn off signature verification of SMP responses (not recommended)

Example URL: /api/smpquery/digittest/iso6523-actorid-upis%3a%3a9915%3atest/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

Note: all SMP queries are passed through to the effective SMP server and cause load there.

Example response:

{
  "smptype":"peppol",
  "participantID":"iso6523-actorid-upis::9915:test",
  "documentTypeID":"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",
  "serviceinfo":{
    "processes":[
      {
        "processID":"cenbii-procid-ubl::urn:fdc:peppol.eu:2017:poacc:billing:01:1.0",
        "endpoints":[
          {
            "transportProfile":"peppol-transport-as4-v2_0",
            "endpointReference":"https://test.erechnung.gv.at/as4",
            "requireBusinessLevelSignature":false,
            "minimumAuthenticationLevel":null,
            "certificate":"MIIFwDCCA6igAwIBAgIQHVPXZhVL2J+G+tNqMFz3kDANBgkqhkiG9w0BAQsFADBr\nMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQT3BlblBFUFBPTCBBSVNCTDEWMBQGA1UE\nCxMNRk9SIFRFU1QgT05MWTEpMCcGA1UEAxMgUEVQUE9MIEFDQ0VTUyBQT0lOVCBU\nRVNUIENBIC0gRzIwHhcNMjQxMTEzMDAwMDAwWhcNMjYxMTAzMjM1OTU5WjBNMQsw\nCQYDVQQGEwJBVDERMA8GA1UECgwIQlJaIEdtYkgxFzAVBgNVBAsMDlBFUFBPTCBU\nRVNUIEFQMRIwEAYDVQQDDAlQT1AwMDAyNzAwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQDIVQjWwLbgQYs9tepIQEteUcxxymLXzKtRoQdqNS8e3yduBfPO\nLpZdI0Zk5xyzHqmzG7B1/UJbvVAjShIDJ95nszsvTFC6i0Bw+rOhE2Y0ZyakkJM/\nKDoVcTEpZoQ4IzF56gORzMnk6qiLL9HTybmxNzzikrxzR126N7wFUzbK0SGEAXlj\nuUG42lu+QXWp++71DUYvCzuaIAAc+IPR1rDCLTQgAosW1kgwehek3igcXQuouUfp\nkB6e+joJurKFEe4gvwBCt+taF1iXFSRFKCEse53jOieZeJj7CXLyTYjMleCZzlxo\n5XNU0cIWXYbts70a6SXhMDYsZISb+5N+x7LFAgMBAAGjggF8MIIBeDAMBgNVHRMB\nAf8EAjAAMA4GA1UdDwEB/wQEAwIDqDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAjAd\nBgNVHQ4EFgQUrr4N2vx7Hoh814pJ+Gqn/r/bSd8wXQYDVR0fBFYwVDBSoFCgToZM\naHR0cDovL3BraS1jcmwuc3ltYXV0aC5jb20vY2FfNmE5Mzc3MzRhMzkzYTA4MDVi\nZjMzY2RhOGIzMzEwOTMvTGF0ZXN0Q1JMLmNybDA3BggrBgEFBQcBAQQrMCkwJwYI\nKwYBBQUHMAGGG2h0dHA6Ly9wa2ktb2NzcC5zeW1hdXRoLmNvbTAfBgNVHSMEGDAW\ngBRrb0u28Te6Kzx/GM26K7K5fCo36zAtBgpghkgBhvhFARADBB8wHQYTYIZIAYb4\nRQEQAQIDAQGBqZDhAxYGOTU3NjA4MDkGCmCGSAGG+EUBEAUEKzApAgEAFiRhSFIw\nY0hNNkx5OXdhMmt0Y21FdWMzbHRZWFYwYUM1amIyMD0wDQYJKoZIhvcNAQELBQAD\nggIBAGZajBZleSCU40p5dNkclWzJ9ajYZAmboq6qshcuLYfJk+sw5e09Fzus62qV\nRUs78iXzgWVQQkvhJJIolsnlwm7t1s8X/pUoJhCW51v2ZlPq/nNVbVUevVYQvcMq\nTczgzlHX2hyDDEMtP2t3m4PmSkKBufSs8cLI5brbyxWvARmZZev6FLMOfNouQ4ZQ\nyoRgB+FA6tqCEgTMouhax822oo74D11Xz+VqRaEWe6Ey//LIzcue7C/jcMqwaWCe\nURf9ieZuy2wJBAcwdcFBjvlLFzwF1FHVtbF67VBepDK3POMFpwUcDFPhZtbMK0i1\ntDSVMQ+Bj3sBYYS4LRh/Bqt0ZHpyNcU5eigWyXI4PAkoC9f24iG4EQYiRQjNodxT\nm5M9u/lnZi5EO99VDL1sdg5AUp06HA1iocmyoymhC9QV66LFe8TYeRJ14qCVcV1t\nW1iGxhc034FspjZrmckysjQF3pWzH9dQ/EAz4P3CAlqgnP3RsX52OuHq3oxwJuNk\nlGHzXiTnqrQg7CDg8O/yjz9S2GQgH3R3FcRISzW9YR6UHCk3pJ7QyJd4FGSqsZEd\nfIgJjqaCkZeIK3xBQ+6FaBJZQeKFWNB5gHlFxRbz/7tzbWdDdn6VpRN/t9Gg4rOd\ntZil72vPBq6jy5giQwLqNza8X597CmOpTpDpNi7YVBimYKg4",
            "certificateDetails":{
              "parsable":true,
              "subject":{
                "name":"CN=POP000270,OU=PEPPOL TEST AP,O=BRZ GmbH,C=AT",
                "C":"AT",
                "O":"BRZ GmbH",
                "OU":"PEPPOL TEST AP",
                "CN":"POP000270"
              },
              "issuer":{
                "name":"CN=PEPPOL ACCESS POINT TEST CA - G2,OU=FOR TEST ONLY,O=OpenPEPPOL AISBL,C=BE",
                "C":"BE",
                "O":"OpenPEPPOL AISBL",
                "OU":"FOR TEST ONLY",
                "CN":"PEPPOL ACCESS POINT TEST CA - G2"
              },
              "serial10":38982941322949190188120289136764319632,
              "serial16":"1d53d766154bd89f86fad36a305cf790",
              "notBefore":"2024-11-13T00:00:00",
              "notAfter":"2026-11-03T23:59:59",
              "validByDate":true,
              "sigAlgName":"SHA256withRSA"
            },
            "serviceDescription":"BRZ Test AP",
            "technicalContactUrl":"support-erb@brz.gv.at",
            "technicalInformationUrl":null,
            "extension":null
          }
        ],
        "extension":null
      }
    ],
    "extension":null
  },
  "queryDateTime":"2025-10-01T14:12:06.315196818Z",
  "queryDurationMillis":86
}

API: SMP query the Business Card of a participant

To retrieve the Business Card of a participant stored in an SMP.

HTTP method: GET

URL layout: /api/businesscard/<em>SML-ID</em>/<em>participant-ID</em>

  • SML-ID is the SML identifier mentioned above.
  • participant-ID is the URL encoded participant identifier to be queried (e.g. iso6523-actorid-upis%3a%3a9915%3atest)

Example URL: /api/businesscard/digittest/iso6523-actorid-upis%3a%3a9915%3atest

Note: the layout of the BusinessCard JSON is identical to the one used in querying all document types of a participant.

Note: all SMP queries are passed through to the effective SMP server and cause load there.

Example Response:

{
  "participant":{
    "scheme":"iso6523-actorid-upis",
    "value":"9915:test"
  },
  "entity":[
    {
      "name":[
        {
          "name":"Austrian Government"
        }
      ],
      "countrycode":"AT",
      "geoinfo":"Vienna, Austria",
      "website":[
        "https://test.erechnung.gv.at"
      ],
      "additionalinfo":"This is the test endpoint for the whole Austrian Government!\r\nIt does not only support the Federal Government but also other external companies.",
      "regdate":"2012-01-01"
    }
  ],
  "queryDateTime":"2025-10-01T14:15:44.4065939Z",
  "queryDurationMillis":580
}

API: Check if a participant is registered in the Peppol Network

HTTP method: GET

URL layout: /api/ppidexistence/<em>SML-ID</em>/<em>participant-ID</em>

  • SML-ID is the SML identifier mentioned above. Note: autodetect is not supported for this API.
  • participant-ID is the URL encoded participant identifier to be queried (e.g. iso6523-actorid-upis%3a%3a9915%3atest)

Example URL: /api/ppidexistence/digittest/iso6523-actorid-upis%3a%3a9915%3ahelger

Example Response:

{
  "participantID":"iso6523-actorid-upis::9915:helger",
  "sml":"digittest",
  "smpHostURI":"http://smp.helger.com",
  "exists":true,
  "queryDateTime":"2025-10-01T14:19:07.763821658Z",
  "queryDurationMillis":1
}