---
title: "Get expenses"
method: GET
path: "/api/v2/expenses"
tags: ["Expenses"]
---

# Get expenses

`GET /api/v2/expenses`

List expenses. Returns a paginated collection of expenses matching the specified filters.

## Query parameters

- `sort` string[]
- `filter` union — Filter schema for `expense` list endpoints — pass a single condition or a logical group.
  - FilterExpense — Available filter parameters for querying expenses.
    - `created_at` union — Filter expenses by creation date.
      - CreatedAt — unresolved $ref
      - object — Filter operator object for created_at.
        - `not_contain` CreatedAt — unresolved $ref
        - `not_eq` CreatedAt — unresolved $ref
        - `contains` CreatedAt — unresolved $ref
        - `eq` CreatedAt — unresolved $ref
    - `service_id` union — Filter expenses by service ID.
      - ServiceId — unresolved $ref
      - object — Filter operator object for service_id.
        - `not_eq` ServiceId — unresolved $ref
        - `not_contain` ServiceId — unresolved $ref
        - `contains` ServiceId — unresolved $ref
        - `eq` ServiceId — unresolved $ref
    - `pay_on_after` union — Filter expenses with payment due after this date.
      - PayOnAfter — unresolved $ref
      - object — Filter operator object for pay_on_after.
        - `eq` PayOnAfter — unresolved $ref
        - `not_eq` PayOnAfter — unresolved $ref
        - `contains` PayOnAfter — unresolved $ref
        - `not_contain` PayOnAfter — unresolved $ref
    - `profit` union — Filter expenses by profit.
      - object — Filter operator object for profit.
        - `not_contain` Profit — unresolved $ref
        - `eq` Profit — unresolved $ref
        - `not_eq` Profit — unresolved $ref
        - `contains` Profit — unresolved $ref
      - Profit — unresolved $ref
    - `creator_id` union — Filter expenses by creator ID.
      - CreatorId — unresolved $ref
      - object — Filter operator object for creator_id.
        - `contains` CreatorId — unresolved $ref
        - `not_eq` CreatorId — unresolved $ref
        - `eq` CreatorId — unresolved $ref
        - `not_contain` CreatorId — unresolved $ref
    - `draft` union — Filter expenses by draft status.
      - Draft — unresolved $ref
      - object — Filter operator object for draft.
        - `not_eq` Draft — unresolved $ref
        - `eq` Draft — unresolved $ref
        - `contains` Draft — unresolved $ref
        - `not_contain` Draft — unresolved $ref
    - `company_id` union — Filter expenses by client company ID.
      - object — Filter operator object for company_id.
        - `not_contain` CompanyId — unresolved $ref
        - `eq` CompanyId — unresolved $ref
        - `contains` CompanyId — unresolved $ref
        - `not_eq` CompanyId — unresolved $ref
      - CompanyId — unresolved $ref
    - `approver_id` union — Filter expenses by approver ID.
      - object — Filter operator object for approver_id.
        - `contains` ApproverId — unresolved $ref
        - `eq` ApproverId — unresolved $ref
        - `not_eq` ApproverId — unresolved $ref
        - `not_contain` ApproverId — unresolved $ref
      - ApproverId — unresolved $ref
    - `custom_fields` union — Filter expenses by custom field values.
      - CustomFields — unresolved $ref
      - object — Filter operator object for custom_fields.
        - `not_contain` CustomFields — unresolved $ref
        - `contains` CustomFields — unresolved $ref
        - `eq` CustomFields — unresolved $ref
        - `not_eq` CustomFields — unresolved $ref
    - `reimbursable` union — Filter expenses by reimbursable status.
      - Reimbursable — unresolved $ref
      - object — Filter operator object for reimbursable.
        - `not_eq` Reimbursable — unresolved $ref
        - `not_contain` Reimbursable — unresolved $ref
        - `eq` Reimbursable — unresolved $ref
        - `contains` Reimbursable — unresolved $ref
    - `updated_at` union
      - object
        - `contains` UpdatedAt — unresolved $ref
        - `not_contain` UpdatedAt — unresolved $ref
        - `not_eq` UpdatedAt — unresolved $ref
        - `eq` UpdatedAt — unresolved $ref
      - UpdatedAt — unresolved $ref
    - `reimbursed_on` union — Filter expenses by reimbursed_on date.
      - object — Filter operator object for reimbursed_on.
        - `not_eq` ReimbursedOn — unresolved $ref
        - `contains` ReimbursedOn — unresolved $ref
        - `eq` ReimbursedOn — unresolved $ref
        - `not_contain` ReimbursedOn — unresolved $ref
      - ReimbursedOn — unresolved $ref
    - `amount` union — Filter expenses by unit amount.
      - Amount — unresolved $ref
      - object — Filter operator object for amount.
        - `contains` Amount — unresolved $ref
        - `not_eq` Amount — unresolved $ref
        - `not_contain` Amount — unresolved $ref
        - `eq` Amount — unresolved $ref
    - `quantity` union — Filter expenses by quantity.
      - object — Filter operator object for quantity.
        - `not_contain` Quantity — unresolved $ref
        - `contains` Quantity — unresolved $ref
        - `not_eq` Quantity — unresolved $ref
        - `eq` Quantity — unresolved $ref
      - Quantity — unresolved $ref
    - `updater_id` union
      - UpdaterId — unresolved $ref
      - object
        - `contains` UpdaterId — unresolved $ref
        - `eq` UpdaterId — unresolved $ref
        - `not_eq` UpdaterId — unresolved $ref
        - `not_contain` UpdaterId — unresolved $ref
    - `jump_query` union — Jump search query for quick expense lookup.
      - object — Filter operator object for jump_query.
        - `not_contain` JumpQuery — unresolved $ref
        - `eq` JumpQuery — unresolved $ref
        - `contains` JumpQuery — unresolved $ref
        - `not_eq` JumpQuery — unresolved $ref
      - JumpQuery — unresolved $ref
    - `service_type_id` union — Filter expenses by service type ID.
      - object — Filter operator object for service_type_id.
        - `eq` ServiceTypeId — unresolved $ref
        - `not_eq` ServiceTypeId — unresolved $ref
        - `contains` ServiceTypeId — unresolved $ref
        - `not_contain` ServiceTypeId — unresolved $ref
      - ServiceTypeId — unresolved $ref
    - `paid_on_after` union — Filter expenses paid after this date.
      - PaidOnAfter — unresolved $ref
      - object — Filter operator object for paid_on_after.
        - `eq` PaidOnAfter — unresolved $ref
        - `contains` PaidOnAfter — unresolved $ref
        - `not_contain` PaidOnAfter — unresolved $ref
        - `not_eq` PaidOnAfter — unresolved $ref
    - `deal_id` union — Filter expenses by budget or deal ID.
      - DealId — unresolved $ref
      - object — Filter operator object for deal_id.
        - `not_eq` DealId — unresolved $ref
        - `contains` DealId — unresolved $ref
        - `not_contain` DealId — unresolved $ref
        - `eq` DealId — unresolved $ref
    - `billable_amount` union — Filter expenses by billable amount.
      - object — Filter operator object for billable_amount.
        - `not_contain` BillableAmount — unresolved $ref
        - `eq` BillableAmount — unresolved $ref
        - `not_eq` BillableAmount — unresolved $ref
        - `contains` BillableAmount — unresolved $ref
      - BillableAmount — unresolved $ref
    - `paid_on` union — Filter expenses by paid_on date.
      - PaidOn — unresolved $ref
      - object — Filter operator object for paid_on.
        - `contains` PaidOn — unresolved $ref
        - `not_contain` PaidOn — unresolved $ref
        - `not_eq` PaidOn — unresolved $ref
        - `eq` PaidOn — unresolved $ref
    - `date_after` union — Filter expenses incurred after this date.
      - object — Filter operator object for date_after.
        - `eq` DateAfter — unresolved $ref
        - `not_eq` DateAfter — unresolved $ref
        - `not_contain` DateAfter — unresolved $ref
        - `contains` DateAfter — unresolved $ref
      - DateAfter — unresolved $ref
    - `invoice_id` union — Filter expenses by invoice ID.
      - object — Filter operator object for invoice_id.
        - `not_eq` InvoiceId — unresolved $ref
        - `contains` InvoiceId — unresolved $ref
        - `not_contain` InvoiceId — unresolved $ref
        - `eq` InvoiceId — unresolved $ref
      - InvoiceId — unresolved $ref
    - `purchase_order_id` union — Filter expenses by purchase order ID.
      - object — Filter operator object for purchase_order_id.
        - `contains` PurchaseOrderId — unresolved $ref
        - `not_eq` PurchaseOrderId — unresolved $ref
        - `not_contain` PurchaseOrderId — unresolved $ref
        - `eq` PurchaseOrderId — unresolved $ref
      - PurchaseOrderId — unresolved $ref
    - `section_name` union — Filter expenses by section name.
      - SectionName — unresolved $ref
      - object — Filter operator object for section_name.
        - `not_contain` SectionName — unresolved $ref
        - `not_eq` SectionName — unresolved $ref
        - `eq` SectionName — unresolved $ref
        - `contains` SectionName — unresolved $ref
    - `approval_status` union — Filter expenses by approval status.
      - ApprovalStatus — unresolved $ref
      - object — Filter operator object for approval_status.
        - `contains` ApprovalStatus — unresolved $ref
        - `not_eq` ApprovalStatus — unresolved $ref
        - `eq` ApprovalStatus — unresolved $ref
        - `not_contain` ApprovalStatus — unresolved $ref
    - `name` union — Filter expenses by name.
      - object — Filter operator object for name.
        - `contains` Name — unresolved $ref
        - `not_eq` Name — unresolved $ref
        - `not_contain` Name — unresolved $ref
        - `eq` Name — unresolved $ref
      - Name — unresolved $ref
    - `date` union — Filter expenses by incurred date.
      - object — Filter operator object for date.
        - `contains` Date — unresolved $ref
        - `not_eq` Date — unresolved $ref
        - `not_contain` Date — unresolved $ref
        - `eq` Date — unresolved $ref
      - Date — unresolved $ref
    - `fuzzy_dates` union — Filter expenses by fuzzy date range.
      - object — Filter operator object for fuzzy_dates.
        - `not_eq` FuzzyDates — unresolved $ref
        - `eq` FuzzyDates — unresolved $ref
      - FuzzyDates — unresolved $ref
    - `designated_approver_id` union — Filter by the designated approver person ID set on the budget the expense belongs to.
      - DesignatedApproverId — unresolved $ref
      - object — Object form with operator key (eq, not_eq, contains, not_contain).
        - `eq` DesignatedApproverId — unresolved $ref
        - `not_contain` DesignatedApproverId — unresolved $ref
        - `not_eq` DesignatedApproverId — unresolved $ref
        - `contains` DesignatedApproverId — unresolved $ref
    - `project_id` union — Filter expenses by project ID.
      - ProjectId — unresolved $ref
      - object — Filter operator object for project_id.
        - `eq` ProjectId — unresolved $ref
        - `not_contain` ProjectId — unresolved $ref
        - `not_eq` ProjectId — unresolved $ref
        - `contains` ProjectId — unresolved $ref
    - `export_status` union — Filter expenses by export status.
      - ExportStatus — unresolved $ref
      - object — Filter operator object for export_status.
        - `eq` ExportStatus — unresolved $ref
        - `not_contain` ExportStatus — unresolved $ref
        - `not_eq` ExportStatus — unresolved $ref
        - `contains` ExportStatus — unresolved $ref
    - `stage_type` union — Filter expenses by budget stage type.
      - StageType — unresolved $ref
      - object — Filter operator object for stage_type.
        - `not_eq` StageType — unresolved $ref
        - `not_contain` StageType — unresolved $ref
        - `eq` StageType — unresolved $ref
        - `contains` StageType — unresolved $ref
    - `pay_on` union — Filter expenses by payment due date.
      - PayOn — unresolved $ref
      - object — Filter operator object for pay_on.
        - `contains` PayOn — unresolved $ref
        - `not_contain` PayOn — unresolved $ref
        - `eq` PayOn — unresolved $ref
        - `not_eq` PayOn — unresolved $ref
    - `awaiting_approval_from_approver_id` union — Filter expenses by the approver they are awaiting approval from.
      - AwaitingApprovalFromApproverId — unresolved $ref
      - object — Filter operator object for awaiting_approval_from_approver_id.
        - `eq` AwaitingApprovalFromApproverId — unresolved $ref
        - `contains` AwaitingApprovalFromApproverId — unresolved $ref
        - `not_eq` AwaitingApprovalFromApproverId — unresolved $ref
        - `not_contain` AwaitingApprovalFromApproverId — unresolved $ref
    - `quote_type` union — Filter expenses by quote type.
      - QuoteType — unresolved $ref
      - object — Filter operator object for quote_type.
        - `not_eq` QuoteType — unresolved $ref
        - `not_contain` QuoteType — unresolved $ref
        - `eq` QuoteType — unresolved $ref
        - `contains` QuoteType — unresolved $ref
    - `query` union — Text search query matching expense names.
      - Query — unresolved $ref
      - object — Filter operator object for query.
        - `contains` Query — unresolved $ref
        - `not_contain` Query — unresolved $ref
        - `eq` Query — unresolved $ref
        - `not_eq` Query — unresolved $ref
    - `tax_rate_id` union — Filter expenses by tax rate ID.
      - TaxRateId — unresolved $ref
      - object — Filter operator object for tax_rate_id.
        - `not_contain` TaxRateId — unresolved $ref
        - `eq` TaxRateId — unresolved $ref
        - `contains` TaxRateId — unresolved $ref
        - `not_eq` TaxRateId — unresolved $ref
    - `reimbursement` union — Filter expenses by reimbursement status.
      - object — Filter operator object for reimbursement.
        - `not_eq` Reimbursement — unresolved $ref
        - `eq` Reimbursement — unresolved $ref
        - `not_contain` Reimbursement — unresolved $ref
        - `contains` Reimbursement — unresolved $ref
      - Reimbursement — unresolved $ref
    - `person_id` union — Filter expenses by person ID.
      - object — Filter operator object for person_id.
        - `eq` PersonId — unresolved $ref
        - `not_eq` PersonId — unresolved $ref
        - `not_contain` PersonId — unresolved $ref
        - `contains` PersonId — unresolved $ref
      - PersonId — unresolved $ref
    - `assigned_approver_id` union — Filter expenses by assigned approver ID.
      - object — Filter operator object for assigned_approver_id.
        - `eq` AssignedApproverId — unresolved $ref
        - `contains` AssignedApproverId — unresolved $ref
        - `not_contain` AssignedApproverId — unresolved $ref
        - `not_eq` AssignedApproverId — unresolved $ref
      - AssignedApproverId — unresolved $ref
    - `currency` union — Filter expenses by currency code.
      - Currency — unresolved $ref
      - object — Filter operator object for currency.
        - `contains` Currency — unresolved $ref
        - `eq` Currency — unresolved $ref
        - `not_eq` Currency — unresolved $ref
        - `not_contain` Currency — unresolved $ref
    - `fuzzy_people` union — Filter expenses by fuzzy people match.
      - FuzzyPeople — unresolved $ref
      - object — Filter operator object for fuzzy_people.
        - `not_contain` FuzzyPeople — unresolved $ref
        - `eq` FuzzyPeople — unresolved $ref
        - `not_eq` FuzzyPeople — unresolved $ref
        - `contains` FuzzyPeople — unresolved $ref
    - `pay_on_before` union — Filter expenses with payment due before this date.
      - PayOnBefore — unresolved $ref
      - object — Filter operator object for pay_on_before.
        - `eq` PayOnBefore — unresolved $ref
        - `not_eq` PayOnBefore — unresolved $ref
        - `not_contain` PayOnBefore — unresolved $ref
        - `contains` PayOnBefore — unresolved $ref
    - `vendor_id` union — Filter expenses by vendor ID.
      - VendorId — unresolved $ref
      - object — Filter operator object for vendor_id.
        - `not_contain` VendorId — unresolved $ref
        - `eq` VendorId — unresolved $ref
        - `not_eq` VendorId — unresolved $ref
        - `contains` VendorId — unresolved $ref
    - `allocation_status` union — Filter by whether the expense is allocated to a service (allocated) or not linked to any service (unallocated).
      - AllocationStatus — unresolved $ref
      - object — Object form with operator key (eq, not_eq, contains, not_contain).
        - `eq` AllocationStatus — unresolved $ref
        - `not_eq` AllocationStatus — unresolved $ref
        - `not_contain` AllocationStatus — unresolved $ref
        - `contains` AllocationStatus — unresolved $ref
    - `responsible_id` union — Filter expenses by responsible person ID.
      - ResponsibleId — unresolved $ref
      - object — Filter operator object for responsible_id.
        - `not_eq` ResponsibleId — unresolved $ref
        - `contains` ResponsibleId — unresolved $ref
        - `not_contain` ResponsibleId — unresolved $ref
        - `eq` ResponsibleId — unresolved $ref
    - `recognized_revenue` union — Filter expenses by recognized revenue.
      - object — Filter operator object for recognized_revenue.
        - `eq` RecognizedRevenue — unresolved $ref
        - `not_eq` RecognizedRevenue — unresolved $ref
        - `not_contain` RecognizedRevenue — unresolved $ref
        - `contains` RecognizedRevenue — unresolved $ref
      - RecognizedRevenue — unresolved $ref
    - `date_before` union — Filter expenses incurred before this date.
      - object — Filter operator object for date_before.
        - `not_eq` DateBefore — unresolved $ref
        - `contains` DateBefore — unresolved $ref
        - `not_contain` DateBefore — unresolved $ref
        - `eq` DateBefore — unresolved $ref
      - DateBefore — unresolved $ref
    - `amount_with_tax` union — Filter expenses by unit amount including tax.
      - AmountWithTax — unresolved $ref
      - object — Filter operator object for amount_with_tax.
        - `not_contain` AmountWithTax — unresolved $ref
        - `not_eq` AmountWithTax — unresolved $ref
        - `contains` AmountWithTax — unresolved $ref
        - `eq` AmountWithTax — unresolved $ref
    - `invoicing_status` union — Filter expenses by invoicing status.
      - InvoicingStatus — unresolved $ref
      - object — Filter operator object for invoicing_status.
        - `contains` InvoicingStatus — unresolved $ref
        - `not_eq` InvoicingStatus — unresolved $ref
        - `eq` InvoicingStatus — unresolved $ref
        - `not_contain` InvoicingStatus — unresolved $ref
    - `invoiced` union — Filter expenses by invoiced status.
      - object — Filter operator object for invoiced.
        - `contains` Invoiced — unresolved $ref
        - `not_eq` Invoiced — unresolved $ref
        - `eq` Invoiced — unresolved $ref
        - `not_contain` Invoiced — unresolved $ref
      - Invoiced — unresolved $ref
    - `with_draft` union — Filter expenses by whether drafts are included.
      - WithDraft — unresolved $ref
      - object — Filter operator object for with_draft.
        - `not_contain` WithDraft — unresolved $ref
        - `contains` WithDraft — unresolved $ref
        - `not_eq` WithDraft — unresolved $ref
        - `eq` WithDraft — unresolved $ref
    - `id` union — Filter expenses by ID.
      - object — Filter operator object for id.
        - `not_eq` Id — unresolved $ref
        - `not_contain` Id — unresolved $ref
        - `eq` Id — unresolved $ref
        - `contains` Id — unresolved $ref
      - Id — unresolved $ref
    - `paid_on_before` union — Filter expenses paid before this date.
      - object — Filter operator object for paid_on_before.
        - `not_eq` PaidOnBefore — unresolved $ref
        - `contains` PaidOnBefore — unresolved $ref
        - `not_contain` PaidOnBefore — unresolved $ref
        - `eq` PaidOnBefore — unresolved $ref
      - PaidOnBefore — unresolved $ref
    - `full_query` union — Full-text search query across expense fields.
      - FullQuery — unresolved $ref
      - object — Filter operator object for full_query.
        - `eq` FullQuery — unresolved $ref
        - `not_contain` FullQuery — unresolved $ref
        - `not_eq` FullQuery — unresolved $ref
        - `contains` FullQuery — unresolved $ref
    - `status` union — Filter expenses by approval status.
      - object — Filter operator object for status.
        - `not_eq` Status — unresolved $ref
        - `contains` Status — unresolved $ref
        - `eq` Status — unresolved $ref
        - `not_contain` Status — unresolved $ref
      - Status — unresolved $ref
    - `approved_at` union — Filter by the date the expense was approved (`approved_at`).
      - object — Object form with operator key (eq, not_eq, contains, not_contain).
        - `contains` ApprovedAt — unresolved $ref
        - `not_eq` ApprovedAt — unresolved $ref
        - `eq` ApprovedAt — unresolved $ref
        - `not_contain` ApprovedAt — unresolved $ref
      - ApprovedAt — unresolved $ref
  - object — A logical filter group — combine multiple conditions with the `$op` operator.
    - `$op` 'or' | 'and', required — Logical operator combining conditions in this group. `or` matches records satisfying any condition; `and` requires all conditions to match.

## Headers

- `X-Organization-Id` string, required

## Response `200`

Collection expense

---

[API](https://skmtc.net/productive/apis/api-documentation.md) · [All operations](https://skmtc.net/productive/apis/api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/productive/api-documentation/revisions/11e8576224b8/schema)
