---
title: "List expense reports"
method: GET
path: "/expense-reports/"
tags: ["Expense Reports"]
---

# List expense reports

`GET /expense-reports/`

## Request

- Base URL: `https://api.wafeq.com/v1`
- URL: `https://api.wafeq.com/v1/expense-reports/`
- Auth: API key in header `Authorization`

Endpoint for retrieving a list of expense reports.

## Query parameters

- `created_ts_after` string, date-time
- `created_ts_before` string, date-time
- `employee` string
- `expand` string
- `modified_ts_after` string, date-time
- `modified_ts_before` string, date-time
- `page` integer
- `page_size` integer
- `report_date_after` string, date
- `report_date_before` string, date
- `status` 'APPROVED' | 'DRAFT' | 'PENDING_APPROVAL' | 'REIMBURSED' | 'REIMBURSING' | 'REJECTED' | '__null__': * `APPROVED` - APPROVED * `DRAFT` - DRAFT * `PENDING_APPROVAL` - PENDING_APPROVAL * `REIMBURSED` - REIMBURSED * `REIMBURSING` - REIMBURSING * `REJECTED` - REJECTED * `__null__` - __null__

## Response `200`

- PaginatedapiV1ExpenseReportList: A page of results.
  - `count` integer, required: The total number of results across all pages.
  - `next` string, uri, nullable: The URL of the next page of results, or null on the last page.
  - `previous` string, uri, nullable: The URL of the previous page of results, or null on the first page.
  - `results` ApiV1ExpenseReport[], required: The results on this page.
    - `amount` number, double, nullable, required: The total of all claims in the report, converted to the organization base currency.
    - `approved_ts` string, date-time, nullable, required: The timestamp in UTC when the report was approved, or null if it was not.
    - `claims` ApiV1ExpenseClaim[], required: The expense claims included in the report.
      - `account` string, nullable, required: The expense account the claim is booked to, or null while it is not categorized yet.
      - `amount` number, double, nullable, required: The claimed amount, in the claim currency, or null while it is not entered yet.
      - `attachments` string[], required: The IDs of the receipts and other files attached to this claim.
      - `branch` string, nullable, required: The branch the claim is assigned to, if any.
      - `contact` string, nullable, required: The supplier the expense was paid to, if any.
      - `cost_center` string, nullable, required: The cost center the claim is assigned to, if any.
      - `created_ts` string, date-time, required: The timestamp in UTC when the expense claim was created
      - `currency` 'AED' | 'SAR' | 'USD' | 'EUR' | 'CAD' | 'AFN' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BAM' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BND' | 'BOB' | 'BRL' | 'BWP' | 'BYN' | 'BZD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'GBP' | 'GEL' | 'GHS' | 'GNF' | 'GTQ' | 'HKD' | 'HNL' | 'HRK' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KZT' | 'LBP' | 'LKR' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SDG' | 'SEK' | 'SGD' | 'SOS' | 'SYP' | 'THB' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'XAF' | 'XOF' | 'YER' | 'ZAR' | 'ZMW', required: An ISO 4217 currency code. [View the enum reference](currencyenum)
      - `date` string, date, nullable, required: The date the expense was incurred, or null while it is not entered yet.
      - `description` string, required: The employee description of the expense.
      - `exchange_rate` number, double, nullable, required: The exchange rate from the claim currency to the organization base currency, or null when it is set automatically.
      - `id` string, nullable, required: The unique identifier of the expense claim.
      - `modified_ts` string, date-time, required: The timestamp in UTC when the expense claim was last modified
      - `project` string, nullable, required: The project the claim is assigned to, if any.
      - `tax_amount_type` 'TAX_INCLUSIVE' | 'TAX_EXCLUSIVE', required: Whether amounts include or exclude tax. [View the enum reference](taxamounttypeenum)
      - `tax_rate` string, nullable, required: The tax rate applied to the claim, if any.
      - `vendor` string, required: The merchant name as written on the receipt.
    - `created_ts` string, date-time, required: The timestamp in UTC when the expense report was created
    - `currency` 'AED' | 'SAR' | 'USD' | 'EUR' | 'CAD' | 'AFN' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BAM' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BND' | 'BOB' | 'BRL' | 'BWP' | 'BYN' | 'BZD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'GBP' | 'GEL' | 'GHS' | 'GNF' | 'GTQ' | 'HKD' | 'HNL' | 'HRK' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KZT' | 'LBP' | 'LKR' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SDG' | 'SEK' | 'SGD' | 'SOS' | 'SYP' | 'THB' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'XAF' | 'XOF' | 'YER' | 'ZAR' | 'ZMW', required: An ISO 4217 currency code. [View the enum reference](currencyenum)
    - `description` string, required: Notes the employee added to the report.
    - `employee` string, nullable, required: The employee the report belongs to, or null when no employee is linked.
    - `exchange_rate` number, double, nullable, required: The exchange rate from the report currency to the organization base currency at the time of the report.
    - `id` string, required: The unique identifier of the expense report.
    - `journal` union, required: The public ID of the journal entry the approved report posted, or null when no journal exists. Pass expand=journal to return the journal object instead of its ID. Use GET /v1/journal-line-items/?journal={journal_id} to retrieve the accounting entries.
      - string
      - ApiV1Journal: A journal entry in the general ledger.
        - `created_ts` string, date-time, required: The timestamp in UTC when the journal was created
        - `currency` 'AED' | 'SAR' | 'USD' | 'EUR' | 'CAD' | 'AFN' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BAM' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BND' | 'BOB' | 'BRL' | 'BWP' | 'BYN' | 'BZD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'GBP' | 'GEL' | 'GHS' | 'GNF' | 'GTQ' | 'HKD' | 'HNL' | 'HRK' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KHR' | 'KMF' | 'KRW' | 'KWD' | 'KZT' | 'LBP' | 'LKR' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SDG' | 'SEK' | 'SGD' | 'SOS' | 'SYP' | 'THB' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'XAF' | 'XOF' | 'YER' | 'ZAR' | 'ZMW', required: An ISO 4217 currency code. [View the enum reference](currencyenum)
        - `date` string, date, required: The date of the journal entry.
        - `id` string, required: The unique identifier of the journal.
        - `legacy_id` string, required: [Deprecated] The legacy identifier of the journal.
        - `modified_ts` string, date-time, required: The timestamp in UTC when the journal was last modified
        - `notes` string: Additional notes about the journal entry.
        - `reference` string: Reference number or code for the journal.
    - `modified_ts` string, date-time, required: The timestamp in UTC when the expense report was last modified
    - `reference` string, required: An optional reference code or number for this report.
    - `reimbursements_account` string, nullable, required: The employee reimbursements liability account the report journal credits, if set.
    - `rejected_ts` string, date-time, nullable, required: The timestamp in UTC when the report was last rejected, or null if it was not.
    - `report_date` string, date, nullable, required: The date of the report, used as the date of its journal entry, or null while it is not set.
    - `report_number` string, required: The number assigned to the report.
    - `status` 'DRAFT' | 'PENDING_APPROVAL' | 'APPROVED' | 'REJECTED' | 'REIMBURSING' | 'REIMBURSED', required: The current lifecycle status of an expense report. [View the enum reference](expensereportstatusenum)
    - `submitted_ts` string, date-time, nullable, required: The timestamp in UTC when the report was last submitted for approval, or null if it was not.
    - `title` string, required: The title the employee gave the report.

## Changes

- **2026-11-03** `b8f5e10134b4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wafeq/apis/wafeq-public-api/changes/expense-reports/get.md)

---

[API](https://skmtc.dev/wafeq/apis/wafeq-public-api.md) - [All operations](https://skmtc.dev/wafeq/apis/wafeq-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wafeq/apis/wafeq-public-api/revisions/b8f5e10134b4?raw)
