---
title: "Find all Invoices"
method: GET
path: "/invoices"
tags: ["Invoices"]
---

# Find all Invoices

`GET /invoices`

Retrieve a paginated list of Invoices

## Query parameters

- `id` object
  - `eq` string
  - `ne` string
  - `like` string
  - `in` string[]
  - `nin` string[]
  - `contains` string
- `createdAt` object
  - `eq` string, date-time
  - `ne` string, date-time
  - `gt` string, date-time
  - `gte` string, date-time
  - `lt` string, date-time
  - `lte` string, date-time
  - `in` string[]
  - `nin` string[]
  - `contains` string, date-time
- `updatedAt` object
  - `eq` string, date-time
  - `ne` string, date-time
  - `gt` string, date-time
  - `gte` string, date-time
  - `lt` string, date-time
  - `lte` string, date-time
  - `in` string[]
  - `nin` string[]
  - `contains` string, date-time
- `status` object
  - `eq` string
  - `ne` string
  - `like` string
  - `in` string[]
  - `nin` string[]
  - `contains` string
- `currency` object
  - `eq` string
  - `ne` string
  - `like` string
  - `in` string[]
  - `nin` string[]
  - `contains` string
- `amount` object
  - `eq` number
  - `ne` number
  - `gt` number
  - `gte` number
  - `lt` number
  - `lte` number
  - `in` number[]
  - `nin` number[]
  - `contains` number
- `voidedReason` object
  - `eq` string
  - `ne` string
  - `like` string
  - `in` string[]
  - `nin` string[]
  - `contains` string
- `periodStart` object
  - `eq` string, date-time
  - `ne` string, date-time
  - `gt` string, date-time
  - `gte` string, date-time
  - `lt` string, date-time
  - `lte` string, date-time
  - `in` string[]
  - `nin` string[]
  - `contains` string, date-time
- `periodEnd` object
  - `eq` string, date-time
  - `ne` string, date-time
  - `gt` string, date-time
  - `gte` string, date-time
  - `lt` string, date-time
  - `lte` string, date-time
  - `in` string[]
  - `nin` string[]
  - `contains` string, date-time
- `payment` object
  - `eq` string
  - `ne` string
  - `like` string
  - `in` string[]
  - `nin` string[]
  - `contains` string
- `number` object
  - `eq` string
  - `ne` string
  - `like` string
  - `in` string[]
  - `nin` string[]
  - `contains` string
- `subscription` object
  - `eq` string
  - `ne` string
  - `like` string
  - `in` string[]
  - `nin` string[]
  - `contains` string
- `sortDirection` 'ASC' | 'DESC' | 'asc' | 'desc'
- `sortBy` 'id' | 'createdAt' | 'updatedAt' | 'status'
- `page` number
- `pageSize` number
- `limit` number
- `cursor` string

## Response `200`

OK

- object
  - `pagination` union
    - OffsetPageMetaDTO
      - `mode` 'offset', required — Discriminator identifying offset-based pagination metadata.
      - `pageSize` number, required — Number of items per page.
      - `hasNextPage` boolean, required — Whether a next page exists.
      - `hasPreviousPage` boolean, required — Whether a previous page exists.
      - `page` number, required — Current page number (1-indexed).
      - `itemCount` number, required — Total number of items across all pages.
      - `pageCount` number, required — Total number of pages.
    - CursorPageMetaDTO
      - `mode` 'cursor', required — Discriminator identifying cursor-based pagination metadata.
      - `pageSize` number, required — Number of items per page.
      - `hasNextPage` boolean, required — Whether a next page exists.
      - `hasPreviousPage` boolean, required — Whether a previous page exists.
      - `nextCursor` string, nullable, required — Opaque cursor for fetching the next page. Null when there is no next page.
      - `prevCursor` string, nullable, required — Opaque cursor for fetching the previous page. Null when there is no previous page.
  - `data` InvoicePartialDTO[]
    - `createdAt` string, date-time, required — The date and time when the entity was created.
    - `updatedAt` string, date-time, nullable, required — The date and time when the entity was last updated.
    - `metadata` object, nullable — Metadata used by merchants to store additional information about the entity.
    - `id` string, required — The ID of the invoice
    - `status` 'open' | 'paid' | 'voided', required — The status of the invoice
    - `voidedReason` string, nullable, required — The reason for voiding the invoice
    - `comment` string, nullable, required — An optional comment for the invoice
    - `amount` number, required — The intended amount to pay for the invoice. The actual amount paid can differ if retrying with a percentage discount, in which case the actual amount paid can be found in `payment.amount`
    - `currency` 'usd' | 'eur' | 'gbp' | 'cad' | 'aud' | 'pln' | 'czk' | 'sek' | 'dkk', required — The currency of the amount to be charged
    - `type` 'setup' | 'recurring', required — Indicates whether the invoice is the one that sets up the subscription, or a recurring one
    - `number` string, required — Sequential, unique, and human-readable number of the invoice
    - `subscription` string, nullable, required — The ID of the subscription associated with this invoice
    - `customer` object, required — The customer associated with this invoice
      - `createdAt` string, date-time, required — The date and time when the entity was created.
      - `updatedAt` string, date-time, nullable, required — The date and time when the entity was last updated.
      - `metadata` object, nullable — Metadata used by merchants to store additional information about the entity.
      - `id` string, required — The ID of the customer
      - `email` string, required — The email of the customer
      - `name` string, nullable, required — The name of the customer
      - `phoneNumber` string, nullable, required — The phone number of the customer
      - `dateOfBirth` string, date, nullable, required — The date of birth of the customer
      - `gender` 'male' | 'female' | 'other' | 'null', nullable, required — The gender of the customer
      - `restrictMit` boolean — Whether the customer is restricted from making merchant-initiated payments. Only available from the dashboard or the API using a secret key.
      - `restrictCit` boolean — Whether the customer is restricted from making customer-initiated payments. Only available from the dashboard or the API using a secret key.
      - `restrictReason` string, nullable — Reason for restricting the customer. Only available from the dashboard or the API using a secret key.
      - `isRestricted` boolean — Whether the customer has at least one restriction applied (either `restrictMit` or `restrictCit`). Only available from the dashboard or the API using a secret key.

## Other responses

- `202` — The merchant is entitled but its environment is not provisioned yet. Provisioning has been kicked off (exactly once) and is in progress; retry the request — it succeeds once the environment is ready. Returned only for identity-token (dashboard) requests bound to a merchant, not for secret-key API calls; any such endpoint can return it while provisioning is underway.
- `400` — The request was rejected. `type` is `invalid_request_error` when the request itself is at fault — `errors` then lists every problem found, with field-attributable entries prefixed by the field’s path; `invalid_state_error` when the request was well-formed but the resource is not in a state that allows it; or `payment_error` when the payment was refused by the issuer or processor.
- `401` — No API key was supplied, or the key is not valid. `type` is `authentication_error`.
- `403` — The API key is valid but lacks the permission this operation requires. `type` is `permission_error`.
- `429` — Too many requests. The rate limit is applied per client across all operations. `type` is `rate_limit_error`.
- `500` — The request could not be completed because of an unexpected error. `type` is `api_error`.
- `504` — The request exceeded the processing time limit and was abandoned. `type` is `api_error` and `code` is `timeout` — unlike a plain 500 the request may still have taken effect, so retry with the same idempotency key rather than blindly.

---

[API](https://skmtc.dev/odus/apis/odus-orchestration-api.md) · [All operations](https://skmtc.dev/odus/apis/odus-orchestration-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/odus/odus-orchestration-api/revisions/d5fdcba31576/schema)
