Skip to main content
GET
Read the namespace-scoped discriminator graph.

Authorizations

X-API-KEY
string
header
required

Query Parameters

namespace
string

Filter to one namespace. When omitted, the whole catalog is in scope (still subject to the component-count bound).

detailLevel
enum<string>
default:summary

summary (default) returns identity, lineage mode, boundaries and edges. fields additionally populates boundaries[].fields, payloadGroups on scanned code components, and schema on data stores.

Available options:
summary,
fields

Response

The discriminator graph for the requested scope.

The namespace-scoped discriminator graph: every catalog component in scope with its lineage capability and boundaries, plus the projected strand edges touching the scope. The invariant that matters: boundaries and edges are the identical schemas the per-component discriminator_data read returns, so a consumer of one read renders the other without translation.

components
object[]
required
edges
object[]
required

Projected strand edges with at least one endpoint among components, in the same shape as the component edges read, including endpoint display identity where the registry record was readable. Edges whose latest lifecycle event is a deletion appear with state deleted (audit channel), exactly as the component read reports them.

invalidEventCount
integer
required

Count of stored edge lifecycle events whose persisted payload could not be interpreted.

unreadableComponentIds
string<uuid>[]

Code components whose latest scan could not be evaluated: strand artifacts the engine could not read (a scan older than the pinned engine's format), a roll-up exceeding a discriminator resource bound, or a load still running when the read's time budget ran out. They are reported as NO_STRAND_DATA and their edges as pending rather than failing the whole read. A rescan fixes the first two (a smaller one, for an oversized scan); a later read may evaluate the last once its roll-up is cached. Absent when every component evaluated.