# Introduction

### e-Invoicing Document Interchange API Specification

The Public REST API provides programmatic access to an e-invoicing platform operated by a certified service provider, enabling companies to securely send, receive, and manage electronic invoices and related business documents via automated document interchange.

This OpenAPI-based specification describes all available endpoints for integrating your ERP or other business applications with the service provider’s platform, including onboarding, invoice submission, status tracking, document retrieval, and reporting.

To use the API, you must obtain access credentials from your chosen service provider.

### Generating client libraries

You can generate strongly typed client libraries for various programming languages using the provided `openapi.yaml` file and the [OpenAPI Generator](https://openapi-generator.tech/).

1. Download the `openapi.yaml` (or `openapi.json`) file from this site.
2. Install the OpenAPI Generator following the instructions on the project website.
3. Run the generator for your preferred language. For example, to generate a Java client:


```bash
   openapi-generator-cli generate \
     -i openapi.yaml \
     -g java \
     -o ./einvoice-java-client
```

Replace java with the desired generator (for example: typescript-axios, csharp, python) and adjust the output directory as needed.

### Note for integration partners

If you are an integration partner, you need to obtain a `softwareID` that has to be included in request header on some API requests.

Here is an example

```
curl -i -X POST \
  https://omnizon-public-api--docs.preview.redocly.app/_mock/openapi/rest/v1/documents/send \
  -H 'Content-Type: application/octet-stream' \
  -H 'companyVatNumber: HR12345678910' \
  -H 'fiscalization: true' \
  -H 'x-fileName: string' \
  -H 'x-software-id: string' \  ##### Here goes your softwareID
  -d '<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">...</Invoice>'
```

`softwareID` is necessary in the following API requests:

- `documents/send`
- `documents/get`


For non-integration partners `softwareID` is NOT required.

#### Change log

Current version 2026.12.01 as of 15.10.2026

- Added `/documents/getRejected` - returns invoices rejected by the buyer whose rejection report was accepted by the tax authority, filtered by document creation date, with paging.


Version 2026.11.01 as of 8.10.2026

- Added `/organizations/registrationStatus` - look up an organization by OIB and return whether it is registered, together with its registration and AMS registration status.
- Added optional `responseType` query parameter to `/documents/getStatus`, `/documents/getInternalStatus`, `/documents/getExternalStatus`, `/documents/getByInternalStatus`, `/inbox/status` and `/outbox/status`. With `responseType=NEW`, documents still in processing are reported as `IN_PROCESS` (internal status) and `NOT_STARTED` (external status) instead of `UNKNOWN`.
- Extended `/documents/getPdf` request with optional `includeEmbeddedAttachments` property.


Version 2026.07.01 as of 14.5.2026

- Extended `/documents/paid` response with `internalRequestId` property.
- Extended `/documents/getAllReportingStatuses` request with optional `internalRequestId` filter property.
- Resolved calculation inconsistency issue in `/billing/monthly-usage` endpoint
- Added AS4 error message to `/documents/getStatus` response when available.


Version 2026.05.02 as of 1.4.2026

- fixed paging when documents do not have time component in timestamps in `/inbox`, `/inbox/status`, `outbox/status`
- optimized `/inbox` performance
- added AS4 delivery information in `outbox/status` i `getStatus`


Version 2026.03.01 as of 9.2.2026

- added `/getPdf` - return PDF version of a document
- added filtering and sorting options in `inbox/status` and `outbox/status`


Version 2025.09.05 as of 16.01.2026

- Methods `getStatus` and `getInternalStatus` return a new field `internalStatusDetails` containing error messages with timestamp.


Version 2025.09.04 as of 31.12.2025

- No breaking changes
- Major change - introduction of (optional) paging on endpoints returning lists of documents
- Additional document fields in `/inbox`, `/inbox/status`, `outbox/status` and `getStatus`