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

# Change a Managed Kafka cluster's storage autoscaling

> Sets whether Artie grows the brokers' disks before they fill, at what % full, how full they are after, and the most disk per broker. Takes effect on the next autoscale run; nothing is applied to the cluster. Company admins only.



## OpenAPI

````yaml https://raw.githubusercontent.com/artie-labs/artie-api-spec/refs/heads/master/openapi.yaml put /kafka-clusters/{uuid}/storage-autoscale
openapi: 3.1.0
info:
  description: External API endpoints for Artie
  title: Artie API
  version: v1.0.200
servers:
  - url: https://api.artie.com
security:
  - ApiKey: []
paths:
  /kafka-clusters/{uuid}/storage-autoscale:
    put:
      tags:
        - Kafka clusters
      summary: Change a Managed Kafka cluster's storage autoscaling
      description: >-
        Sets whether Artie grows the brokers' disks before they fill, at what %
        full, how full they are after, and the most disk per broker. Takes
        effect on the next autoscale run; nothing is applied to the cluster.
        Company admins only.
      operationId: kafka_cluster_storage_autoscale_update
      parameters:
        - in: path
          name: uuid
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayloadsKafkaClusterStorageAutoscale'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadsKafkaCluster'
          description: OK
        '400':
          description: Bad Request
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
components:
  schemas:
    PayloadsKafkaClusterStorageAutoscale:
      properties:
        bumpAtPercent:
          description: >-
            How full, in %, a broker's disk gets before every broker's disk
            grows. At most 99. Defaults to 65.
          maximum: 99
          minimum: 1
          type: integer
        enabled:
          description: Whether Artie grows the brokers' disks before they fill.
          type: boolean
        maxGiB:
          description: >-
            The most disk per broker, in GiB, a grow goes to. Missing is no
            limit.
          minimum: 1
          type: integer
        targetPercent:
          description: >-
            How full, in %, the fullest broker's disk is after a grow. Less than
            bumpAtPercent. Defaults to 55.
          maximum: 98
          minimum: 1
          type: integer
      required:
        - enabled
        - bumpAtPercent
        - targetPercent
      type: object
    PayloadsKafkaCluster:
      properties:
        cloud:
          type: string
        createdAt:
          format: date-time
          type: string
        dataKeptUntil:
          description: >-
            When a deleted Managed Kafka cluster's data is deleted for good. It
            can be restored until then. Only set while status is deleted.
          format: date-time
          type: string
        deployStage:
          $ref: '#/components/schemas/EnumsKafkaDeployStage'
          description: >-
            The step a Managed Kafka cluster's deploy is on. Only set while
            status is deploying, or failed, where it is the step the deploy
            stopped at.
        disableTLS:
          type: boolean
        externalBootstrapURL:
          type: string
        isManaged:
          description: >-
            Whether this is a Managed Kafka cluster that Artie runs for the
            company.
          type: boolean
        localRetentionBytes:
          description: >-
            Disk cap per partition: the most broker disk each partition of the
            cluster's tiered topics keeps, in bytes (log.local.retention.bytes).
            Missing when there is no cap.
          type:
            - 'null'
            - integer
        localRetentionMS:
          description: >-
            Days on disk: how long the cluster's tiered topics keep data on
            broker disks, in ms (log.local.retention.ms). Missing on clusters
            made before it, whose brokers use Kafka's default.
          type:
            - 'null'
            - integer
        managed:
          $ref: '#/components/schemas/PayloadsKafkaClusterManaged'
          description: >-
            A Managed Kafka cluster's configuration. Only set when isManaged,
            and only by Get a Kafka cluster.
        name:
          type: string
        region:
          type: string
        shuttingDown:
          description: >-
            Whether a deleted Managed Kafka cluster is still being taken down.
            It can't be restored until that finishes. Only set in the clusters
            list.
          type: boolean
        status:
          $ref: '#/components/schemas/EnumsKafkaStatus'
        statusMessage:
          description: >-
            Why the last deploy of a Managed Kafka cluster failed. Only set
            while status is failed.
          type: string
        storageAutoscale:
          $ref: '#/components/schemas/PayloadsKafkaClusterStorageAutoscale'
          description: >-
            A Managed Kafka cluster's storage autoscaling. Only set when
            isManaged.
        tierAllTopics:
          description: >-
            Whether Artie turns tiered storage on for every topic of a Managed
            Kafka cluster that doesn't choose otherwise.
          type: boolean
        tieredStorageAvailable:
          description: >-
            Whether tiered storage is available on this cluster. Artie turns it
            on once the cluster's brokers have tiered storage.
          type: boolean
        tieredStorageSyncedAt:
          description: >-
            When the sync last made a Managed Kafka cluster's topics match the
            tiered storage choice for each. Missing until its first run.
          format: date-time
          type: string
        updatedAt:
          description: >-
            When the cluster row last changed. A deploying cluster can be
            retried 20 minutes after this.
          format: date-time
          type: string
        usesScram:
          type: boolean
        uuid:
          format: uuid
          type: string
      required:
        - uuid
        - name
        - createdAt
        - updatedAt
        - status
        - externalBootstrapURL
        - usesScram
        - disableTLS
        - cloud
        - region
        - tieredStorageAvailable
        - isManaged
        - tierAllTopics
      type: object
    EnumsKafkaDeployStage:
      enum:
        - applying_custom_resources
        - issuing_tls_certificate
        - provisioning_broker_nodes
        - starting_kafka_brokers
        - creating_load_balancer
      type: string
    PayloadsKafkaClusterManaged:
      properties:
        allowedCIDRs:
          description: >-
            Client IP ranges allowed to reach the cluster. Empty when any IP can
            connect.
          items:
            type: string
          type: array
        brokers:
          type: integer
        instanceType:
          type: string
        kafkaVersion:
          type: string
        pendingChange:
          $ref: '#/components/schemas/PayloadsKafkaClusterChange'
          description: >-
            The cluster's latest change that isn't applied yet. Missing once
            every change is applied, and while the cluster isn't active.
        storageGiB:
          description: Disk per broker in GiB.
          type: integer
      required:
        - brokers
        - instanceType
        - storageGiB
        - allowedCIDRs
        - kafkaVersion
      type: object
    EnumsKafkaStatus:
      enum:
        - draft
        - active
        - deploying
        - failed
        - deleted
      type: string
    PayloadsKafkaClusterChange:
      properties:
        field:
          description: >-
            The setting the change is to. The other fields already show its new
            value.
          enum:
            - allowedCIDRs
            - storageGiB
            - brokers
            - instanceType
            - tieredStorage
          type: string
        startedAt:
          description: When the change was saved.
          format: date-time
          type: string
        state:
          description: >-
            Applying until the apply's time limit after the save has passed (15
            minutes plus a broker roll per broker, plus 5 minutes), then failed:
            the apply failed or was lost. Saving the same value again retries
            it.
          enum:
            - applying
            - failed
          type: string
        summary:
          description: >-
            What the change does, as the Activity feed says it, such as "Grew
            broker storage from 50 GiB to 80 GiB".
          type: string
      required:
        - state
        - field
        - summary
        - startedAt
      type: object
  securitySchemes:
    ApiKey:
      description: API key passed as a Bearer token in the Authorization header.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.