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

# Datasets

> Every published datasets operation, generated from the contract.

12 operations on `client.datasets`, including `datasets.records`.

Path parameters come first, positionally; the request body is last, as a plain
object. Method names are `snake_case` in Python and `camelCase` in
TypeScript, and resource names follow the same rule.

<CodeGroup>
  ```python Python theme={null}
  result = client.datasets.archive(dataset_id)
  ```

  ```typescript TypeScript theme={null}
  const result = await client.datasets.archive(dataset_id);
  ```
</CodeGroup>

## Operations

| Call                                                          | Route                                                             | Does                          |
| ------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------- |
| `client.datasets.archive(dataset_id)`                         | `POST /eval/v1/datasets/{dataset_id}/archive`                     | Archive a dataset             |
| `client.datasets.create(body)`                                | `POST /eval/v1/datasets`                                          | Create a dataset              |
| `client.datasets.get(dataset_id)`                             | `GET /eval/v1/datasets/{dataset_id}`                              | Get a dataset                 |
| `client.datasets.list()`                                      | `GET /eval/v1/datasets`                                           | List datasets                 |
| `client.datasets.search(body)`                                | `POST /eval/v1/datasets/search`                                   | Search datasets               |
| `client.datasets.update(dataset_id, body)`                    | `PATCH /eval/v1/datasets/{dataset_id}`                            | Update a dataset              |
| `client.datasets.records.archive(dataset_id, record_id)`      | `POST /eval/v1/datasets/{dataset_id}/records/{record_id}/archive` | Archive a record              |
| `client.datasets.records.create(dataset_id, body)`            | `POST /eval/v1/datasets/{dataset_id}/records`                     | Add a record to a dataset     |
| `client.datasets.records.create_bulk(dataset_id, body)`       | `POST /eval/v1/datasets/{dataset_id}/records/bulk`                | Add many records to a dataset |
| `client.datasets.records.get(dataset_id, record_id)`          | `GET /eval/v1/datasets/{dataset_id}/records/{record_id}`          | Get one record                |
| `client.datasets.records.list(dataset_id)`                    | `GET /eval/v1/datasets/{dataset_id}/records`                      | List a dataset's records      |
| `client.datasets.records.update(dataset_id, record_id, body)` | `PATCH /eval/v1/datasets/{dataset_id}/records/{record_id}`        | Update a record               |

## Related

<CardGroup cols={2}>
  <Card title="How the client is organised" icon="list" href="/sdk/operations">
    Resources, call shapes, and errors.
  </Card>

  <Card title="Errors and retries" icon="triangle-exclamation" href="/developers/errors-and-retries">
    What the SDK raises, and which calls are safe to retry.
  </Card>
</CardGroup>
