Strata currently exposes a small HTTP API for indexing and retrieval.
Return a minimal readiness response for API boot verification.
{
"status": "ok"
}Search indexed documents using PostgreSQL full-text search.
{
"query": "incident runbook",
"limit": 10
}queryis required and limited to 500 characterslimitdefaults to10and is clamped to1..50
{
"query": "incident runbook",
"limit": 10,
"results": [
{
"id": 12,
"path": "runbooks/incident.md",
"title": "Incident Runbook",
"snippet": "Use <mark>incident</mark> procedure ...",
"rank": 0.72
}
]
}Return the full indexed document for a known identifier.
{
"id": 12,
"path": "runbooks/incident.md",
"title": "Incident Runbook",
"content": "# Incident Runbook\n...",
"updatedAt": "2026-04-10T08:30:00Z"
}200for an existing document404when the document id is not found
Create a new indexing job.
{}Returns 201 Created with the created job payload.
- retry policy is server-controlled for the current product slice
- each job currently allows up to
3total processing attempts - jobs return retry accounting metadata so operators can tell whether a processing failure was the first attempt or a later retry
Fetch the current status of an indexing job.
{
"id": 5,
"status": "completed",
"requestedAt": "2026-04-10T08:20:00Z",
"claimedAt": "2026-04-10T08:20:02Z",
"completedAt": "2026-04-10T08:20:05Z",
"attemptCount": 1,
"maxAttempts": 3,
"workerId": "host:1234:abcd",
"errorMessage": null,
"stats": null
}attemptCountincrements each time a worker claims the job for processing- a failed attempt returns the job to
pendingwhileattemptCountis still belowmaxAttempts - a job becomes terminally
failedonly when the final allowed attempt fails
- Use
/healthfor basic readiness checks and product verification - All API behavior remains valid without optional AI services enabled