Skip to main content

Endpoints

The predicate registry is a controlled vocabulary for relationship and assertion types. Predicates like works_at, located_in, and has_title define the schema for the knowledge graph. Aliases allow multiple surface forms (e.g., employed_by mapping to works_at) to be normalized to canonical predicates.

List Predicates

GET /v1/predicates List all registered predicates, optionally including their alias mappings.
integer
default:"50"
Maximum results to return.
string
Pagination cursor from a previous response.
boolean
default:"true"
Include alias mappings in the response.

Register Predicate

POST /v1/predicates Register a new predicate in the controlled vocabulary. Returns 201 Created on success.
string
required
Unique predicate identifier (e.g., works_at, located_in). Use snake_case.
string
Human-readable description of the predicate’s semantics.

Get Predicate

GET /v1/predicates/{id} Retrieve a single predicate by its record ID, including all alias mappings.
string
required
Predicate registry record ID (e.g., predicate_registry:550e8400-...).

Propose Alias

POST /v1/predicates/{id}/aliases Propose a new alias mapping for a predicate. Aliases start with status proposed and must be activated separately. Returns 201 Created on success.
string
required
Predicate registry record ID.
string
required
The alias string (e.g., employed_by).
string
default:"raw_string"
Type of alias. One of: raw_string, plugin_code, schema_field.
number
default:"0.9"
Confidence score for the alias mapping (0.0 to 1.0).
string
default:"global"
Scope of the alias. One of: global, plugin_only, source_type.
string
Source plugin identifier if the alias was generated by a plugin.

Update Alias Status

PATCH /v1/predicates/{id}/aliases/{alias_id} Activate or deprecate a predicate alias.
string
required
Predicate registry record ID.
string
required
Predicate alias record ID (e.g., predicate_alias:bbb...).
string
required
New alias status. One of: proposed, active, deprecated.