World

List entity types

get
/v1/{workspace_id}/world/entity-types

Returns distinct entity types in the workspace with counts and projection availability. Powers the World Explorer's auto-discovery of new entity types created by agents (L4 self-extending schema).

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Responses
chevron-right
200

Successful Response

application/json
total_entitiesintegerRequired
get
/v1/{workspace_id}/world/entity-types

List event types

get
/v1/{workspace_id}/world/event-types

Returns distinct event types in the workspace with counts, domains, and source breakdown. Enables the World Explorer to show what kinds of events flow through the world model.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Responses
chevron-right
200

Successful Response

application/json
total_eventsintegerRequired
get
/v1/{workspace_id}/world/event-types

Entity stats with sync breakdown

get
/v1/{workspace_id}/world/entity-stats

Aggregate stats for entities including sync status breakdown (pending, synced, failed). Filter by entity_type to get stats for a specific type (e.g. appointment, patient). Generic — works for any entity type in the Liquid World Model.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Query parameters
entity_typeany ofOptional

Filter by entity type

stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json
total_entitiesintegerRequired
total_eventsintegerRequired
sync_pendingintegerRequired
sync_syncedintegerRequired
sync_failedintegerRequired
get
/v1/{workspace_id}/world/entity-stats

List sync events by status

get
/v1/{workspace_id}/world/sync/events

Lists outbound events filtered by sync status (pending or failed). Includes entity display_name for the UI. Use for the pending events table (status=pending) or the retry table (status=failed).

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Query parameters
statusstring · enumRequiredPossible values:
limitinteger · min: 1 · max: 200OptionalDefault: 50
offsetintegerOptionalDefault: 0
Responses
chevron-right
200

Successful Response

application/json
totalintegerRequired
has_morebooleanRequired
next_offsetany ofOptional
integerOptional
or
nullOptional
get
/v1/{workspace_id}/world/sync/events

Outbound sync queue depth

get
/v1/{workspace_id}/world/sync/queue

Pending and failed outbound sync event counts, grouped by FHIR resource type. Includes oldest pending timestamp and last successful sync time. Queries Lakebase — not Valkey.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Responses
chevron-right
200

Successful Response

application/json
pending_countintegerRequired
failed_countintegerRequired
oldest_pending_atany ofOptional
string · date-timeOptional
or
nullOptional
last_sync_success_atany ofOptional
string · date-timeOptional
or
nullOptional
get
/v1/{workspace_id}/world/sync/queue

Retry a failed sync event

post
/v1/{workspace_id}/world/sync/retry/{event_id}

Clears sync_error on a failed event and re-publishes to the outbound sync channel. The event re-enters the sync pipeline.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
event_idstringRequired
Responses
chevron-right
200

Successful Response

application/json
event_idstringRequired
statusstringRequired
post
/v1/{workspace_id}/world/sync/retry/{event_id}

Retry all failed sync events

post
/v1/{workspace_id}/world/sync/retry-all

Clears sync_error on all failed events in the workspace and re-publishes each to the outbound sync channel.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Responses
chevron-right
200

Successful Response

application/json
retriedintegerRequired
failed_to_publishintegerRequired
post
/v1/{workspace_id}/world/sync/retry-all

List entities

get
/v1/{workspace_id}/world/entities

List entities filtered by type with optional name search. Works for any entity type — patients, operators, calls, or any type created by T3 agents. Returns full projected state.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Query parameters
entity_typeany ofOptional

Filter by entity type

stringOptional
or
nullOptional
qany ofOptional

Search by display name

stringOptional
or
nullOptional
limitinteger · min: 1 · max: 100OptionalDefault: 20
offsetintegerOptionalDefault: 0
has_projectionany ofOptional

Filter by has_projection flag

booleanOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json
totalintegerRequired
has_morebooleanRequired
next_offsetany ofOptional
integerOptional
or
nullOptional
get
/v1/{workspace_id}/world/entities

Get entity

get
/v1/{workspace_id}/world/entities/{entity_id}

Fetch a single entity with its full projected state. The state is a computed projection from all events — never mutated directly. Enhanced entity types (patient, operator, call) have richer projections.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
entity_idstringRequired
Responses
chevron-right
200

Successful Response

application/json
idstring · uuidRequired
workspace_idstring · uuidRequired
entity_typestringRequired
display_nameany ofOptional
stringOptional
or
nullOptional
canonical_idany ofOptional
stringOptional
or
nullOptional
has_projectionbooleanOptionalDefault: false
first_seen_atany ofOptional
string · date-timeOptional
or
nullOptional
last_event_atany ofOptional
string · date-timeOptional
or
nullOptional
event_countintegerOptionalDefault: 0
confidencenumberOptionalDefault: 1
tagsany ofOptional
string[]Optional
or
nullOptional
created_atany ofOptional
string · date-timeOptional
or
nullOptional
updated_atany ofOptional
string · date-timeOptional
or
nullOptional
get
/v1/{workspace_id}/world/entities/{entity_id}

Entity timeline

get
/v1/{workspace_id}/world/entities/{entity_id}/timeline

Get the event timeline for an entity — all current events ordered by effective date. The entity's state is always a projection of these events. Filter by domain (clinical, operational, audit, etc.).

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
entity_idstringRequired
Query parameters
domainany ofOptional

Filter by domain

stringOptional
or
nullOptional
limitinteger · min: 1 · max: 200OptionalDefault: 50
offsetintegerOptionalDefault: 0
Responses
chevron-right
200

Successful Response

application/json
entity_idstring · uuidRequired
totalintegerRequired
has_morebooleanRequired
next_offsetany ofOptional
integerOptional
or
nullOptional
get
/v1/{workspace_id}/world/entities/{entity_id}/timeline

Entity relationships

get
/v1/{workspace_id}/world/entities/{entity_id}/relationships

Get relationships for an entity — links to other entities in the knowledge graph. Filter by relationship type.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
entity_idstringRequired
Query parameters
relationshipany ofOptional

Filter by relationship type

stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json
entity_idstring · uuidRequired
totalintegerRequired
get
/v1/{workspace_id}/world/entities/{entity_id}/relationships

Last updated

Was this helpful?