Skip to main content
GET
List materializations for a version

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

organizationName
string
required

The unique identifier of the organization Standard identifier pattern for resource names

Pattern: ^[a-zA-Z0-9_ -]+$
environmentName
string
required

The unique identifier of the environment Standard identifier pattern for resource names

Pattern: ^[a-zA-Z0-9_ -]+$
packageName
string
required

The unique identifier of the package Standard identifier pattern for resource names

Pattern: ^[a-zA-Z0-9_ -]+$
versionId
string
required

The unique identifier of the version Version identifier pattern supporting dots and dashes

Pattern: ^[a-zA-Z0-9_.-]+$

Response

List of materializations retrieved successfully

id
string
sourceName
string

Fully-qualified persist source name within the package.

modelFilePath
string

The model file that declares this source. Two files in one version may declare the same sourceName as distinct anchors, so a scoped source rerun must pass both sourceName and modelFilePath to target the right one (mirrors Index.modelFilePath). Empty string (never null) for an anchor with no recorded path — the column is NOT NULL DEFAULT ''.

status
enum<string>
Available options:
PENDING,
READY,
FAILED
error
string

When status is FAILED, the reason the most recent build failed — the error of the materialization's latest run (where build failures occur), surfaced here so the cause (e.g. a BigQuery "Permission bigquery.tables.delete denied" warehouse error, or a build that produced no table) is visible inline without drilling into individual runs. A read-time projection of the run's error; null while PENDING/READY.

connectionName
string

Name of the connection whose warehouse holds the currently serving materialized table (null until first READY build).

servingRunId
string

Id of the run whose materialized table this version currently serves; the physical table name is exposed directly on this DTO as materializedTableName (and per-source on that run's buildPlan.nodes[].tableName). Auto-advances to the latest successful run. A materialization always has a serving run once it has a successful build; null only until the first table is built.

servingBuildNumber
integer

The buildNumber (the "gNNN" the UI shows) of the run named by servingRunId, resolved server-side so the client can render the serving build label without a second, version-scoped run lookup. Under table reuse the serving run can belong to a prior version, so a client-side lookup against the current version's runs would miss it; this field is version-agnostic. Null until the first table is built, or for a legacy serving run created before build numbers existed.

materializedTableName
string

Physical name of the currently serving materialized table (null until the first READY build).

servingStartedAt
string<date-time>

When the currently serving table was materialized, i.e. began serving (null until the first READY build).

scope
enum<string>

The materialization scope mode this source's table was built under (replaces the removed per-source sharing): version = version-owned, no cross-version reuse; package = reusable across the package's own versions when fresh. Null = unknown (materialized before scope was recorded).

This is a per-anchor convenience mirror of the canonical Version.scope, not an independent per-source knob: scope is declared once at the package-manifest root and is uniform across every source and index of a version, so this always equals the owning version's scope. It is surfaced here so a single materialization is self-describing without a second getVersion; read Version.scope when you want the authoritative version-grain value.

Available options:
version,
package
refresh
string

The source's declared #@ persist ... refresh=... value ("full" | "incremental"), reported verbatim. Null = unset. Policy metadata for display (inert to the build today).

freshnessWindowSeconds
integer<int64>

The source's EFFECTIVE freshness window (after most-specific-wins resolution: source > model-file > package), in seconds — the control plane's refresh objective for this source's materialized table. Null = unset at every level (the platform default applies).

freshnessFallback
enum<string>

The source's EFFECTIVE freshness fallback — the declared query-time behavior when the window is missed. Null = unset.

Available options:
live,
stale_ok,
fail
stale
boolean
read-only

True when this source is serving non-current data for any reason (docs/persistence.md §9.7). The unified staleness indicator; the machine-readable cause(s) are in staleReasons. False/absent otherwise.

staleSince
string<date-time> | null
read-only

The fresh→stale crossover instant — the age-based component (dataAsOf + freshness.window). Null when the staleness is only failure-derived (no age crossover), or when the source is fresh.

staleReasons
enum<string>[]
read-only

The machine-readable staleness cause(s) (§9.7). Empty when fresh.

Machine-readable cause for an artifact's staleness (docs/persistence.md §9.7 — one indicator, orthogonal reasons). Split into GATING reasons (their presence sets stale=true) and ANNOTATION reasons (they explain why an already-stale artifact keeps aging, never flip it on their own):

  • FRESHNESS_WINDOW_EXCEEDED (gating) — data age passed the declared freshness.window (§9.3 tables, §9.5 indexes).
  • SOURCE_BUILD_FAILED (gating) — serving prior values because this version's source materialization FAILED (the reused-over-failed case, generalized; symmetric for a source whose latest rebuild failed while a prior generation still serves).
  • REFRESH_IN_PROGRESS (annotation) — a scheduled refresh has fired but no fresher generation has landed yet (self-heals).
  • LAST_REFRESH_FAILED (annotation) — the refresh stream was disarmed after repeated fires without landing a fresher generation.
  • WINDOW_BELOW_BUILD_TIME (annotation) — the declared freshness window is shorter than the estimated build duration, so the objective is physically unachievable (the rebuild cannot complete inside the window). The window needs widening, or what it covers reducing.
Available options:
FRESHNESS_WINDOW_EXCEEDED,
SOURCE_BUILD_FAILED,
REFRESH_IN_PROGRESS,
LAST_REFRESH_FAILED,
WINDOW_BELOW_BUILD_TIME
createdAt
string<date-time>
updatedAt
string<date-time>