There’s a way you can do this without the request id.
Placing an order via this endpoint:
POST https://{morpheus}/api/catalog/orders?validate=false
provides this response:
{
"success": true,
"msg": "Order created",
"order": {
"id": 8,
"name": null,
"items": [
{
"id": 7,
"type": {
"id": 3,
"name": "Label test",
"type": "workflow"
},
"refType": "Workflow",
"context": "server",
"targets": [
{
"id": 36,
"name": "op-os-xxxxx-1"
}
],
"quantity": 1,
"price": null,
"currency": null,
"unit": null,
"valid": true,
"status": "ORDERED",
"dateCreated": "2025-05-09T07:26:36Z",
"lastUpdated": "2025-05-09T07:26:36Z"
}
],
"stats": {
"price": 0,
"currency": "",
"unit": ""
}
}
}
We can’t use the order.id
, to subsequently inspect the status of the order, (perhaps add that as an idea), but we can see that the order contains the items ordered and an id
for each item. Here it is 7
Using this second endpoint, we can see the status of ordered items (PENDING, ORDERED, COMPLETE or FAILED):
GET https://{morpheus}/api/catalog/items
which provides this response:
{
"items": [
{
"id": 7,
"name": "Lablel test",
"type": {
"id": 3,
"name": "Label test",
"type": "workflow"
},
"quantity": 1,
"status": "ORDERED",
"statusMessage": null,
"refType": "Workflow",
"context": "server",
"targets": [
{
"id": 36,
"name": "op-os-xxxxx-1"
}
],
"execution": null,
"orderDate": "2025-05-09T07:26:37Z",
"dateCreated": "2025-05-09T07:26:37Z",
"lastUpdated": "2025-05-09T07:26:37Z"
},
.......omitted for brevity
],
"meta": {
"offset": 0,
"max": 25,
"size": 5,
"total": 5
}
}
We can see our item (id 7).
So, the calling client code should capture the ids to array from the order response, and make a single call to second endpoint and check the status of each item in the array by parsing and matching it in the JSON.