Skip to content

Update or restore a dataset

client.Datasets.Update(ctx, datasetID, body) (*Dataset, error)
PATCH/v5/datasets/{dataset_id}

Update a dataset’s fields, or restore a previously archived dataset.

The request body is a union discriminated by its contents: a body of {"restore": true} triggers a restore, and any other body is treated as a partial update of the dataset’s name, description, and tags. Restore clears archived_at on the dataset and cascades the un-archival to its items and versions; restoring a dataset that is not archived returns it unchanged. A partial update on an archived dataset fails, since archived datasets cannot be modified.

ParametersExpand Collapse
datasetID string
body DatasetUpdateParams
Dataset param.Field[DatasetUpdateParamsDatasetUnion]
type DatasetUpdateParamsDatasetPartialDatasetRequestBase struct{…}
Description stringOptional
Name stringOptional
Tags []stringOptional

The tags associated with the entity

type RestoreRequestParam struct{…}
Restore bool

Set to true to restore the entity from the database.

ReturnsExpand Collapse
type Dataset struct{…}
ID string

The unique identifier of the entity.

CreatedAt Time

The date and time when the entity was created in ISO format.

formatdate-time
CreatedBy Identity

The identity that created the entity.

ID string
Type IdentityType
One of the following:
const IdentityTypeUser IdentityType = "user"
const IdentityTypeServiceAccount IdentityType = "service_account"
Object IdentityObjectOptional
CurrentVersionNum int64
Name string
Tags []string

The tags associated with the entity

ArchivedAt TimeOptional

The date and time when the entity was archived in ISO format.

formatdate-time
Description stringOptional
Object DatasetObjectOptional

Update or restore a dataset

package main

import (
  "context"
  "fmt"

  "github.com/scaleapi/sgp-dev-go"
  "github.com/scaleapi/sgp-dev-go/option"
)

func main() {
  client := sgpdev.NewClient(
    option.WithAPIKey("My API Key"),
    option.WithAccountID("My Account ID"),
  )
  dataset, err := client.Datasets.Update(
    context.TODO(),
    "dataset_id",
    sgpdev.DatasetUpdateParams{
      OfPartialDatasetRequestBase: &sgpdev.DatasetUpdateParamsDatasetPartialDatasetRequestBase{

      },
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", dataset.ID)
}
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "current_version_num": 0,
  "name": "name",
  "tags": [
    "string"
  ],
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "object": "dataset"
}
Returns Examples
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "current_version_num": 0,
  "name": "name",
  "tags": [
    "string"
  ],
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "object": "dataset"
}