describe_onfire_schema
describe_onfire_schema is the authoritative answer to “does this field
exist on this entity, and can I filter on it”. It returns the semantic
model behind ask_onfire — the shape you author
a QueryIR against.
When to use it
Section titled “When to use it”- Before querying an entity whose fields you haven’t seen. Batch every such entity into one call.
- After a
FIELD_NOT_FOUNDvalidation error, to get the exact names. - To list the queryable entities when the inlined catalog isn’t available
to your client (
show_catalog=True).
Inputs
Section titled “Inputs”| Parameter | Type | Required | Description |
|---|---|---|---|
ids | string[] | No | Entity identifiers, e.g. ["contact", "company"]. Omit for the catalog. |
show_catalog | boolean | No | Return the routing catalog as text instead of JSON. Default false. |
Returns
Section titled “Returns”- With
ids—{"schemas": {id: {...}}}: the full schema per entity. - With
show_catalog=True— the routing catalog as text. - With no arguments — the same catalog as JSON (
{"catalog": [...]}). - Unknown identifier —
{"error", "valid", "did_you_mean"}.
Each entity schema separates three field kinds:
| Kind | Filterable | Selectable | Example |
|---|---|---|---|
| Dimension | Yes (when flagged filterable) | Yes | location_country, size_band, linkedin_url |
| Attribute | No | Yes | full_name, summary, start_date |
| Measure | n/a | Yes | Pre-aggregated counts |
Dimensions carry closed-list values where they have them. The schema also carries the entity’s insight-search capability, joins, worked examples, and per-entity rules.
Notes & limits
Section titled “Notes & limits”- Filter only on dimensions flagged
filterable, or viainsight_filters. Filtering an attribute is rejected at validation time. - The catalog is loaded from the warehouse and refreshed periodically, so new entities appear without a server deploy — treat this tool, not any static list, as the source of truth.
- This is the only data-query surface: there is no raw-SQL tool against the
data lake. (SQL over your own saved results is
query_datasets.) - Read-only, free, and static within a server version.