Search purchase orders by PO number or vendor. Returns up to 20 matching results.
poNumber or vendorId must be provided.
| Parameter | Type | Required | Description |
|---|---|---|---|
poNumber | string | No | Partial or full PO number to search for (case-insensitive) |
vendorId | string | No | Exact vendor slug identifier to filter by |
200 OK
Returns up to 20 purchase orders matching the search criteria, ordered by creation date (newest first). Archived POs are excluded from results.
Response Fields:
| Field | Type | Description |
|---|---|---|
ok | boolean | Indicates whether the request was successful |
data | object | Contains the search results |
data.purchaseOrders | array | List of matching purchase orders |
data.purchaseOrders[].poId | string | Unique slug identifier for the purchase order |
data.purchaseOrders[].poNumber | string | Purchase order number |
data.purchaseOrders[].state | string | Current state of the PO |
data.purchaseOrders[].amount | number | Total purchase order amount |
data.purchaseOrders[].currency | string | Currency code (e.g., INR) |
data.purchaseOrders[].poDate | string | Purchase order date (ISO 8601 format) |
data.purchaseOrders[].vendor | object | Linked vendor information (null if no vendor linked) |
data.purchaseOrders[].vendor.vendorId | string | Unique slug identifier of the vendor |
data.purchaseOrders[].vendor.name | string | Vendor display name |
400 Bad Request
401 Unauthorized
403 Forbidden
500 Internal Server Error
poNumber or vendorId — the API returns a 400 if neither is suppliedpoNumber supports partial matching (e.g., searching PO-2024 will match PO-2024-001, PO-2024-002, etc.)vendorId requires an exact match — use the vendor slug returned from the Vendor Creation API or Vendor Search API