Skip to content
pols.so docs
Esc
↑↓navigate↵open⌘Jpreview

The org's invoices

The org’s 1,000 latest invoices, newest first: one for each paid top-up and subscription month. Owners’ and admins’ keys only (403 forbidden otherwise).

GET/v1/invoices
Authorization
AuthorizationBearer token · headerrequired

Org-scoped API key, pols_....

Responses
200

The invoices, newest first.

invoicesInvoice[]required
Show properties
Array of Invoice
idstringrequired
numberstringrequired

Unique, without gaps in its series; DRAFT-... for a draft.

statusInvoiceStatusrequired

final: a legal invoice. draft: not a valid invoice, numbered DRAFT-...: its payment was made in Mollie's test mode, or the deployment's invoice settings were incomplete.

Allowed:finaldraft
testbooleanrequired

Its top-up was paid in Mollie's test mode, which moves no money; it is a draft.

issued_atstring<date-time>required
paid_atstring<date-time>required

When the payment was received.

kindInvoiceKindrequired

topup: prepaid credit. subscription: a month of the subscription, with the usage it includes.

Allowed:topupsubscription
topup_idstringrequired

The payment it invoices: a top-up (/v1/billing/topups/{topup}), or for subscription a payment of the subscription (/v1/billing/subscription).

mollie_payment_idstringrequired

The payment's ID at Mollie, which collected it.

customerInvoiceCustomerrequired

Who the invoice is made out to, the org's billing details as they were when it was charged.

Show properties
customer_typeCustomerTyperequired

Whether the org buys as a business (with a company name, and a VAT or tax ID if it has one) or as a consumer.

Allowed:businessconsumer
namestringrequired
address_line1stringrequired
address_line2stringrequired
postal_codestringrequired
citystringrequired
countrystringrequired

ISO 3166-1 alpha-2 code.

vat_idstringrequired

The VAT or tax ID; empty for none.

tax_treatmentTaxTreatmentrequired

How VAT applies to what the org buys, from its billing details and VIES's answer on its VAT ID. lu_vat: 17% Luxembourg VAT, included in the price, for a customer in Luxembourg, a consumer elsewhere in the EU, and an EU business without a VAT ID VIES confirmed. reverse_charge: an EU business outside Luxembourg whose VAT ID VIES confirmed pays the price less VAT and accounts for the VAT itself. outside_eu: a business outside the EU with a tax ID pays the price less VAT, out of scope of EU VAT.

Allowed:lu_vatreverse_chargeoutside_eu
vat_ratestringrequired

The VAT rate in percent, like "17.00"; "0.00" without VAT.

net_eurstringrequired

The amount excluding VAT; decimal string with 2 places.

vat_eurstringrequired

The VAT; "0.00" without VAT.

total_eurstringrequired

What was paid, net_eur plus vat_eur.

credit_eurstringrequired

The credit the top-up added, or the usage the subscription month includes, at list prices.

pdf_sha256stringrequired

Hex SHA-256 of the PDF.

429

Rate limited (rate_limited): too many requests or failed authentications from this address, too many requests or lifecycle calls for this org, or too many of its exec, file, computer and CDP calls in progress at once. Retry after Retry-After seconds.

errorobjectrequired
Show properties
codestringrequired

Stable machine-readable code: bad_request (400), unauthorized (401), insufficient_credit (402, no credit left to start a sandbox), forbidden (403), quota_exceeded (403), trial_limit (403, beyond what a trial org may run), not_found (404), conflict (409), billing_details_required (409, save the billing details before topping up), topup_not_available (409, the org cannot top up as it would be taxed; the message says why), desktop_controlled (409, a person viewing the desktop has taken control of it, see control), rate_limited (429, see Retry-After), trial_capacity (429, all trial capacity in use; retry after Retry-After), host_capacity (429, the host is short of memory right now, so nothing new starts there; retry after Retry-After), internal (500), runtime_error (502, the sandbox host failed), payment_provider_error (502, Mollie could not be reached or refused a payment), unavailable (503, the feature is not configured on this deployment), waking (503, the sandbox is still waking from standby or booting; retry), timeout (504, or 408 when a request body stalls).

messagestringrequired
controlDesktopControl

Who has control of a sandbox's desktop. In an error, it is present only with code desktop_controlled.

Show properties
heldbooleanrequired

Someone viewing the desktop has taken control of it.

holderstring

Only when held; their name as the desktop's viewers see it, their user's name or else their API key's.

sincestring<date-time>

Only when held; when they took control.

expires_atstring<date-time>

Only when held; when control lapses unless they use the desktop before.

default

Error.

errorobjectrequired
Show properties
codestringrequired

Stable machine-readable code: bad_request (400), unauthorized (401), insufficient_credit (402, no credit left to start a sandbox), forbidden (403), quota_exceeded (403), trial_limit (403, beyond what a trial org may run), not_found (404), conflict (409), billing_details_required (409, save the billing details before topping up), topup_not_available (409, the org cannot top up as it would be taxed; the message says why), desktop_controlled (409, a person viewing the desktop has taken control of it, see control), rate_limited (429, see Retry-After), trial_capacity (429, all trial capacity in use; retry after Retry-After), host_capacity (429, the host is short of memory right now, so nothing new starts there; retry after Retry-After), internal (500), runtime_error (502, the sandbox host failed), payment_provider_error (502, Mollie could not be reached or refused a payment), unavailable (503, the feature is not configured on this deployment), waking (503, the sandbox is still waking from standby or booting; retry), timeout (504, or 408 when a request body stalls).

messagestringrequired
controlDesktopControl

Who has control of a sandbox's desktop. In an error, it is present only with code desktop_controlled.

Show properties
heldbooleanrequired

Someone viewing the desktop has taken control of it.

holderstring

Only when held; their name as the desktop's viewers see it, their user's name or else their API key's.

sincestring<date-time>

Only when held; when they took control.

expires_atstring<date-time>

Only when held; when control lapses unless they use the desktop before.

Request
curl -X GET 'https://api.pols.so/v1/invoices' \
  -H 'Authorization: Bearer YOUR_TOKEN'
Response
{
  "invoices": [
    {
      "id": "inv_8f2k4m9q1x7c",
      "number": "POLS-2026-00001",
      "status": "final",
      "test": true,
      "issued_at": "2019-08-24T14:15:22Z",
      "paid_at": "2019-08-24T14:15:22Z",
      "kind": "topup",
      "topup_id": "pay_3k9x2m1q8zt4",
      "mollie_payment_id": "tr_WDqYK6vllg",
      "customer": {
        "customer_type": "business",
        "name": "string",
        "address_line1": "string",
        "address_line2": "string",
        "postal_code": "string",
        "city": "string",
        "country": "string",
        "vat_id": "string"
      },
      "tax_treatment": "lu_vat",
      "vat_rate": "17.00",
      "net_eur": "21.37",
      "vat_eur": "3.63",
      "total_eur": "25.00",
      "credit_eur": "25.00",
      "pdf_sha256": "string"
    }
  ]
}