Skip to main content
GET
Since ingestion is asynchronous, use this endpoint to determine when context is ready to be retrieved. Pass the IDs you got back from ingestion in ids (or a single id). It works for documents, app sources, and memories. Whitespace is trimmed, empty entries are dropped, and duplicates are removed. Prefer webhooks over polling? Register a webhook for indexing.status_changed events and HydraDB will POST to your endpoint when content reaches a terminal state (completed or errored). See Webhooks for setup and receiver examples.

Query parameters

Status item fields

Each entry in data.statuses describes one requested id:

Error code values

error_code explains why an ID was not found or ingestion failed. It is empty unless indexing_status is errored. Status records can expire. A source that completed still reports completed after its record expires. A source that never finished before its record expired reports errored with E9004; ingest it again. Use error_code in your application logic. Message text may change.

Status values

The normal progression is queued, then processing, then graph_creation, then completed. Treat errored as terminal.

Polling patterns

Stop when content is searchable

Use this for normal RAG/search flows. graph_creation means chunks are indexed and can be retrieved.

Stop when graph processing is complete

Use this before graph-heavy operations such as /context/relations or when you require complete graph_context.
Typical processing time:
  • Memories (text, markdown, conversation pairs): seconds
  • Small documents (under 50 pages): 1 to 5 minutes
  • Large documents (50+ pages): 5 to 15 minutes

Errors

Common codes: 400 INVALID_INPUT (for example database and tenant_id both sent with different values), 404 DATABASE_NOT_FOUND, 422 VALIDATION_ERROR (missing database, or no ID). See Error Responses for the full list.

Authorizations

Authorization
string
header
required

Send your API key as Authorization: Bearer <your_api_key>.

Query Parameters

id
string

One context ID. Combined with ids.

Example:

"HydraDoc1234"

ids
string[]

Context IDs as repeated params (ids=a&ids=b) or one comma-joined value (ids=a,b). Whitespace is trimmed; empty and duplicate entries are dropped.

Example:
database
string
required

Database the contexts belong to. Required.

Example:

"acme_corp"

collection
string

Collection the contexts belong to. Omit it to use the database's default collection.

Example:

"team_docs"

tenant_id
string
deprecated

Deprecated: use database.

Example:

"tenant_1234"

sub_tenant_id
string
deprecated

Deprecated: use collection.

Example:

"sub_tenant_4567"

Response

OK

data
IngestionV2BatchProcessingStatus · object
Example:
error
HandlerApiError · object | null

Error details on failure, or null on success.

Example:

null

meta
HandlerResponseMeta · object
Example:
success
boolean

Whether the request succeeded.

Example:

true