KSeF Faktury
EN
Join the start list
Early access

The API is in early access: we hand out test keys (KSeF TEST) in batches to people on the launch list. Live mode comes later.

Request access

API reference

API reference

Every endpoint in one place, plus the conventions shared by the whole API.

All endpoints

Invoices and corrections
GET/v1/invoicesList invoices
POST/v1/invoicesCreate an invoice from a paid order
GET/v1/invoices/{id}Retrieve an invoice or a correction
GET/v1/invoices/{id}/pdfDownload the PDF
POST/v1/invoices/{id}/correctionsCreate a correction (refund)
Account
GET/v1/accountRetrieve the account
Webhook endpoints
GET/v1/webhook_endpointsList webhook endpoints
POST/v1/webhook_endpointsCreate a webhook endpoint
GET/v1/webhook_endpoints/{id}Retrieve a webhook endpoint
DELETE/v1/webhook_endpoints/{id}Delete a webhook endpoint
Events
GET/v1/eventsList events
GET/v1/events/{id}Retrieve an event

Address and format

  • Base URL: https://app.ksefshop.pl, every path starts with /v1.
  • Request and response bodies: JSON in UTF-8 (Content-Type: application/json); the PDF is the exception.
  • Authentication: Authorization: Bearer sk_test_.... Keys
  • Amounts are strings with a dot ("49.00") to avoid floating point rounding errors.
  • Timestamps in responses (created, updated) are Unix seconds; dates in requests are ISO 8601.

Identifiers

Prefix Object
inv_ Invoice
cor_ Correction
we_ Webhook endpoint
evt_ Event
acct_ Account
req_ Request (Request-Id header)

Response headers

Header Meaning
Request-Id Request id, quote it in support requests.
KSeF-Api-Version API version (a date).
RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset Rate limit.
Idempotent-Replayed true when the response is a replay. Idempotency
Retry-After With 429: seconds to wait.

Specification

The full OpenAPI 3.1 specification: openapi.yaml. Postman collection with ready scenarios: ksef-faktury.postman_collection.json.

KSeF Faktury

API early access

We hand out test keys in batches. Leave your email: we will write when your access is ready.