Get Purchase Order¶
Retrieves a single purchase order header together with all of its line items.
Request¶
Required privilege: Procurement / View
Path Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Yes | Internal PO identifier (id from the list response) |
Example Request¶
Response¶
Response Body¶
{
"data": {
"headers": {
"parent": [
{ "key": "PO List Number", "format": "string-link", "alias": "PO #" },
{ "key": "Supplier Name", "format": "string-link" },
{ "key": "PO List Document Status", "format": "string", "alias": "Status" },
{ "key": "PO List Order Date", "format": "date" }
],
"details": [
{ "key": "Item Number", "format": "string-link" },
{ "key": "Item Description", "format": "string" },
{ "key": "PO Details Document Status", "format": "string", "alias": "Status" },
{ "key": "Warehouse Number", "format": "string-link", "alias": "Warehouse #" },
{ "key": "PO Details Tracking", "format": "string", "alias": "BOL #" },
{ "key": "PO Details Order Date", "format": "date" },
{ "key": "PO Details Ship Date", "format": "date" },
{ "key": "PO Details ETA Date", "format": "date" },
{ "key": "PO Details Price", "format": "currency" },
{ "key": "PO Details Quantity", "format": "number" }
]
},
"sort": { "key": "PO Details ETA Date", "type": "Descending" },
"rows": {
"id": 42,
"PO List Number": "PO-2024-001",
"PO List Order Date": "2024-03-01",
"Supplier Id": 7,
"Supplier Name": "Acme Components Ltd.",
"Supplier Number": "SUP-007",
"PO List Document Status": "Open",
"PO List Servicenow Id": null,
"details": [
{
"id": 101,
"Item Id": 55,
"Item Number": "ITEM-A",
"Item Description": "Widget Assembly - Type A",
"Sub Item Id": null,
"Sub Item Number": null,
"Warehouse Id": 3,
"Warehouse Number": "WH-01",
"Warehouse Name": "Main Distribution Center",
"Ship From Id": 8,
"Ship From Number": "SF-01",
"Ship From Name": "Acme East Plant",
"PO Details Tracking": "BOL-789456",
"PO Details Price": 12.50,
"PO Details Quantity": 200,
"PO Details Order Date": "2024-03-01",
"PO Details Ship Date": "2024-03-08",
"PO Details ETA Date": "2024-03-15",
"PO Details First Promise Date": "2024-03-14",
"PO Details Request Date": "2024-03-12",
"PO Details Actual Ship Date": null,
"PO Details Actual Delivery Date": null,
"PO Details Document Status": "Open",
"PO Details Unique Id": "UNIQ-001",
"PO Details Servicenow Id": null
},
{
"id": 102,
"Item Id": 56,
"Item Number": "ITEM-B",
"Item Description": "Widget Assembly - Type B",
"Sub Item Id": 12,
"Sub Item Number": "SUB-B1",
"Warehouse Id": 3,
"Warehouse Number": "WH-01",
"Warehouse Name": "Main Distribution Center",
"Ship From Id": 8,
"Ship From Number": "SF-01",
"Ship From Name": "Acme East Plant",
"PO Details Tracking": null,
"PO Details Price": 8.75,
"PO Details Quantity": 300,
"PO Details Order Date": "2024-03-01",
"PO Details Ship Date": "2024-03-10",
"PO Details ETA Date": "2024-03-18",
"PO Details First Promise Date": null,
"PO Details Request Date": null,
"PO Details Actual Ship Date": null,
"PO Details Actual Delivery Date": null,
"PO Details Document Status": "Open",
"PO Details Unique Id": null,
"PO Details Servicenow Id": null
}
]
}
},
"tags": {},
"extra": {}
}
Header Fields¶
| Field | Type | Description |
|---|---|---|
id |
integer | Internal PO identifier |
PO List Number |
string | PO document number |
PO List Order Date |
string | null | Earliest order date across line items |
Supplier Id |
integer | Internal supplier ID |
Supplier Name |
string | Supplier display name |
Supplier Number |
string | Supplier reference code |
PO List Document Status |
string | PO header status |
PO List Servicenow Id |
string | null | External ServiceNow reference |
Detail Line Fields¶
| Field | Type | Description |
|---|---|---|
id |
integer | Internal line item identifier |
Item Id |
integer | Internal item master ID |
Item Number |
string | Item reference code |
Item Description |
string | Item display name |
Sub Item Id |
integer | null | Internal sub-item ID (if applicable) |
Sub Item Number |
string | null | Sub-item reference code |
Warehouse Id |
integer | Internal warehouse ID |
Warehouse Number |
string | Warehouse reference code |
Warehouse Name |
string | Warehouse display name |
Ship From Id |
integer | Internal ship-from location ID |
Ship From Number |
string | Ship-from reference code |
Ship From Name |
string | Ship-from display name |
PO Details Tracking |
string | null | Bill of Lading / tracking number |
PO Details Price |
number | null | Unit price |
PO Details Quantity |
number | Ordered quantity |
PO Details Order Date |
string | null | Line item order date (ISO 8601) |
PO Details Ship Date |
string | null | Expected ship date (ISO 8601) |
PO Details ETA Date |
string | null | Estimated arrival date (ISO 8601) |
PO Details First Promise Date |
string | null | First promise date from supplier |
PO Details Request Date |
string | null | Internally requested delivery date |
PO Details Actual Ship Date |
string | null | Actual date goods shipped |
PO Details Actual Delivery Date |
string | null | Actual date goods delivered |
PO Details Document Status |
string | Line item status |
PO Details Unique Id |
string | null | Unique identifier from source system |
PO Details Servicenow Id |
string | null | External ServiceNow reference |
Error Responses¶
| Status | Code | Description |
|---|---|---|
| 400 | PurchaseOrderList.NotFound |
No PO exists with the given id |
| 401 | - | Authentication required |
| 403 | User.NotPrivileged |
User lacks Procurement / View privilege |
Code Examples¶
curl¶
Python¶
response = session.get("https://acme.knosc.com/api/purchase-order/42")
if response.status_code == 200:
po = response.json()["data"]["rows"]
print(f"PO: {po['PO List Number']}")
for line in po["details"]:
print(f" {line['Item Number']} x{line['PO Details Quantity']} - ETA: {line['PO Details ETA Date']}")
else:
error = response.json()
print(f"Error {response.status_code}: {error['Code']} - {error['Message']}")