Library
The public API groups PBR assets by project. Follow pagination.next_cursor for more pages and inspect ungrouped_assets after the project groups. Filter the returned name field in your client to search. GET /assets returns each group with its group_id, name, and assets.
Search by name
curl -sS "$MARSO_API_BASE_URL/assets?limit=25" \
-H "Authorization: Bearer $MARSO_API_KEY" | jq '.data[].assets[] | select(.name | test("chair"; "i"))'groups = requests.get(f"{base}/assets?limit=25", headers=headers, timeout=30).json()["data"]
assets = [asset for group in groups for asset in group["assets"]]
matches = [asset for asset in assets if "chair" in asset["name"].lower()]
print(matches)req, _ := http.NewRequest(http.MethodGet, base+"/assets?limit=25", nil)
req.Header.Set("Authorization", "Bearer "+key)List projects
curl -sS "$MARSO_API_BASE_URL/assets?limit=25" \
-H "Authorization: Bearer $MARSO_API_KEY" | jq '.data[] | {id: .group_id, name, assets: (.assets | length)}'projects = requests.get(f"{base}/assets?limit=25", headers=headers, timeout=30).json()["data"]
print(projects)req, _ := http.NewRequest(http.MethodGet, base+"/assets?limit=25", nil)
req.Header.Set("Authorization", "Bearer "+key)List assets in a project
curl -sS "$MARSO_API_BASE_URL/assets?limit=25" \
-H "Authorization: Bearer $MARSO_API_KEY" | jq '.data[] | select(.group_id == "<project-id>") | .assets'response = requests.get(f"{base}/assets", headers=headers, params={"limit": 25}, timeout=30).json()
assets = next(group["assets"] for group in response["data"] if group["group_id"] == "<project-id>")
print(assets)req, _ := http.NewRequest(http.MethodGet, base+"/assets?limit=25", nil)
req.Header.Set("Authorization", "Bearer "+key)Last updated
