---
title: "Get purchase orders"
method: GET
path: "/api/v2/purchase_orders"
tags: ["Purchase Orders"]
---

# Get purchase orders

`GET /api/v2/purchase_orders`

Lists purchase orders in the current account with pagination, filtering, sorting, and sparse fieldsets. Returns a JSON:API collection of `purchase_orders` resources.

## Query parameters

- `sort` string[]
- `filter` union — Root shape of the `filter` parameter: either per-field filters or an indexed `AND`/`OR` group.
  - object — Grouped form — combine multiple filter slots with a boolean operator.
    - `$op` 'or' | 'and', required — Boolean operator joining the numbered filter slots. One of `and` or `or`.
  - FilterPurchaseOrder — Filter shape for the purchase orders collection — per-field filters keyed by purchase order attributes.
    - `query` union — Free-text search across the purchase order number and quick-search terms.
      - Query — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_eq` Query — unresolved $ref
        - `not_contain` Query — unresolved $ref
        - `eq` Query — unresolved $ref
        - `contains` Query — unresolved $ref
    - `status_id` union — Filter by purchase order status.
      - StatusId — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `eq` StatusId — unresolved $ref
        - `contains` StatusId — unresolved $ref
        - `not_contain` StatusId — unresolved $ref
        - `not_eq` StatusId — unresolved $ref
    - `vendor_id` union — Filter by the vendor company fulfilling the purchase order.
      - VendorId — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `eq` VendorId — unresolved $ref
        - `not_eq` VendorId — unresolved $ref
        - `contains` VendorId — unresolved $ref
        - `not_contain` VendorId — unresolved $ref
    - `creator_id` union — Filter by the person who created the purchase order.
      - CreatorId — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_contain` CreatorId — unresolved $ref
        - `contains` CreatorId — unresolved $ref
        - `not_eq` CreatorId — unresolved $ref
        - `eq` CreatorId — unresolved $ref
    - `total_cost_with_tax` union — Filter by total amount including tax.
      - TotalCostWithTax — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `contains` TotalCostWithTax — unresolved $ref
        - `not_eq` TotalCostWithTax — unresolved $ref
        - `not_contain` TotalCostWithTax — unresolved $ref
        - `eq` TotalCostWithTax — unresolved $ref
    - `received_on` union — Filter by the date goods or services were received.
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `eq` ReceivedOn — unresolved $ref
        - `not_eq` ReceivedOn — unresolved $ref
        - `contains` ReceivedOn — unresolved $ref
        - `not_contain` ReceivedOn — unresolved $ref
      - ReceivedOn — unresolved $ref
    - `number` union — Filter by the human-readable purchase order number.
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_contain` Number — unresolved $ref
        - `contains` Number — unresolved $ref
        - `not_eq` Number — unresolved $ref
        - `eq` Number — unresolved $ref
      - Number — unresolved $ref
    - `sent_on` union — Filter by the date the purchase order was sent.
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `eq` SentOn — unresolved $ref
        - `contains` SentOn — unresolved $ref
        - `not_eq` SentOn — unresolved $ref
        - `not_contain` SentOn — unresolved $ref
      - SentOn — unresolved $ref
    - `total_cost` union — Filter by pre-tax total amount.
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `eq` TotalCost — unresolved $ref
        - `not_contain` TotalCost — unresolved $ref
        - `not_eq` TotalCost — unresolved $ref
        - `contains` TotalCost — unresolved $ref
      - TotalCost — unresolved $ref
    - `issued_on` union — Filter by issue date.
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_contain` IssuedOn — unresolved $ref
        - `eq` IssuedOn — unresolved $ref
        - `contains` IssuedOn — unresolved $ref
        - `not_eq` IssuedOn — unresolved $ref
      - IssuedOn — unresolved $ref
    - `delivery_on` union — Filter by expected delivery date.
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_contain` DeliveryOn — unresolved $ref
        - `eq` DeliveryOn — unresolved $ref
        - `not_eq` DeliveryOn — unresolved $ref
        - `contains` DeliveryOn — unresolved $ref
      - DeliveryOn — unresolved $ref
    - `id` union — Filter by purchase order ID.
      - Id — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_eq` Id — unresolved $ref
        - `contains` Id — unresolved $ref
        - `not_contain` Id — unresolved $ref
        - `eq` Id — unresolved $ref
    - `created_at` union — Filter by creation timestamp.
      - CreatedAt — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_contain` CreatedAt — unresolved $ref
        - `eq` CreatedAt — unresolved $ref
        - `not_eq` CreatedAt — unresolved $ref
        - `contains` CreatedAt — unresolved $ref
    - `payment_status_id` union — Filter by payment status.
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_eq` PaymentStatusId — unresolved $ref
        - `contains` PaymentStatusId — unresolved $ref
        - `not_contain` PaymentStatusId — unresolved $ref
        - `eq` PaymentStatusId — unresolved $ref
      - PaymentStatusId — unresolved $ref
    - `total_received` union — Filter by amount already received.
      - TotalReceived — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_contain` TotalReceived — unresolved $ref
        - `contains` TotalReceived — unresolved $ref
        - `eq` TotalReceived — unresolved $ref
        - `not_eq` TotalReceived — unresolved $ref
    - `deal_id` union — Filter by the parent deal (budget) the purchase order belongs to.
      - DealId — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_contain` DealId — unresolved $ref
        - `eq` DealId — unresolved $ref
        - `contains` DealId — unresolved $ref
        - `not_eq` DealId — unresolved $ref
    - `project_id` union — Filter by the project the parent deal belongs to.
      - ProjectId — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `eq` ProjectId — unresolved $ref
        - `not_contain` ProjectId — unresolved $ref
        - `not_eq` ProjectId — unresolved $ref
        - `contains` ProjectId — unresolved $ref
    - `sent_status` union — Filter by whether the purchase order has been sent. One of `sent` or `not_sent`.
      - SentStatus — unresolved $ref
      - object — Operator-based filter: specify one or more of `eq`, `not_eq`, `contains`, `not_contain`, or range operators.
        - `not_contain` SentStatus — unresolved $ref
        - `not_eq` SentStatus — unresolved $ref
        - `eq` SentStatus — unresolved $ref
        - `contains` SentStatus — unresolved $ref

## Headers

- `X-Organization-Id` string, required

## Response `200`

Paginated list of purchase orders in JSON:API format, with related vendor, deal, creator, document type, bill-to, bill-from, and attachment resources available via `include`.

---

[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)
