List operational exceptions
curl --request GET \
--url https://api.muveya.com/v1/analytics/exceptions \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/analytics/exceptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/analytics/exceptions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"total": 123,
"timezone": "<string>",
"asOf": "2023-11-07T05:31:56Z",
"freshness": "live",
"evidenceId": "<string>",
"truncated": true,
"filters": {},
"exceptions": [
{
"metric": "LOW_STOCK",
"priority": 123,
"drillDownType": "order",
"drillDownId": "<string>",
"reference": {},
"evidenceId": "<string>",
"detectedAt": "2023-11-07T05:31:56Z"
}
]
}{
"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>"
}Analytics
List operational exceptions
Lists the operational exceptions the management cockpit surfaces (expiring/low stock, delivery exceptions, receipt discrepancies, pending approvals) in a stable priority order, each with a drill-down id and an evidence descriptor. Requires analytics:read. Deterministic; computed live over the workspace data.
GET
/
v1
/
analytics
/
exceptions
List operational exceptions
curl --request GET \
--url https://api.muveya.com/v1/analytics/exceptions \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/analytics/exceptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/analytics/exceptions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"total": 123,
"timezone": "<string>",
"asOf": "2023-11-07T05:31:56Z",
"freshness": "live",
"evidenceId": "<string>",
"truncated": true,
"filters": {},
"exceptions": [
{
"metric": "LOW_STOCK",
"priority": 123,
"drillDownType": "order",
"drillDownId": "<string>",
"reference": {},
"evidenceId": "<string>",
"detectedAt": "2023-11-07T05:31:56Z"
}
]
}{
"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.
Query Parameters
Narrows the stock exceptions (low/expiring) to one catalog item.
Response
The prioritized operational exceptions.
When the report was computed.
Available options:
live True when a bounded scan hit its cap: the list is a prefix.
Show child attributes
Show child attributes
Show child attributes
Show child attributes