> ## Documentation Index
> Fetch the complete documentation index at: https://algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update index settings

> Update the specified index settings.

**Required ACL:** `editSettings`

Index settings that you don't specify are left unchanged.
Specify `null` to reset a setting to its default value.

For best performance, update the index settings before you add new records to your index.

## Usage

<CodeGroup>
  ```cs C# theme={"system"}
  // Initialize the client
  var client = new SearchClient(new SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY"));

  // Call the API
  var response = await client.SetSettingsAsync(
    "<YOUR_INDEX_NAME>",
    new IndexSettings
    {
      PaginationLimitedTo = 10,
      TypoTolerance = new TypoTolerance(Enum.Parse<TypoToleranceEnum>("False")),
    },
    true
  );

  // print the response
  Console.WriteLine(response);
  ```

  ```dart Dart theme={"system"}
  // Initialize the client
  final client =
      SearchClient(appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');

  // Call the API
  final response = await client.setSettings(
    indexName: "<YOUR_INDEX_NAME>",
    indexSettings: IndexSettings(
      paginationLimitedTo: 10,
      typoTolerance: TypoToleranceEnum.fromJson("false"),
    ),
    forwardToReplicas: true,
  );

  // print the response
  print(response);
  ```

  ```go Go theme={"system"}
  // Initialize the client
  client, err := search.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
  if err != nil {
    // The client can fail to initialize if you pass an invalid parameter.
    panic(err)
  }

  // Call the API
  response, err := client.SetSettings(client.NewApiSetSettingsRequest(
    "<YOUR_INDEX_NAME>",
    search.NewEmptyIndexSettings().
      SetPaginationLimitedTo(10).
      SetTypoTolerance(search.TypoToleranceEnumAsTypoTolerance(search.TypoToleranceEnum("false"))),
  ).WithForwardToReplicas(true))
  if err != nil {
    // handle the eventual error
    panic(err)
  }


  // print the response
  print(response)
  ```

  ```java Java theme={"system"}
  // Initialize the client
  SearchClient client = new SearchClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");

  // Call the API
  UpdatedAtResponse response = client.setSettings(
    "<YOUR_INDEX_NAME>",
    new IndexSettings().setPaginationLimitedTo(10).setTypoTolerance(TypoToleranceEnum.FALSE),
    true
  );

  // print the response
  System.out.println(response);
  ```

  ```js JavaScript theme={"system"}
  // Initialize the client
  const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');

  // Call the API
  const response = await client.setSettings({
    indexName: 'cts_e2e_settings',
    indexSettings: { paginationLimitedTo: 10, typoTolerance: 'false' },
    forwardToReplicas: true,
  });


  // print the response
  console.log(response);
  ```

  ```kotlin Kotlin theme={"system"}
  // Initialize the client
  val client = SearchClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")

  // Call the API
  var response =
    client.setSettings(
      indexName = "<YOUR_INDEX_NAME>",
      indexSettings =
        IndexSettings(
          paginationLimitedTo = 10,
          typoTolerance = TypoToleranceEnum.entries.first { it.value == "false" },
        ),
      forwardToReplicas = true,
    )


  // print the response
  println(response)
  ```

  ```php PHP theme={"system"}
  // Initialize the client
  $client = SearchClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');

  // Call the API
  $response = $client->setSettings(
      '<YOUR_INDEX_NAME>',
      ['paginationLimitedTo' => 10,
          'typoTolerance' => 'false',
      ],
      true,
  );


  // print the response
  var_dump($response);
  ```

  ```python Python theme={"system"}
  # Initialize the client
  # In an asynchronous context, you can use SearchClient instead, which exposes the exact same methods.
  client = SearchClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")

  # Call the API
  response = client.set_settings(
      index_name="<YOUR_INDEX_NAME>",
      index_settings={
          "paginationLimitedTo": 10,
          "typoTolerance": "false",
      },
      forward_to_replicas=True,
  )


  # print the response
  print(response)
  ```

  ```ruby Ruby theme={"system"}
  # Initialize the client
  client = Algolia::SearchClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")

  # Call the API
  response = client.set_settings(
    "<YOUR_INDEX_NAME>",
    Algolia::Search::IndexSettings.new(pagination_limited_to: 10, typo_tolerance: "false"),
    true
  )


  # print the response
  puts(response)
  ```

  ```scala Scala theme={"system"}
  // Initialize the client
  val client = SearchClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")

  // Call the API
  val response = Await.result(
    client.setSettings(
      indexName = "<YOUR_INDEX_NAME>",
      indexSettings = IndexSettings(
        paginationLimitedTo = Some(10),
        typoTolerance = Some(TypoToleranceEnum.withName("false"))
      ),
      forwardToReplicas = Some(true)
    ),
    Duration(100, "sec")
  )

  // print the response
  println(response)
  ```

  ```swift Swift theme={"system"}
  // Initialize the client
  let client = try SearchClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")

  // Call the API
  let response = try await client.setSettings(
      indexName: "<YOUR_INDEX_NAME>",
      indexSettings: IndexSettings(
          paginationLimitedTo: 10,
          typoTolerance: SearchTypoTolerance.searchTypoToleranceEnum(SearchTypoToleranceEnum.`false`)
      ),
      forwardToReplicas: true
  )

  // print the response
  print(response)
  ```
</CodeGroup>

<Card icon="folder-code" horizontal="true" title="See the full API reference" arrow="true" href="/doc/rest-api/search/set-settings">
  For more details about input parameters
  and response fields.
</Card>
