List catalog items
curl --request GET \
--url https://api.muveya.com/v1/catalog/items \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/catalog/items', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/catalog/items"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"itemId": "<string>",
"sku": "<string>",
"name": "<string>",
"categoryId": "<string>",
"unitOfMeasure": "unit",
"criticality": "low",
"tracksLot": true,
"tracksSerial": true,
"tracksExpiry": true,
"highValue": true,
"status": "draft",
"description": "<string>",
"brand": "<string>",
"photoKeys": [
"<string>"
],
"packaging": "<string>",
"cost": 4503599627370495,
"currency": "<string>",
"costStatus": "unset",
"costMeasurement": {
"unitOfMeasure": "unit",
"measurementVersion": 4503599627370496,
"quantityProtocol": "base_number_v1"
}
}
],
"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>"
}Catalog
List catalog items
Lists the workspace catalog items. Requires catalog:read; cost, currency and their state/basis are present only when the key also holds catalog.cost:read. Only verified cost matches the current unit; review_required and invalid must not be treated as an applicable price. Unpaged at pilot scale.
GET
/
v1
/
catalog
/
items
List catalog items
curl --request GET \
--url https://api.muveya.com/v1/catalog/items \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.muveya.com/v1/catalog/items', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.muveya.com/v1/catalog/items"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"itemId": "<string>",
"sku": "<string>",
"name": "<string>",
"categoryId": "<string>",
"unitOfMeasure": "unit",
"criticality": "low",
"tracksLot": true,
"tracksSerial": true,
"tracksExpiry": true,
"highValue": true,
"status": "draft",
"description": "<string>",
"brand": "<string>",
"photoKeys": [
"<string>"
],
"packaging": "<string>",
"cost": 4503599627370495,
"currency": "<string>",
"costStatus": "unset",
"costMeasurement": {
"unitOfMeasure": "unit",
"measurementVersion": 4503599627370496,
"quantityProtocol": "base_number_v1"
}
}
],
"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>"
}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.