Skip to content

Participants

This endpoint allows customers to manage participants on our Peppol Service Metadata Publisher (SMP). You can add new participants, update existing participant details, or remove participants from the Peppol network.

  • Method: POST
  • Path: /v3/participant

Full URLs

  • Test: https://apitest.4exchange.app/v3/participant
  • Production: https://api.4exchange.app/v3/participant
  • Authorization: Bearer token (requires 4Exchange/participant scope)
  • Content-Type: application/json
{
   "name": "4CEE B.V.",
   "countryCode": "NL",
   "identifier": "0106:09135999",
   "documentTypes": [158, 160, 170, 171]
}
  • 158 - Peppol BIS Billing UBL Invoice V3
  • 160 - Peppol BIS Billing UBL Credit Note V3
  • 170 - SI-UBL 2.0 Invoice
  • 171 - SI-UBL 2.0 Credit Note
  • 220 - SI-UBL 2.0 G-Account Extension
  • 299 - Peppol BIS Self-Billing UBL Invoice V3 (only passthrough, no conversion)
  • 300 - Peppol BIS Self-Billing UBL Credit Note V3 (only passthrough, no conversion)
  • 200 OK
{
    "code": "201",
    "status": "success",
    "message": "Participant identifier \"0106:09135999\" was successfully added in the SML, SMP and will be in the Peppol Directory (async)."
}
  • 400 Bad Request
{
    "Error": "The participant identifier \"0106:09135999\" was not successfully registered. Error is: {\"BadRequestFault\":{\"FaultMessage\":\"[ERR-106] The participant identifier [0106:09135999] with scheme: [iso6523-actorid-upis] already exist with naptr service [Meta:SMP] on subdomain: [acc.edelivery.tech.ec.europa.eu]\""
}
  • 400 Bad Request
{
    "message": "Invalid request body",
    "error": "[object has missing required properties ([\"countryCode\",\"documentTypes\",\"identifier\"])]"
}
  • 401 Unauthorized
{
    "message": "Unauthorized"
}
  • Method: PUT
  • Path: /v3/participant/{identifier}

Full URLs

  • Test: https://apitest.4exchange.app/v3/participant/{identifier}
  • Production: https://api.4exchange.app/v3/participant/{identifier}
  • Authorization: Bearer token (requires 4Exchange/participant scope)
  • Content-Type: application/json
  • identifier (string, required): The identifier of the participant to update.

Example: PUT /v3/participant/0106:09135999

{
   "name": "4CEE B.V.",
   "countryCode": "NL",
   "documentTypes": [158, 160]
}
  • 200 OK
{
    "code": "201",
    "status": "success",
    "message": "Participant identifier \"0106:09135999\" was successfully updated in the SMP and will be updated in the Peppol Directory (async)."
}
  • 400 Bad Request
{
    "message": "Invalid request body",
    "error": "[object has missing required properties ([\"countryCode\",\"documentTypes\",\"identifier\"])]"
}
  • 401 Unauthorized
{
    "message": "Unauthorized"
}
  • Method: GET
  • Path: /v3/participant

Full URLs

  • Test: https://apitest.4exchange.app/v3/participant
  • Production: https://api.4exchange.app/v3/participant
  • Authorization: Bearer token (requires 4Exchange/participant scope)
  • 200 OK

Returns all active Peppol Participant registrations under the tenant.

[
  {
    "name": "4CEE B.V.",
    "countryCode": "NL",
    "identifier": "0106:09135999",
    "documentTypes": [158, 160, 170, 171]
  },
  {
    "name": "Diesis B.V.",
    "countryCode": "NL",
    "identifier": "0106:34236560",
    "documentTypes": [158, 160, 170, 171]
  }
]
  • 401 Unauthorized
{
    "message": "Unauthorized"
}
  • Method: DELETE
  • Path: /v3/participant/{identifier}

Full URLs

  • Test: https://apitest.4exchange.app/v3/participant/{identifier}
  • Production: https://api.4exchange.app/v3/participant/{identifier}
  • Authorization: Bearer token (requires 4Exchange/participant scope)
  • Content-Type: application/json
  • identifier (string, required): The identifier of the participant to delete.

Example: DELETE /v3/participant/0106:09135999

  • 200 OK
{
    "code": "201",
    "status": "success",
    "message": "Participant identifier \"0106:09135999\" was successfully deleted from the SML and will be deleted from the Peppol Directory (async)."
}
  • 401 Unauthorized
{
    "message": "Unauthorized"
}