Recipient lookup

SMP lookup via GET /v1/agent/peppol/recipient: "is this participant on Peppol?". Use it before sending to verify that the recipient can receive invoices over Peppol. The endpoint always returns 200; a missing participant is found: false, never an error.

Endpoint

MethodPathScopeHeaders
GET/v1/agent/peppol/recipientinvoice:readX-API-Key, X-Organization-Id

Query parameters

ParameterTypeRequiredDescription
peppolIdstringYesThe participant's Peppol identifier (e.g. 0245:DIČ for SK production, 9915:DIČ for sandbox).
GET /v1/agent/peppol/recipient?peppolId=0245:2123456789
X-API-Key: efk_pk_test_...
X-Organization-Id: 0a2c1f3e-…

Response

Even if the participant is not registered, the response is 200 with found: false. The sml_state, pd_state, and lookup_unavailable fields are optional.

{
  "data": {
    "peppol_id": "0245:2123456789",
    "found": true,
    "sml_state": "active",
    "pd_state": "published",
    "lookup_unavailable": false
  }
}
FieldTypeDescription
peppol_idstringThe identifier being checked (echoes the input).
foundbooleantrue if the participant is registered in the SMP (can receive over Peppol).
sml_statestring (optional)Status in the SML (e.g. active).
pd_statestring (optional)Status in the Peppol Directory (e.g. published).
lookup_unavailableboolean (optional)true if the SMP/SML lookup was unavailable: found is then uncertain, try again later.
SMP lookup never blocks sending: it's only a pre-send check. Even with found: false you can still send (the recipient may have just registered); however, we recommend sending only after verification to avoid unnecessary failures.

Related

The same lookup can also be done by Preflight (when you send receiverPeppolId in the body): the result there is in the recipient field. Use this standalone endpoint when you want to verify a recipient without having a prepared XML. Routing in SK Peppol is done via the recipient's DIČ (0245:<DIČ> production, 9915:<DIČ> sandbox).