> ## 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 a transformation

> Updates a transformation by its ID.

**Required ACL:** `addObject`, `deleteIndex`, `editSettings`

## Usage

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

  // Call the API
  var response = await client.UpdateTransformationAsync(
    "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
    new TransformationCreate
    {
      Input = new TransformationInput(new TransformationCode { Code = "foo" }),
      Type = Enum.Parse<TransformationType>("Code"),
      Name = "bar",
      Description = "baz",
    }
  );

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

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

  // Call the API
  final response = await client.updateTransformation(
    transformationID: "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
    transformationCreate: TransformationCreate(
      input: TransformationCode(
        code: "foo",
      ),
      type: TransformationType.fromJson("code"),
      name: "bar",
      description: "baz",
    ),
  );

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

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

  // Call the API
  response, err := client.UpdateTransformation(client.NewApiUpdateTransformationRequest(
    "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
    ingestion.NewEmptyTransformationCreate().SetInput(ingestion.TransformationCodeAsTransformationInput(
      ingestion.NewEmptyTransformationCode().
        SetCode("foo"),
    )).SetType(ingestion.TransformationType("code")).SetName("bar").SetDescription("baz")))
  if err != nil {
    // handle the eventual error
    panic(err)
  }


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

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

  // Call the API
  TransformationUpdateResponse response = client.updateTransformation(
    "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
    new TransformationCreate()
      .setInput(new TransformationCode().setCode("foo"))
      .setType(TransformationType.CODE)
      .setName("bar")
      .setDescription("baz")
  );

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

  ```js JavaScript theme={"system"}
  // Initialize the client
  // Replace 'us' with your Algolia Application Region
  const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initIngestion({ region: 'us' });

  // Call the API
  const response = await client.updateTransformation({
    transformationID: '6c02aeb1-775e-418e-870b-1faccd4b2c0f',
    transformationCreate: { input: { code: 'foo' }, type: 'code', name: 'bar', description: 'baz' },
  });


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

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

  // Call the API
  var response =
    client.updateTransformation(
      transformationID = "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
      transformationCreate =
        TransformationCreate(
          input = TransformationCode(code = "foo"),
          type = TransformationType.entries.first { it.value == "code" },
          name = "bar",
          description = "baz",
        ),
    )


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

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

  // Call the API
  $response = $client->updateTransformation(
      '6c02aeb1-775e-418e-870b-1faccd4b2c0f',
      ['input' => ['code' => 'foo',
      ],
          'type' => 'code',
          'name' => 'bar',
          'description' => 'baz',
      ],
  );


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

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

  # Call the API
  response = client.update_transformation(
      transformation_id="6c02aeb1-775e-418e-870b-1faccd4b2c0f",
      transformation_create={
          "input": {
              "code": "foo",
          },
          "type": "code",
          "name": "bar",
          "description": "baz",
      },
  )


  # print the response
  print(response)
  ```

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

  # Call the API
  response = client.update_transformation(
    "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
    Algolia::Ingestion::TransformationCreate.new(
      input: Algolia::Ingestion::TransformationCode.new(code: "foo"),
      type: "code",
      name: "bar",
      description: "baz"
    )
  )


  # print the response
  puts(response)
  ```

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

  // Call the API
  val response = Await.result(
    client.updateTransformation(
      transformationID = "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
      transformationCreate = TransformationCreate(
        input = Some(
          TransformationCode(
            code = "foo"
          )
        ),
        `type` = Some(TransformationType.withName("code")),
        name = "bar",
        description = Some("baz")
      )
    ),
    Duration(100, "sec")
  )

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

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

  // Call the API
  let response = try await client.updateTransformation(
      transformationID: "6c02aeb1-775e-418e-870b-1faccd4b2c0f",
      transformationCreate: TransformationCreate(
          name: "bar",
          type: TransformationType.code,
          input: TransformationInput.transformationCode(TransformationCode(code: "foo")),
          description: "baz"
      )
  )

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

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