---
title: "List of reconciliation sessions"
method: GET
path: "/shops/{SHOP_ID}/reconciliations"
tags: ["Reconciliation"]
---

# List of reconciliation sessions

`GET /shops/{SHOP_ID}/reconciliations`

## Request

- Base URL: `https://pos.pages.fm/api/v1`
- URL: `https://pos.pages.fm/api/v1/shops/{SHOP_ID}/reconciliations`
- Auth: API key in query parameter `api_key`

Get list of reconciliation sessions. Each session includes its orders in the `orders` array

## Path parameters

- `SHOP_ID` integer, required

## Query parameters

- `page` integer
- `page_size` integer
- `sort_by` 'updated_at'
- `startDateUpdatedAt` integer
- `endDateUpdatedAt` integer
- `include_removed` boolean
- `system_id[]` integer[]
- `display_id` integer
- `search` string
- `partner_id[]` string[]
- `creator_id` string, uuid
- `order_id` integer
- `startDate` integer
- `endDate` integer
- `startDatePaidAt` integer
- `endDatePaidAt` integer

## Response `200`

Success

- object
  - `success` boolean: Success status
  - `data` Reconciliation[]: List of reconciliation sessions
    - `system_id` integer: Internal session ID. Use it for the `system_id` filter
    - `display_id` integer: Session code shown on the shop screen
    - `custom_id` string, nullable: Code set by the shop or the marketplace (e.g. statement ID)
    - `partner_id` string, nullable: Shipping partner ID on Pancake system
    - `control_type` 'control_cod' | 'control_fee' | 'all' | 'merge': Session type. Very old sessions without a type are returned as `all`
    - `note` string, nullable: Note
    - `excel_cod` integer, nullable: Total COD according to the carrier statement
    - `excel_fee` integer, nullable: Total shipping fee according to the carrier statement
    - `pos_cod` integer, nullable: Total COD according to POS orders
    - `paid_at` string, date-time, nullable: Payment time of the session
    - `payment_status` 'paid' | 'unpaid': Payment status
    - `creator` ReconciliationUser
      - `id` string, uuid: User ID
      - `name` string, nullable: User name. Null when the user was deleted from the system
    - `updater` ReconciliationUser
      - `id` string, uuid: User ID
      - `name` string, nullable: User name. Null when the user was deleted from the system
    - `inserted_at` string, date-time: Session creation time
    - `updated_at` string, date-time: Last update time. Sync cursor for incremental sync; bumped by every change including attaching transactions and removal
    - `is_removed` boolean: True when the session was removed (soft delete). Only returned with `include_removed=true`
    - `orders` ReconciliationOrder[]: Orders of the session. Never truncated
      - `order_id` integer: Internal order ID (`system_id` of the order)
      - `display_id` integer, nullable: Order ID shown on the shop (`id` of the order)
      - `custom_id` string, nullable: Custom order code set by the shop
      - `extend_code` string, nullable: Tracking code from the shipping partner
      - `order_number_vtp` string, nullable: Viettel Post order number
      - `order_status` integer, nullable: Order status at the time the order was added to the session. Same values as `status` of the order
      - `result` 'succeed' | 'mismatch' | 'failed', nullable: Reconciliation result of the order in this session
      - `message` string, nullable: Reason when the order could not be reconciled
      - `cod_amount` integer, nullable: COD amount according to the shipping partner. Null when this session does not reconcile COD for the order
      - `partner_fee` integer, nullable: Shipping fee according to the shipping partner
      - `pos_cod` integer, nullable: COD amount of the order on POS
      - `currency` string, nullable: Currency of the order
      - `reconciliation_at` string, date-time, nullable: Reconciliation time of the order
  - `page_number` integer: Page number
  - `page_size` integer: Page size
  - `total_entries` integer: Total entries
  - `total_pages` integer: Total pages

## Other responses

- `403`: The API key is invalid or disabled

## Changes

- **2026-10-15** `ec372936406d`: 1 warning
  - removed the optional property `data/items/orders/items/type` from the response with the `200` status
- **2026-10-14** `e882edcb4bd2`: 2 info
  - added the optional property `data/items/control_type` to the response with the `200` status
  - added the optional property `data/items/orders/items/type` to the response with the `200` status
- **2026-09-28** `fc5c760fb2b3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pancake/apis/pancake-pos-open-api/changes/shops/:SHOP_ID/reconciliations/get.md)

---

[API](https://skmtc.dev/pancake/apis/pancake-pos-open-api.md) - [All operations](https://skmtc.dev/pancake/apis/pancake-pos-open-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pancake/apis/pancake-pos-open-api/revisions/3df28d1fb5dc?raw)
