---
title: "Update Stack"
method: PUT
path: "/api/v1/stacks/{stack_id}"
tags: ["stacks"]
---

# Update Stack

`PUT /api/v1/stacks/{stack_id}`

Updates a stack.

Args:
    stack_id: Name of the stack.
    stack_update: Stack to use for the update.

Returns:
    The updated stack.

## Path parameters

- `stack_id` string, uuid, required

## Request body

- StackUpdate — Update model for stacks.
  - `name` string, nullable
  - `description` string, nullable
  - `stack_spec_path` string, nullable
  - `components` object, nullable
  - `labels` object, nullable

## Response `200`

Successful Response

- StackResponse — Response model for stacks.
  - `body` StackResponseBody — Response body for stacks.
    - `created` string, date-time, required
    - `updated` string, date-time, required
    - `user` UserResponse — Response model for user and service accounts. This returns the activation_token that is required for the user-invitation-flow of the frontend. The email is returned optionally as well for use by the analytics on the client-side.
      - `body` UserResponseBody — Response body for users.
        - `created` string, date-time, required
        - `updated` string, date-time, required
        - `active` boolean
        - `activation_token` string, nullable
        - `full_name` string
        - `email_opted_in` boolean, nullable — `null` if not answered, `true` if agreed, `false` if skipped.
        - `is_service_account` boolean, required
        - `is_admin` boolean, required
      - `metadata` UserResponseMetadata — Response metadata for users.
        - `email` string, nullable
        - `external_user_id` string, uuid, nullable
        - `user_metadata` object
      - `resources` UserResponseResources — Class for all resource models associated with the user entity.
      - `id` string, uuid, required
      - `permission_denied` boolean
      - `name` string, required
  - `metadata` StackResponseMetadata — Response metadata for stacks.
    - `workspace` WorkspaceResponse, required — Response model for workspaces.
      - `body` WorkspaceResponseBody — Response body for workspaces.
        - `created` string, date-time, required
        - `updated` string, date-time, required
      - `metadata` WorkspaceResponseMetadata — Response metadata for workspaces.
        - `description` string
      - `resources` WorkspaceResponseResources — Class for all resource models associated with the workspace entity.
      - `id` string, uuid, required
      - `permission_denied` boolean
      - `name` string, required
    - `components` object, required
    - `description` string, nullable
    - `stack_spec_path` string, nullable
    - `labels` object, nullable
  - `resources` StackResponseResources — Class for all resource models associated with the stack entity.
  - `id` string, uuid, required
  - `permission_denied` boolean
  - `name` string, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/zenml-io/apis/zenml-2.md) · [All operations](https://skmtc.net/zenml-io/apis/zenml-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zenml-io/zenml-2/versions/febb01b8bce3/schema)
