Syntext DOCS
Get Started
API Reindex Search
POST/v1/projects/{projectId}/search/reindex

Reindex Search

Rebuild the search index for a project. Useful after bulk content changes or to fix search issues.

Path Parameters

The project ID (e.g., prj_abc123).

Request Body

Perform a full reindex (slower but thorough) vs incremental.

Response

Returns the reindex job status.

Reindex job identifier.

Job status: queued, processing, completed.

Number of pages indexed (when completed).

ISO 8601 timestamp.

Example

curl -X POST https://api.syntext.dev/v1/projects/prj_abc123/search/reindex \
-H "Authorization: Bearer stx_abc12345_..." \
-H "Content-Type: application/json" \
-d '{"full": true}'
import { Syntext } from '@syntext/sdk'

const client = new Syntext('stx_abc12345_...')

const job = await client.search.reindex('prj_abc123', {
full: true,
})
from syntext import Syntext

client = Syntext("stx_abc12345_...")

job = client.search.reindex("prj_abc123", full=True)

Response

{
  "data": {
    "jobId": "idx_abc123",
    "status": "queued",
    "startedAt": "2026-06-28T12:00:00Z"
  }
}

Search remains available during reindexing. New results appear as pages are indexed.

Error Responses

404 Not Found

Returned when the project does not exist.

{
  "error": {
    "code": "not_found",
    "message": "Project does not exist"
  }
}

409 Conflict

Returned when a reindex is already in progress.

{
  "error": {
    "code": "conflict",
    "message": "A reindex operation is already in progress"
  }
}
Assistant
Responses are generated using AI and may contain mistakes.

Ask me anything about the documentation.

ESC