List purchase orders

Operation ID: purchaseOrders

Group: Accounting › Purchase Orders

Open in the interactive reference

GET /accounting/purchase-orders

Read-only: Reads and returns; changes nothing.

Lists purchase orders. Each item is the order's main fields, without its lines. To get the lines, use GET accounting/purchase-orders/:id or POST accounting/purchase-orders/search.

To filter by vendor or legal entity, use POST accounting/purchase-orders/search.

Parameters

Name In Type Required Description
Api-Version header string · v1 yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.

Query surface

Response

200 Success

Under data, an array of purchaseOrdersRow:

Field Type Required Filter Sort Description
id string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The unique identifier for the purchase order.
poNumber string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The purchase order number, for example 'PO-3'. Absent while none has been assigned.
description string | null no no no The description of the order, shown to the vendor.
internalDescription string | null no no no Internal notes on the order, not shown to the vendor.
externalMemo string | null no no no A memo intended for the vendor.
externalPONumber string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) no The order reference in the vendor's or an upstream system. It is not unique.
approvalStatus string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The approval status of the order. Possible values: 'approved', 'pendingApproval', 'rejected'.
budgetStatus string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The budget-check status of the order. Possible values: 'approved', 'rejected', 'pendingApproval'. Independent of approvalStatus.
status string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The order lifecycle status. Possible values: 'open', 'inprogress', 'closed', 'overMatched'. This is not the vendor-bill matching status, which is per line in each line's matchStatus.
currency string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The currency the order is denominated in. Format ISO 4217, for example 'USD'. Governs every amount on the order and its lines.
totalAmount decimal | null no no yes The total ordered amount, the sum of the line totals, in the order currency.
invoicedTotalAmount decimal | null no no yes The portion of the order already invoiced by vendor bills, in the order currency.
receivedTotalAmount decimal | null no no yes The portion of the order already received as goods, in the order currency.
startDate date | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The first day of the period the order covers. Format YYYY-MM-DD.
endDate date | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The last day of the period the order covers. Format YYYY-MM-DD.
needByDate date | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The date the goods or services are needed by. Format YYYY-MM-DD.
paymentTerms string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) no The payment-terms code applied to this order, for example 'net30', 'net60', 'dueOnReceipt' or 'custom'. Inherited from the vendor unless overridden.
vendorName string | null no no no The name of the vendor this order is placed with.
vendorContactEmail string | null no no no The main contact email at the vendor.
entityName string | null no no no The name of the legal entity this order is placed by.
lastModifiedDate date-time | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The date and time the purchase order last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "poNumber": "<poNumber>",
      "description": "<description>",
      "internalDescription": "<internalDescription>",
      "externalMemo": "<externalMemo>",
      "externalPONumber": "<externalPONumber>",
      "approvalStatus": "<approvalStatus>",
      "budgetStatus": "<budgetStatus>",
      "status": "<status>",
      "currency": "<currency>",
      "totalAmount": "19.99",
      "invoicedTotalAmount": "19.99",
      "receivedTotalAmount": "19.99",
      "startDate": "2026-01-15",
      "endDate": "2026-01-15",
      "needByDate": "2026-01-15",
      "paymentTerms": "<paymentTerms>",
      "vendorName": "<vendorName>",
      "vendorContactEmail": "<vendorContactEmail>",
      "entityName": "<entityName>",
      "lastModifiedDate": "2026-01-15T09:30:00.000Z"
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "<nextCursor>"
  }
}

Statuses