You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Invoice XML serialization — generate valid KSeF invoice XML (FA2, FA3, PEF, PEF_KOR) directly from typed application data, with XSD-compliant element ordering handled automatically (KSeF API v2.4.0).
Stricter invoice XML validation — invoices containing XML processing instructions or characters discouraged by the W3C XML specification are now rejected client-side with precise offsets, matching server-side rules enforced on the KSeF production environment from 2026-07-16 (KSeF API v2.4.0).
Structured 400 validation errors — KSeF server-side validation failures now expose the full list of error codes and descriptions instead of a single flat message (KSeF API v2.4.0).
Richer rate-limit errors — applications now receive clearer retry guidance and full server diagnostic context when requests are throttled (KSeF API v2.4.0).
Typed 403 permission context — forbidden errors now expose structured required/present permission lists for easier troubleshooting.
Safer server-error handling — applications can handle every documented Problem Details response with compile-time exhaustiveness checks.
One-step self-revoke — a new CLI command revokes the token used for the current login and clears local state in a single step (KSeF API v2.4.0).
Subunit permission filtering — VAT-group users can narrow personal and entity permission queries to a specific member subunit (KSeF API v2.2.0).
Changed
Unified error hierarchy — all server HTTP errors now share a common base class, so one catch branch can handle every server-returned failure.
Problem Details responses — the client requests structured error responses by default while preserving compatibility with legacy error bodies.
Richer CLI error output — the CLI now prints the full server-side diagnostic context for every failure and can emit structured payloads for machine consumption.
Cached token reference in local credentials — logging in with a long-lived token now caches its reference so self-revoke works in one step without an extra lookup.