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

# Update Dataset

> Update the name or metadata of an existing dataset

## Overview

The `update()` method allows you to modify an existing dataset after it has been created.

<Warning>
  Only `name` and `metadata` are mutable post-creation. All other fields
  (`type`, `variants`, `strategies`, `uri`, `ground_truth_uri`,
  `data_catalog_uri`, `source_test_id`, `max_test_cases`, etc.) are fixed
  for the lifetime of the dataset because they drive generation, credit
  accounting, and the stored test-case shape. Sending any of them in an
  update returns a `400`.
</Warning>

## Parameters

<ResponseField name="dataset_id" type="string" required>
  The ID of the dataset to update.

  <Note>Deprecated alias: `test_id`.</Note>
</ResponseField>

<ResponseField name="name" type="string" optional>
  New dataset name. Must be a non-empty string; leading and trailing whitespace are trimmed server-side.
</ResponseField>

<ResponseField name="metadata" type="Any" optional>
  Arbitrary JSON-serializable metadata for tracking purposes. Replaces the existing metadata wholesale. Pass `None` to clear.
</ResponseField>

## Returns

Returns the updated `Dataset` object.

## Example

```python theme={"system"}
renamed = galtea.datasets.update(
    dataset_id=dataset.id,
    name=f"renamed-test-{run_identifier}",
)
```

## Use Cases

### Replacing Metadata

Overwrite the metadata object on an existing dataset:

```python theme={"system"}
with_new_metadata = galtea.datasets.update(
    dataset_id=dataset.id,
    metadata={"owner": "platform-team", "ticket": "QA-200", "priority": "high"},
)
```

### Updating Name and Metadata Together

```python theme={"system"}
updated = galtea.datasets.update(
    dataset_id=dataset.id,
    name=f"final-test-{run_identifier}",
    metadata={"owner": "platform-team", "archived": True},
)
```

## Notes

<Note>
  All fields except `dataset_id` default to `PydanticUndefined` (from `pydantic_core`).
  Omit a field (or pass `PydanticUndefined`) to leave it unchanged.
  Pass `None` to explicitly clear an optional field.
  Pass a value to update it.
</Note>

## Related Methods

* [Create Dataset](/sdk/api/dataset/create) - Create a new dataset
* [Get Dataset](/sdk/api/dataset/get) - Retrieve a dataset by ID
* [List Datasets](/sdk/api/dataset/list) - List datasets for a product
* [Delete Dataset](/sdk/api/dataset/delete) - Soft-delete a dataset
* [Link Datasets](/sdk/api/specification/link-datasets) - Attach an existing dataset to a specification
* [Unlink Datasets](/sdk/api/specification/unlink-datasets) - Detach a dataset from a specification
