Skip to main content
GET
Inspect relationships extracted from your content, such as PaymentsWorker depends on OrdersDB. Each three-part relationship is a triplet: a starting entity (a named person, service, or topic), a relationship, and a target entity. Pass id to scope to a single ingested item, or omit it to return all relations in the collection. Set type=memory to inspect a memory’s relations. Pagination handles large result sets.

Query parameters

Pagination pattern

Notes

Cursor opacity: next_cursor is opaque (currently the timestamp, in Unix seconds, of the last group returned). Don’t construct it client-side or assume meaning: pass back exactly what the server returned.
  • Full-graph exports: omit id, use a small limit, and paginate.
  • Ordering: data.relations[] comes back newest first, by each group’s latest relation timestamp, not by relevance.
  • Unknown id: returns 200 with an empty relations list, not an error. So does an id the acl principals may not see.
  • auxiliary_relations: the structural graph around the sources (who sent a message, which comments hang off it), in the same triplet shape. It does not count against limit; auxiliary_truncated is true when it was clipped.
  • Graph completeness: Source relations only fully populate once the source’s indexing_status reaches completed. Items in graph_creation are searchable but their relations may still be in flight.
  • timestamp format differs by endpoint: On this endpoint each relation’s timestamp is an ISO-8601 string (e.g. 2026-05-12T08:14:00Z). The same relations surfaced as passthrough on Query (in graph_context) and List Documents carry timestamp as a Unix epoch float (seconds) instead. Normalize before comparing relation timestamps across endpoints.

Errors

Common codes: 400 INVALID_INPUT (missing database, a limit outside 1 to 10000, or a non-numeric cursor), 404 DATABASE_NOT_FOUND, 500 INTERNAL_ERROR (a transient graph read failure; retry the request). See Error Responses for the full list.
Related Resources

Authorizations

Authorization
string
header
required

API key sent as a Bearer token: "Bearer prefix.secret"

Query Parameters

database
string
required

Database (canonical name for the tenant scope)

Example:

"acme_corp"

collection
string

Collection (canonical name for the sub-tenant scope)

Example:

"team_docs"

tenant_id
string
deprecated

Deprecated alias for database

Example:

"tenant_1234"

sub_tenant_id
string
deprecated

Deprecated alias for collection

Example:

"sub_tenant_4567"

id
string

Source ID (omit for database-wide relations)

Example:

"HydraDoc1234"

type
enum<string>

Corpus type: 'knowledge' or 'memory'

Available options:
knowledge,
memory
limit
integer
default:5000

Max relations to return

cursor
number

Pagination cursor

acl
string[]

Principals to answer as (PRO-1684 document ACLs): only relations attributable to sources they may see are returned. Repeated (acl=a&acl=b) or comma-separated. Omit for no ACL scoping.

Response

OK

data
object
Example:
error
object | null

Null on success; an object with code and message on failure.

Example:

null

meta
object
Example:
success
boolean

Whether the request succeeded.

Example:

true