---
title: "Datasets.Update"
description: "Update an existing dataset by ID with the given code name, display name, schema kind, custom fields, and metadata."
image: "https://tilebox.com/images/tilebox-docs-social-preview.png"
---

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

# Datasets.Update

import { Fragment } from "astro/jsx-runtime";

import ApiReference from "@docs/components/ApiReference.astro";

import ParamField from "@docs/components/ParamField.astro";

```go
func (datasetClient) Update(
    ctx context.Context,
    id uuid.UUID,
    kind datasets.DatasetKind,
    codeName string,
    name string,
    fields []datasets.Field,
    options ...datasets.DatasetOption,
) (*datasets.Dataset, error)
```

Update an existing dataset by ID with the given code name, display name, schema kind, custom fields, and metadata.

New non-queryable fields can be added to a non-empty dataset. Changing whether an existing field is queryable or adding
a new queryable field is only supported while the dataset is empty.

## Parameters

**id**

type: uuid.UUID

required: true

The ID of the dataset to update.
**kind**

type: datasets.DatasetKind

required: true

The dataset kind.
**codeName**

type: string

required: true

The stable code identifier for the dataset.
**name**

type: string

required: true

The display name of the dataset.
**fields**

type: []datasets.Field

required: true

The full custom field list for the dataset schema.
**options**

type: []datasets.DatasetOption

Options for dataset metadata.

## Options

**datasets.WithSummary(summary string)**

Set a short dataset summary.
**datasets.WithDescription(description string)**

Set the dataset's markdown description.

## Field options

**Queryable()**

Make a non-repeated `String`, `Bool`, `Int32`, `Int64`, `Uint64`, or `Float64` field available for server-side custom
field filters. A dataset can contain at most two queryable string fields.

## Returns

The updated dataset object.

See [Queryable fields](/docs/datasets/concepts/datasets#queryable-fields) for schema constraints and
[Filter by custom fields](/docs/datasets/query/filter-by-fields) for query syntax.

<h2 id="request-example">Usage example</h2>

```go
dataset, err := client.Datasets.Update(ctx,
    datasetID,
    datasets.KindSpatiotemporal,
    "my_catalog",
    "My catalog",
    []datasets.Field{
        field.String("source").
            Description("Source system").
            Queryable(),
        field.Float64("cloud_cover").Queryable(),
        field.Timestamp("processed_at"),
    },
    datasets.WithDescription(
        "Catalog of scenes prepared for analysis.",
    ),
)
```

Source: https://tilebox.com/docs/api-reference/go/datasets/Update/index.mdx
