---
title: "Retrieve a paginated list of receipts"
method: GET
path: "/receipts"
tags: ["receipts"]
---

# Retrieve a paginated list of receipts

`GET /receipts`

Returns a paginated list of receipts, filterable by company, location, purchase order, status, and date range.

## Query parameters

- `ottimate_company_id` integer
- `ottimate_location_id` integer
- `ottimate_po_id` string
- `status` string
- `date_from` string, date
- `date_to` string, date
- `expand` string
- `external_id` string
- `page` integer
- `limit` integer

## Headers

- `Authorization` string, required
- `X-Api-Key` string, required
- `X-API-Version` string

## Response `200`

Successful response with paginated receipt list

- ReceiptsGetReceiptsRootResponse200
  - `version` string
  - `count` integer
  - `page` integer
  - `limit` integer
  - `receipts` ReceiptSummary[]
    - `id` string, required
    - `external_id` string
    - `receipt_number` string
    - `status` 'open' | 'pending' | 'flagged' | 'closed' | 'archived' | 'deleted', required
    - `ottimate_po_id` string
    - `date` string, date
    - `total_amount` number, double
    - `created_date` string, date-time
    - `created_date_utc` string, date-time, nullable — UTC equivalent of created_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".

## Other responses

- `400` — Bad request - Invalid parameters or request format
- `401` — Unauthorized - Authentication required or invalid credentials
- `403` — Forbidden - Access denied or insufficient permissions

## Changes

> 11 revisions in range; 8 could not be searched.

- **2026-08-17** `c231509a03cf` — 4 breaking, 4 info
  - for the `query` request parameter `limit`, default value `20` was added
  - for the `query` request parameter `page`, default value `1` was added
  - the `message` response's property type/format changed from `string`/`` to ``/`` for status `400`
  - the `message` response's property type/format changed from `string`/`` to ``/`` for status `401`
  - …4 more
- **2026-08-13** `1f089f3e34d9` — 6 breaking
  - the response property `code` became optional for the status `400`
  - the response property `code` became optional for the status `401`
  - the response property `message` became optional for the status `400`
  - the response property `message` became optional for the status `401`
  - …2 more

[Change history](https://skmtc.dev/ottimate/apis/api-reference/changes/receipts/get.md)

---

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