Get the approval backlog
curl --request GET \
--url https://api.muveya.com/v1/analytics/approval-backlog \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/analytics/approval-backlog', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/analytics/approval-backlog"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"metric": "<string>",
"definition": "<string>",
"unit": "<string>",
"total": 123,
"timezone": "<string>",
"asOf": "2023-11-07T05:31:56Z",
"freshness": "live",
"evidenceId": "<string>",
"truncated": true,
"filters": {},
"bands": [
{
"label": "<string>",
"maxAgeHours": 123,
"count": 123
}
],
"oldestSubmittedAt": "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
Get the approval backlog
Reads the tenant-wide pending-approval backlog bucketed by age since submission, with the age bands and definition shown, as an evidence contract. Requires analytics:read. Counts only — order value is never read. Deterministic; computed live over the workspace data.
GET
/
v1
/
analytics
/
approval-backlog
Get the approval backlog
curl --request GET \
--url https://api.muveya.com/v1/analytics/approval-backlog \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/analytics/approval-backlog', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/analytics/approval-backlog"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"metric": "<string>",
"definition": "<string>",
"unit": "<string>",
"total": 123,
"timezone": "<string>",
"asOf": "2023-11-07T05:31:56Z",
"freshness": "live",
"evidenceId": "<string>",
"truncated": true,
"filters": {},
"bands": [
{
"label": "<string>",
"maxAgeHours": 123,
"count": 123
}
],
"oldestSubmittedAt": "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.
Response
The approval backlog.
The human-readable definition of the metric.
Available options:
live True when the order scan hit its cap: the counts are a lower bound.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The earliest submission in the backlog; omitted when the backlog is empty.