Skip to main content
GET
Returns the original content of one knowledge source or memory, a presigned download URL, or both. Pass its id.

Query parameters

Fetch modes

In content and both modes, the response also includes inferred_content when available: the model-derived text for the source (for memories, the inferred memory statement; for knowledge, derived/normalized content). It is null when the source has no inferred content.

Mode examples

For a binary file

Behavior notes

  • Recently ingested sources: Fetching immediately after ingestion returns the stored original, but inferred_content stays null until processing produces it. For reliable reads, use Ingestion Status first.
  • Presigned URL TTL: The URL is valid only for expiry_seconds. Anyone with the URL can download the file during that window, so treat it as a short-lived secret.
  • Memory items: Fetching a memory’s id returns its raw text content (a conversation memory returns its stored JSON, with user_name and pairs). Memories are stored like files, so mode=url and mode=both also return a presigned_url.

Errors

Common codes: 400 INVALID_INPUT (missing id or database, an unknown mode, or expiry_seconds outside 60 to 604800), 404 DATABASE_NOT_FOUND, 404 NOT_FOUND (the source does not exist, or acl is set and its principals may not see it), 500 INTERNAL_ERROR (a transient storage error; retry). See Error Responses for the full list.

Authorizations

Authorization
string
header
required

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

Query Parameters

id
string
required

Source ID

Example:

"HydraDoc1234"

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"

expiry_seconds
integer
default:3600

Presigned URL expiry in seconds

mode
string

Fetch mode

Example:

"thinking"

acl
string[]

Principals to answer as (PRO-1684 document ACLs): the source must be visible to them, or the response is 404. 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