Poštár

API Documentation

Choose the API integration path that fits your use case

The API supports several integration models. Pick one based on your product and operational needs.

Environments: production and sandbox

  • Production (https://app.pepposh.eu) is only for real production traffic. Real customer verification is required.
  • Sandbox (https://sandbox.pepposh.eu) is for play and testing only. It is not real production, but it is connected to the Peppol testing network, so you can deliver messages to other testing access points. No money is charged. You can skip verification and send as many test messages as needed.

I am a custom software developer

If you build an app for yourself or for a single client and need to send or receive documents, use an API key scoped to one participant (company).

Use the authorization endpoint to convert client_id/client_secret to a Bearer token /api/auth/token (more info).

Use simplified send endpoints:

/api/documents/send?wait-for-result or /api/documents/send/isdoc?wait-for-result

Related links: Documentation | Example

I am an accounting office

Use an API key with access to all participants (companies) and send documents through participant-scoped routes.

Use the authorization endpoint to convert client_id/client_secret to a Bearer token /api/auth/token (more info).

Send endpoints:

/api/participants/{PARTICIPANT_ID}/documents/send?wait-for-result or /api/participants/{PARTICIPANT_ID}/documents/send/as/isdoc?wait-for-result

PARTICIPANT_ID can be any of the following:

  • ext:YOUR_IDENTIFIER
  • Peppol ID (for example 9929:12345678)
  • UUID assigned by our platform

Related links: Documentation | Example

I am a SaaS developer

A typical flow is to offer "Send invoices via Peppol" in your app, redirect the user to OAuth consent, and then use the issued refresh token to send or receive documents on the user account.

Continue by creating your app in the Developers section and configuring required permissions.

Then use simplified send endpoints:

/api/documents/send?wait-for-result nebo /api/documents/send/isdoc?wait-for-result

Related links: Documentation | Example | Developers

I am a SaaS developer focused on invoicing

For accounting, invoicing, or extraction systems, onboarding is often simpler if customers do not need to manually create an account first and then return to grant access.

You can automatically create customer accounts and initiate verification directly from your app. Common options are:

  • You already know each customer and perform verification (KYC) under your own contractual process.
  • You create the account and let Dativery complete verification (for example via Bank iD and other methods).

In Slovakia, users must confirm receipt at the tax authority portal during the verification flow.

In this model, you create one API key, create individual clients, and send documents under each participant.

Related links: Documentation | Example | Simplest example

I work with a simple app without a backend

Use the "Send via Peppol" button component. This enables sending even without your own backend; the user is prompted to sign in during the flow.

Related links: Documentation | Example