Skip to main content

Changelog

2026-07-15 — Clean public API routes

Added

  • POST /api/invoices/send — clean alias for sending invoices (previously /api/v2/invoices/send)
  • GET /api/participants/lookup — clean alias for participant lookup (previously /api/v2/lookup)
  • GET /api/invoices/{id}/artefacts — clean alias (previously /api/v1/invoices/{id}/artefacts)
  • GET /api/invoices/{id}/artefacts/{artefactId} — clean alias for artefact download

All previous routes (/v1/*, /v2/*) remain active. No breaking changes.

2026-04-17 — Brand casing on provider field

Changed

  • The provider field in all public API responses now emits "InvoStaq" instead of "Invostaq" to match the product's brand casing. No other changes.

Who needs to act

  • Strict-equality consumers (x.provider === "Invostaq"): update to === "InvoStaq" or switch to case-insensitive comparison.
  • All other consumers: no action required.

v1.0.0 — Initial release

  • GET /api/participants/lookup — Peppol participant directory lookup
  • POST /api/invoices/send — Send invoices through the Peppol network
  • GET /api/invoices/{id}/artefacts — List Peppol delivery artefacts
  • GET /api/invoices/{id}/artefacts/{artefactId} — Download delivery artefact
  • Idempotency via Idempotency-Key header with Idempotency-Replay response header
  • Webhook events: transaction.sent, transaction.failed, transaction.received
  • Sandbox (sk_test_) and production (sk_live_) environments
  • RFC 7807 error responses with extended fields for validation and network errors

Future releases will be documented here.