Try it free

Partially update a bucket

  • Latest Dynatrace
  • Reference
  • Published Oct 13, 2026

Partially update a bucket definition in Dynatrace with the Grail Storage Management API by changing displayName, includedQueryLimitDays, or retentionDays.

PATCHSaaShttps://{your-environment-id}.apps.dynatrace.com/platform/storage/management/v1/bucket-definitions/{bucketName}

Overview

You update a bucket definition by providing the bucketName path parameter and the optimistic-locking-version query parameter. In the request body, include the fields you want to change: displayName, includedQueryLimitDays, or retentionDays. The operation returns a successfully updated bucket definition.

Authentication

To execute this request, you need a platform token or OAuth access token with storage:bucket-definitions:write scope. To learn how to obtain and use it, see Tokens and authentication.

Parameters

ParameterTypeDescriptionInRequired
bucketNamestring

Bucket name to update.

pathRequired
optimistic-locking-versioninteger

optimistic-locking-version defines the base version that this update applies to. You can get the current version of a bucket definition by checking the version field in the JSON response of GET bucket definitions or GET bucket definition.

queryRequired
bodyPartialUpdateBucket

Information for partial update of bucket

bodyRequired

Request body objects

The PartialUpdateBucket object

ElementTypeDescriptionRequired
displayNamestring

Descriptive name of the bucket. No restriction regarding unique naming or valid characters.

Optional
includedQueryLimitDaysinteger

The period in days in which queries from the bucket are included in the pricing model.

Optional
retentionDaysinteger

The retention period in days of the data in the bucket. Important note: the new retention days will also apply to existing records. Shortening the retention period could result in data deletion!

Optional

Request body JSON model

This is a model of the request body, showing the possible elements. It has to be adjusted for usage in an actual request.

{
"displayName": "Custom logs bucket (updated)",
"retentionDays": 10,
"includedQueryLimitDays": 0
}

Response

Response codes

CodeTypeDescription
200-

Successfully updated bucket definition

202-

Accepted update bucket definition

400ErrorEnvelope

bad request

401ErrorEnvelope

unauthorized

403ErrorEnvelope

Forbidden

404ErrorEnvelope

Bucket with provided name was not found

409ErrorEnvelope

Attempt to update an old version or an operation is currently in progress that prevents current modifications (creating, deleting, updating)

Response body objects

The ErrorEnvelope object

ElementTypeDescription
errorExceptionalReturn-

The ExceptionalReturn object

ElementTypeDescription
codeinteger-
errorDetails(CustomValidationErrorInfo | InvalidAuditEventsErrorInfo | MediaTypeErrorInfo | ParameterErrorInfo | ProxyErrorInfo | QueryFrontendRawErrorInfo | RequestBodyErrorInfo)[]-
messagestring-

The CustomValidationErrorInfo object

The ErrorInfo object

ElementTypeDescription
messagestring-

The InvalidAuditEventsErrorInfo object

The MediaTypeErrorInfo object

The ParameterErrorInfo object

The ProxyErrorInfo object

The QueryFrontendRawErrorInfo object

The RequestBodyErrorInfo object

Response body JSON models

{
"error": {
"code": 400,
"message": "Missing request header",
"errorDetails": [
{
"type": "parameter",
"parameterDescriptor": "Dt-Tenant",
"message": "is required"
}
]
}
}
Related tags
Platform APIDynatrace Platform