Search tenant fields
Returns field names for autocomplete suggestions, optionally filtered by prefix. Items additionally carry declaration metadata (label/description/value_type/unit/declaration_revision) when the field has been declared (CQ-21/CQ-22) — absent when it has not.
TWO reads, one shape. prefix (+ limit) returns a RANKED PAGE — busiest keys first — so a matching key can legitimately be missing from it. field_name=<exact key> instead answers “does this one key exist, and what does it mean”: one item or an EMPTY items, independent of usage rank and of paging, and never a 404. BC review round 2: callers that knew the exact key were using the ranked page, and a key out-ranked by more than limit siblings sharing its prefix read as absent. field_name and prefix are mutually exclusive — sending both is refused 400 FIELD_QUERY_AMBIGUOUS rather than silently preferring one. limit alongside field_name is accepted and IGNORED: a single-key answer has nothing to page.
Authorizations
MeshQu API key passed as a bearer token: Authorization: Bearer mqu_…. Mint one in the console (Settings → API keys).
Tenant UUID for multi-tenant isolation. Required on all authenticated routes — validated before authentication (middleware/tenant.ts), so a missing or non-UUID header returns 400 (MISSING_TENANT_ID / INVALID_TENANT_ID) before the API key is checked.
Query Parameters
Prefix to filter field names. Returns a RANKED page (busiest first), so a matching key can be absent from it — use field_name to ask about one exact key.
Page size for the ranked prefix/list read. Defaults to 20. Accepted and IGNORED alongside field_name, which returns one item or none.
1 <= x <= 100The EXACT canonical key, e.g. vendor. Returns items with that one field, or an EMPTY items when the tenant has no such key — never a 404, because "no declaration" is an answer. Independent of usage rank and of limit (accepted and ignored here); mutually exclusive with prefix (400 FIELD_QUERY_AMBIGUOUS).
1 - 128Response
Default Response