Skip to main content

Get Invoices

Retrieve a list of invoices issued by your store.

Invoices are returned newest first, by issue date. Narrow the list with the optional filters below — for example status=error to return Polish invoices that were not accepted by the government tax system, or customer=buyer@example.com to return one customer's invoices. All filters combine with AND.

Request

GET /invoices

Query Parameters

ParameterTypeRequiredDefaultDescription
pageintegerNo1Page number for pagination
typestringNoFilter by document type. One of invoice, correction.
statusstringNoFilter by status. One of issued, pending, error.
gov_statusstringNoFilter Polish invoices by KSeF delivery status (e.g. ok, send_error). See KSeF status.
issued_fromstringNoOnly invoices issued on or after this date (inclusive), YYYY-MM-DD.
issued_tostringNoOnly invoices issued on or before this date (inclusive), YYYY-MM-DD.
numberstringNoPartial, case-insensitive match on the invoice number.
customerstringNoFilter by customer — either a customer UUID or an email address.
transaction_idstringNoOnly invoices for this transaction (UUID).
order_idstringNoOnly invoices for this order (UUID).

Omitting a filter or passing it empty means "no filter on that field". Passing a non-empty but unparseable value — an unknown type / status / gov_status, a malformed date, or a customer that is neither a UUID nor an email — returns a 400 (see Bad Request).

Example Request

curl -X GET "https://cart.easy.tools/api/v1/invoices?status=issued&page=1" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Response

Success Response (200)

Returns a paginated list of invoices.

{
"items": [
{
"id": "5b2c0f2e-1d4a-4c8b-9f3a-7e1a2b3c4d5e",
"number": "EASY/2026/06/123",
"type": "invoice",
"status": "issued",
"total": 12300,
"currency": "pln",
"customer_email": "anna.kowalska@example.com",
"issued_at": "2026-06-05T10:20:00+00:00",
"remote_id": "884512"
},
{
"id": "9a1f7c33-8e0b-4a21-bb6d-2c9e5f0a1b22",
"number": "EASY-K/2026/06/12",
"type": "correction",
"status": "issued",
"total": 4100,
"currency": "pln",
"customer_email": "biuro@firma.example",
"issued_at": "2026-06-04T14:05:00+00:00",
"remote_id": "884001"
}
],
"pagination": {
"current_page": 1,
"total_pages": 4
}
}

Response Fields

FieldTypeNullableDescription
idstringNoUnique identifier for the invoice (UUID)
numberstringYesInvoice number. Null until the invoice has a number assigned.
typestringNoDocument type: invoice or correction.
statusstringNoDerived status: issued, pending, or error.
totalintegerNoGross total in minor units (e.g. cents/grosze)
currencystringNoLowercase ISO currency code (e.g. "pln", "eur")
customer_emailstringYesBilling email recorded on the invoice
issued_atstringYesWhen the invoice was issued (ISO 8601 format). Null while pending.
remote_idstringYesThe invoice's id with the issuing service, useful for reconciliation

To read the line items, billing details, KSeF status, PDF link, or the related transaction, order, and customer, call Get Invoice.

Error Responses

Bad Request (400)

Returned when a filter has a non-empty but unparseable value. The message names the offending field and the value received.

{
"message": "Invalid value for 'status': 'paid'"
}

Unauthorized (401)

{
"message": "Unauthenticated."
}

Unavailable (422)

Returned when your store does not issue invoices through EasyTools invoicing.

{
"message": "Invoices are only available for stores using Easybilling."
}