---
title: "GET /api/v1/catalog"
method: GET
path: "/api/v1/catalog"
tags: ["v1"]
---

# GET /api/v1/catalog

`GET /api/v1/catalog`

## Request

- Base URL: `https://api.blackforge.so` (the document declares no server; this is the origin it was published from)
- URL: `https://api.blackforge.so/api/v1/catalog`
- Auth: API key in header `x-api-key`

## Response `200`

Full venue and metric catalog served to agents, each entry marked with the minimum plan that unlocks it. Returns an object, { venues, metrics, availableFrom }. Every metric lists the series `intervals` it is served at (1m, 5m, 1h, 1d; the plan decides which a key may use), and the metrics whose coarser values are rollups of minute values carry a one-sentence `rollupNote`. `availableFrom["1m"]` is when the first one-minute row was written (ISO 8601), or null before any. THE QUALITY BIT TABLE LIVES HERE: the `qualityFlags` entry in `metrics` carries the whole 16-bit taxonomy inline as `bits` — bit index, mask, name, description, the metric families each bit calls into question, and whether anything currently sets it. This API is the SERVER of that taxonomy; fetch it, never re-declare it. There is deliberately no second route serving the same table.

---

[API](https://skmtc.dev/blackforge/apis/blackforge-data-api.md) · [All operations](https://skmtc.dev/blackforge/apis/blackforge-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blackforge/apis/blackforge-data-api/revisions/04eadd230b1b?raw)
