Skip to main content
Required ACL: addObject
  • If a record with the specified object ID doesn’t exist, a new record is added to the index if createIfNotExists is true.
  • If the index doesn’t exist yet, this method creates a new index.
  • Use first-level attributes only. Nested attributes aren’t supported. If you specify a nested attribute, this operation replaces its first-level ancestor.
To update attributes without replacing the full record, use these built-in operations. These operations are useful when the initial data isn’t available.
  • Increment: increment a numeric attribute.
  • Decrement: decrement a numeric attribute.
  • Add: append a number or string element to an array attribute.
  • Remove: remove all matching number or string elements from an array attribute made of numbers or strings.
  • AddUnique: add a number or string element to an array attribute made of numbers or strings only if it’s not already present.
  • IncrementFrom: increment a numeric integer attribute only if the provided value matches the current value. Otherwise, the update is ignored. Example: If you pass an IncrementFrom value of 2 for the version attribute but the current value is 1, the API ignores the update. If the object doesn’t exist, the API only creates it if you pass an IncrementFrom value of 0.
  • IncrementSet: increment a numeric integer attribute only if the provided value is greater than the current value. Otherwise, the update is ignored. Example: If you pass an IncrementSet value of 2 for the version attribute and the current value is 1, the API updates the object. If the object doesn’t exist yet, the API only creates it if you pass an IncrementSet value greater than 0.
Specify an operation by providing an object with the attribute to update as the key and its value as an object with these properties:
  • _operation: the operation to apply on the attribute.
  • value: the right-hand side argument to the operation, for example, increment or decrement step, or a value to add or remove.
When updating multiple attributes or using multiple operations targeting the same record, use a single partial update for faster processing. This operation is subject to indexing rate limits.

Usage

// Initialize the client
var client = new SearchClient(new SearchConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY"));

// Call the API
var response = await client.PartialUpdateObjectAsync(
  "<YOUR_INDEX_NAME>",
  "uniqueID",
  new Dictionary<string, string> { { "attributeId", "new value" } }
);

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

See the full API reference

For more details about input parameters and response fields.
Last modified on February 12, 2026