Skip to main content
Available in version 0.13.2 and later.
Reindexing is typically needed after deploying a fresh Typesense instance, migrating to a new Typesense cluster, or recovering from Typesense data loss while your primary database remains intact. In this scenario, Typesense is empty while your primary database holds transactions, balances, ledgers, and identities. Reindexing populates Typesense with all existing records so search works correctly.
Blnk continues to index new and updated records live while a reindex runs. You do not need to wait for the bulk reindex to finish before searching recently created transactions.

How it works

1

Trigger the reindex

Blnk reads all records from your database and indexes them into their respective Typesense collections (transactions, balances, ledgers, identities).
curl -X POST "http://localhost:5001/search/reindex" \
  -H "X-blnk-key: <api-key>"
Response
{
    "status": "in_progress",
    "phase": "indexing_transactions",
    "total_records": 2145709,
    "processed_records": 2145709,
    "started_at": "2026-02-12T12:13:10.448612096Z"
}
2

Monitor progress

Check the reindex status. Completion time depends on the size of your data.
curl -X GET "http://localhost:5001/search/reindex" \
  -H "X-blnk-key: <api-key>"
Response
{
    "status": "completed",
    "phase": "done",
    "total_records": 3240705,
    "processed_records": 3240705,
    "started_at": "2026-02-12T12:13:10.448612096Z",
    "completed_at": "2026-02-12T12:18:42.018420264Z"
}
3

Verify completeness

Once the reindex finishes, confirm that all records are in Typesense by searching each collection with q: "*" to return all records.
curl -X POST http://localhost:5001/search/{collection} \
-H 'X-Blnk-Key: YOUR_API_KEY' \
-d '{ "q": "*" }'
Compare found and out_of values with your expected record counts. If anything is missing, run the reindex again.

Error handling

Structured errors are available from Blnk Core 0.15.0 and later.
Starting a second reindex while one is already running returns 409 Conflict with error_detail.code set to SRCH_REINDEX_IN_PROGRESS.
409 Conflict
{
  "error": "A reindex operation is already in progress",
  "error_detail": {
    "code": "SRCH_REINDEX_IN_PROGRESS",
    "message": "A reindex operation is already in progress",
    "details": {
      "status": "in_progress",
      "phase": "create_collections",
      "total_records": 0,
      "processed_records": 0,
      "started_at": "2026-06-13T00:36:38.149512Z"
    }
  }
}
To resolve the error:
CodeWhat to do
SRCH_REINDEX_IN_PROGRESSPoll Check reindex progress until status is completed, then start a new reindex if needed.
For the full error catalogue, see API error codes.

Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.