メインコンテンツへスキップ

update-datahub-dataset

dci update-datahub-dataset <name> [body]

Updates an existing DataHub dataset's metadata. The description, displayName and logoName fields can be updated. Only the fields present in the request body are changed; an omitted field keeps its stored value, and an empty string clears it. The dataset name is immutable and serves as the resource identifier and the ingest provider value. To change how a dataset is displayed in the console and in report results, set displayName; saved reports, budgets, alerts and filters keep working because they reference name. If name is included in the request body, it must match the dataset name in the URL path. A mismatched name will be rejected with a 400 error.

  • name — Dataset name as shown by dci list-datahub-datasets. The name is the dataset's identifier and the ingest provider value, and cannot be changed; set displayName to change how the dataset is labelled in the console and in report results.

Pass the request body as name: value arguments or pipe JSON on stdin — see Command structure.

CLI behavior

Only the fields present in the request body change: an omitted field keeps its stored value, and an empty string clears it. Include name only to make the request fail loudly if it does not match the dataset in the path — it can never rename the dataset.

  • displayName is what the console and report results show instead of name. Saved reports, budgets, alerts and filters keep working across a display rename because they all reference name.
  • dci list-datahub-datasets shows a display name column whenever at least one dataset has one, so a display rename is visible in the CLI too.
  • Unknown body fields are rejected before the request is sent; the accepted fields are description, displayName, logoName and name.

Examples

# Change the description; omitted fields keep their stored values.
dci update-datahub-dataset <dataset-name> description: "Token spend exported nightly from LiteLLM"
# Label the dataset for the console and report results without renaming it.
dci update-datahub-dataset <dataset-name> displayName: "Datadog prod"
# Set the preset logo shown in the DoiT console.
dci update-datahub-dataset <dataset-name> logoName: litellm
# Clear the description, display name and logo by sending empty strings.
dci update-datahub-dataset <dataset-name> description: "", displayName: "", logoName: ""

Request

Content-Type: application/json

FieldTypeRequiredDescription
namestringMust match the dataset name in the URL path. Included for idempotency; the name cannot be changed.
descriptionstringThe new description for the dataset. Omit to keep the current description; send an empty string to clear it.
displayNamestringHuman-readable name shown in the DoiT console and in report results instead of name. 1-64 characters after trimming; must not be unique. Omit to keep the current display name; send an empty string to clear it and fall back to name.
logoNamestringThe preset logo shown next to the dataset in the DoiT console. Omit to keep the current logo; send an empty string to clear it. One of: "", "anthropic", "atlassian", "aws", "azure", "chatgpt", "cloudflare", "copilot", "figma", "gcp", "github", "gitlab", ….
Raw JSON schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Must match the dataset name in the URL path. Included for idempotency; the name cannot be changed.",
"example": "My Custom Dataset"
},
"description": {
"type": "string",
"description": "The new description for the dataset. Omit to keep the current description; send an empty string to clear it.",
"example": "Updated description for the dataset"
},
"displayName": {
"type": "string",
"description": "Human-readable name shown in the DoiT console and in report results instead of `name`. 1-64 characters after trimming; must not be unique. Omit to keep the current display name; send an empty string to clear it and fall back to `name`.",
"example": "Datadog (prod)",
"maxLength": 64
},
"logoName": {
"type": "string",
"description": "The preset logo shown next to the dataset in the DoiT console. Omit to keep the current logo; send an empty string to clear it.",
"example": "litellm",
"enum": [
"",
"anthropic",
"atlassian",
"aws",
"azure",
"chatgpt",
"cloudflare",
"copilot",
"figma",
"gcp",
"github",
"gitlab",
"hotjar",
"jira",
"litellm",
"miro",
"notion",
"slack",
"wordpress"
]
}
}
}

Output

OK - Dataset updated successfully.

By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.

FieldTypeDescription
namestringThe name of the dataset.
descriptionstringThe description of the dataset.
recordsinteger (int64)The number of records in the dataset.
updatedBystringThe email of the user who last updated the dataset.
lastUpdatedstringThe timestamp of the last update.
displayNamestringHuman-readable name shown in the DoiT console and in report results instead of name. Absent when the dataset is displayed by its name. Does not affect ingest, which always uses name as the provider.
logoNamestringThe preset logo shown next to the dataset in the DoiT console. Absent when the dataset has no preset logo.
Raw JSON schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the dataset.",
"example": "My Custom Dataset"
},
"description": {
"type": "string",
"description": "The description of the dataset.",
"example": "Updated description for the dataset"
},
"records": {
"type": "integer",
"format": "int64",
"description": "The number of records in the dataset.",
"example": 1500,
"nullable": true
},
"updatedBy": {
"type": "string",
"description": "The email of the user who last updated the dataset.",
"example": "[email protected]"
},
"lastUpdated": {
"type": "string",
"description": "The timestamp of the last update.",
"example": "2024-03-10T23:00:00Z"
},
"displayName": {
"type": "string",
"description": "Human-readable name shown in the DoiT console and in report results instead of `name`. Absent when the dataset is displayed by its `name`. Does not affect ingest, which always uses `name` as the provider.",
"example": "Datadog (prod)"
},
"logoName": {
"type": "string",
"description": "The preset logo shown next to the dataset in the DoiT console. Absent when the dataset has no preset logo.",
"example": "litellm"
}
}
}

Errors

On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.

HTTP status to exit code mapping
HTTP statusExit codeError codeMeaning
40030VALIDATION_ERRORThe arguments or request body were rejected. Review the command's flags and payload.
40110AUTHENTICATION_FAILEDNot signed in, or the API token is invalid. Run dci login or check DCI_API_KEY.
40311PERMISSION_DENIEDThe DoiT user or the active customer context does not have access.
40420RESOURCE_NOT_FOUNDThe requested resource does not exist. Check the identifier argument.
50040API_SERVER_ERRORThe API failed to process the request. Retryable; contact DoiT support if it persists.

Aliases: updatedatahubdataset