List a stock box ledger
curl --request GET \
--url https://api.muveya.com/v1/inventory/boxes/{boxId}/movements \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/inventory/boxes/{boxId}/movements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/inventory/boxes/{boxId}/movements"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"movementId": "<string>",
"type": "receive",
"boxId": "<string>",
"catalogItemId": "<string>",
"quantityDelta": 123,
"actorId": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"recordedAt": "2023-11-07T05:31:56Z",
"reservedDelta": 123,
"secondActorId": "<string>",
"fromWarehouseId": "<string>",
"toWarehouseId": "<string>",
"reasonCode": "<string>",
"idempotencyKey": "<string>",
"correlationId": "<string>",
"splitId": "<string>"
}
],
"hasMore": true,
"nextCursor": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}Inventory
List a stock box ledger
Lists the append-only ledger of one box, oldest first. Requires inventory:read. Returns one terminal page of the box’s movements; 404 when the box is absent or in another workspace.
GET
/
v1
/
inventory
/
boxes
/
{boxId}
/
movements
List a stock box ledger
curl --request GET \
--url https://api.muveya.com/v1/inventory/boxes/{boxId}/movements \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/inventory/boxes/{boxId}/movements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/inventory/boxes/{boxId}/movements"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"movementId": "<string>",
"type": "receive",
"boxId": "<string>",
"catalogItemId": "<string>",
"quantityDelta": 123,
"actorId": "<string>",
"occurredAt": "2023-11-07T05:31:56Z",
"recordedAt": "2023-11-07T05:31:56Z",
"reservedDelta": 123,
"secondActorId": "<string>",
"fromWarehouseId": "<string>",
"toWarehouseId": "<string>",
"reasonCode": "<string>",
"idempotencyKey": "<string>",
"correlationId": "<string>",
"splitId": "<string>"
}
],
"hasMore": true,
"nextCursor": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"requestId": "<string>"
}Authorizations
Opaque mvy_test_ API key sent as a Bearer token. It derives exactly one workspace server-side; the path never carries a workspace selector.
Path Parameters
The opaque stock box id.