The acting user's graph schema — labels, properties, relationship triples
const url = 'http://localhost:11044/api/v1/admin/kg/schema';const options = {method: 'GET', headers: {'X-Embabel-Api-Key': '<X-Embabel-Api-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:11044/api/v1/admin/kg/schema \ --header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Optional, and never needed: the call always acts as the signed-in principal. Naming the principal changes nothing; naming anyone else is refused with 403.
Responses
Section titled “Responses”The schema snapshot; empty lists and no refreshedAt when none exists
Labels, their properties, and relationship triples reachable by the acting user.
object
Every label in the snapshot, virtual ones included. Empty only when there is no snapshot.
A node label and its sampled property shape.
object
True when this label may open a MATCH pattern bare — a real read, or a virtual population implicitly bound by user tenancy. False means it is reachable only by traversal from a bound anchor; an editor should not offer it at first position. How such a label IS reached is in relationships: an edge to it from a label whose anchor is true — (me:AssistantUser)-[:HAS_CONFIG]->(r:ConfigRun) for the config catalog, where AssistantUser is the caller, bound by their sign-in. Defaults true so an older client reading a newer appliance loses nothing.
The declared definition of the type this label names, verbatim from the realm’s own registry — for an editor to show on hover. Null for core/introspected labels, which declare none.
True when every node carrying this label was inspected, so an absent property genuinely does not exist here. False means the sample was capped — evidence of what exists, and no evidence at all about what does not.
The node label, as a MATCH pattern writes it.
The properties seen on the sampled nodes. See exhaustive for what an absence means.
A property observed on nodes carrying a label.
object
True when the realm’s type declares this property as an ALTERNATE KEY: it identifies the same record as the identity does, in the vocabulary the source’s own readers use. A policy’s policy_identifier is its identity; its policy_number is what a view shows and what a client will try to join on. Both name the same policy. Unlike the identity, an alternate key is not the dedupe key and is not required on write, so a type may declare several. Defaults false.
The property’s DECLARED description, verbatim from the realm’s registry — for an editor to show on hover. Null where the declaration documents nothing.
True when the realm’s type declares this property as the node’s IDENTITY. Two columns denote the same thing only when both project the identity of the same label; matching names prove nothing, and a client that joins on them will relate records that are not related. Defaults false so an older client reading a newer appliance loses nothing, and so an undeclared property is never mistaken for a key.
The property key, as a query writes it after the dot.
True when the property was missing from a non-trivial fraction of the sample.
Type tag: string, long, double, boolean, datetime, listany means neither says.
The realm that declared this label’s type. Null means core — the world’s own types or the host’s.
How many nodes were sampled when inferring the properties.
When the snapshot was taken, ISO-8601. Absent when there is no snapshot.
The (from, type, to) triples in the snapshot. Empty only when there is no snapshot.
A (from, type, to) triple observed in the world subgraph.
object
Approximate occurrence count, for ranking.
What this edge is for, verbatim from the declaration of the join that brings it — for an editor to show on hover. Null where the declaration documents nothing, and for an edge that is only observed.
The label of the node the relationship starts from.
The label of the node the relationship points to.
The relationship type.
Example generated
{ "labels": [ { "anchor": true, "description": "example", "exhaustive": true, "label": "example", "properties": [ { "alternateKey": true, "description": "example", "identity": true, "name": "example", "sparse": true, "type": "example" } ], "realm": "example", "sampleCount": 1 } ], "refreshedAt": "example", "relationships": [ { "count": 1, "description": "example", "from": "example", "to": "example", "type": "example" } ]}No authenticated principal
A refusal carrying only a human-readable reason.
object
What went wrong, in the terms the caller can act on.
Example generated
{ "error": "example"}username names someone other than the signed-in principal
A refusal carrying only a human-readable reason.
object
What went wrong, in the terms the caller can act on.
Example generated
{ "error": "example"}
