Skip to content

Receive purchase order items

POST
/api/purchase-orders/{id}/receive
curl --request POST \
--url http://localhost:3000/api/purchase-orders/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/receive \
--header 'Content-Type: application/json' \
--cookie session=<session> \
--data '{ "items": [ { "itemId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "quantity": 1, "assets": [ { "serialNumber": "example", "assetTag": "example", "siteId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "locationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "notes": "example" } ] } ] }'

PO must be ordered or partially_received. Creates one asset per received unit, updates quantityReceived per line, and advances the PO status (setting receivedDate when fully received).

id
required
string format: uuid
Media type application/json
object
items
required
Array<object>
object
itemId
required
string format: uuid
quantity
required

Must not exceed the remaining quantity on the line

integer
>= 1
assets
required

One entry per received unit (length must equal quantity)

Array<object>
object
serialNumber
string
assetTag
string
siteId
string format: uuid
locationId
string format: uuid
notes
string
Example generated
{
"items": [
{
"itemId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"quantity": 1,
"assets": [
{
"serialNumber": "example",
"assetTag": "example",
"siteId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"locationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"notes": "example"
}
]
}
]
}

Units received, assets created

Media type application/json
object
data
object
assetIds
Array<string>
count
integer
Example generated
{
"data": {
"assetIds": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
],
"count": 1
}
}

Validation error (PO not receivable, quantity exceeds remaining, or asset count mismatch)

Media type application/json
object
error
required
string
Example
{
"error": "Not found"
}

Not authenticated

Media type application/json
object
error
required
string
Example
{
"error": "Not found"
}

Insufficient role

Media type application/json
object
error
required
string
Example
{
"error": "Not found"
}

Purchase order or item not found

Media type application/json
object
error
required
string
Example
{
"error": "Not found"
}