Skip to main content
POST
/
search
/
reindex
Start reindex
curl --request POST \
  --url http://localhost:5001/search/reindex \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/search/reindex"

headers = {"X-blnk-key": "<api-key>"}

response = requests.post(url, headers=headers)

print(response.text)
const options = {method: 'POST', headers: {'X-blnk-key': '<api-key>'}};

fetch('http://localhost:5001/search/reindex', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_PORT => "5001",
  CURLOPT_URL => "http://localhost:5001/search/reindex",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "X-blnk-key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "http://localhost:5001/search/reindex"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("X-blnk-key", "<api-key>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("http://localhost:5001/search/reindex")
  .header("X-blnk-key", "<api-key>")
  .asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:5001/search/reindex")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["X-blnk-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
Use blnk.search.start_reindex to rebuild the search index.
1

Call the method

blnk.search.start_reindex
response = blnk.search.start_reindex({
  "batch_size": 1000,
})
FieldTypeDescription
batch_sizenumberRecords processed per batch. Omit the argument to use the Core default. Must be a positive integer when set.
2

Poll reindex progress

Use get reindex status to track progress until status is completed.
3

Response

202 Accepted
{
  "message": "Reindex operation started",
  "progress": {
    "status": "in_progress",
    "phase": "indexing_transactions",
    "total_records": 2145709,
    "processed_records": 0,
    "started_at": "2026-02-12T12:13:10.448612096Z"
  }
}
FieldTypeDescription
messagestrConfirmation that the reindex job started.
progressdictInitial progress snapshot with status, phase, total_records, processed_records, and started_at.

How reindexing works

When and why to rebuild the index.

Start Typesense reindex

HTTP request and response schema.

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.