Skip to main content
POST
List Content

When to use it

  • Admin dashboards – browse what’s been ingested into a tenant
  • Audit and exports – paginate through all sources for reporting
  • Debugging – verify metadata was attached correctly at ingestion
  • Bulk operations – iterate over sources for cleanup or reprocessing

Endpoint

  • Auth: Bearer token
  • Idempotency: Read-only
  • Async: No

Example

Request parameters

Filters

Filters narrow results using AND logic – every key-value pair must match.
Canonical filter keys match the ingestion field names. metadata / document_metadata are accepted as legacy aliases (back-compat with earlier API versions) - both names route to the same filter.
Allowed source_fields keys: description, timestamp, title, type, url.

Field projection (knowledge only)

For large knowledge bases, response payloads can grow significantly. Use include_fields to return only the fields you need: When include_fields is set, only the listed fields plus id, tenant_id, and sub_tenant_id are populated. Other fields return their default/empty values.

Response

The response shape depends on kind.

kind: "knowledge" (default)

kind: "memories"

Pagination

The pagination object on every response includes:

Behavior notes

Filter logic is AND. Every key in metadata, additional_metadata, and source_fields must match for an item to be included.
source_ids does not bypass filters. When source_ids is provided, returned items are restricted to those IDs and must still match any active filters.

Errors

Common codes: 400 INVALID_PARAMETERS, 404 TENANT_NOT_FOUND, 422 VALIDATION_ERROR. See Error Responses for the full list. Read more: Essentials → Metadata

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Unified request model for listing either sources or user memories.

Supports pagination (page / page_size) and optional filters on tenant_metadata and document_metadata.

If source_ids is provided and non-empty, only those IDs are returned (pagination and filters still apply).

tenant_id
string
required

Tenant ID

Example:

"tenant_1234"

sub_tenant_id
string | null

Sub-tenant ID

Example:

"sub_tenant_4567"

kind
enum<string>
default:knowledge

Whether to list normal sources or user memories.

Available options:
knowledge,
memories
source_ids
string[] | null

Optional list of IDs to fetch (max 100). If omitted, returns all.

Maximum array length: 100
page
integer
default:1

Page number to retrieve (1-indexed). Defaults to 1.

Required range: x >= 1
Example:

1

page_size
integer
default:50

Number of items per page (1-100). Defaults to 50.

Required range: 1 <= x <= 100
Example:

1

filters
ContentFilter · object | null

Optional filters. Provide key-value pairs to match against tenant_metadata, document_metadata, and/or source-level fields (title, type, description, url, timestamp).

include_fields
string[] | null

Optional list of source fields to include in the response. When provided, only the specified fields (plus id, tenant_id, sub_tenant_id which are always returned) will be populated; all other fields will have their default/empty values. This reduces payload size and improves performance. Allowed values: attachments, content, description, document_metadata, note, relations, tenant_metadata, timestamp, title, type, url. Omit or pass null to return all fields. Only applies to kind=knowledge; ignored for kind=memories.

Example:

Response

Successful Response

total
integer
required

Total number of sources matching the query.

Example:

1

pagination
PaginationMeta · object
required

Pagination metadata for navigating through results.

success
boolean
default:true
Example:

true

message
string
default:Sources retrieved successfully
sources
SourceModel · object[]