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

# Update Workspace

> Updates the name, description, or tags of an workspace.

<ParamField path="id" type="string" required>
  The ID of the workspace to update.
</ParamField>

<ParamField body="updates" type="object">
  The fields to update for the workspace.

  <Expandable title="Toggle object">
    <ParamField name="name" type="string">
      The new name for the workspace (case-insensitive, max 50 characters).
    </ParamField>

    <ParamField name="description" type="string">
      The new description for the workspace (max 200 characters).
    </ParamField>

    <ParamField name="tags" type="array">
      The new tags for the workspace (each tag max 20 characters).
    </ParamField>
  </Expandable>
</ParamField>

### Response

<ResponseField name="response" type="object">
  The updated details of the workspace.

  <Expandable title="Toggle object">
    <ResponseField name="id" type="string">
      The ID of the workspace.
    </ResponseField>

    <ResponseField name="name" type="string">
      The name of the workspace.
    </ResponseField>

    <ResponseField name="description" type="string">
      The description of the workspace.
    </ResponseField>

    <ResponseField name="tags" type="array">
      The tags associated with the workspace.
    </ResponseField>

    <ResponseField name="owner_id" type="string">
      The ID of the workspace owner.
    </ResponseField>

    <ResponseField name="created_at" type="string" format="date-time">
      The timestamp when the workspace was created.
    </ResponseField>

    <ResponseField name="updated_at" type="string" format="date-time">
      The timestamp when the workspace was last updated.
    </ResponseField>

    <ResponseField name="members" type="array">
      An array of member objects.

      <Expandable title="Toggle object">
        <ResponseField name="user_id" type="string">
          The ID of the member.
        </ResponseField>

        <ResponseField name="role" type="string">
          The role of the member (e.g., `owner`, `admin`, `developer`, `operator`, `viewer`).
        </ResponseField>

        <ResponseField name="joined_at" type="string" format="date-time">
          The timestamp when the member joined the workspace.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Response theme={null}
  {
    "response": {
      "id": "org123",
      "name": "updatedworkspace",
      "description": "Updated description",
      "tags": ["newtag", "updated"],
      "owner_id": "993591427428790342",
      "created_at": "2026-03-14T19:58:00Z",
      "updated_at": "2026-03-14T20:00:00Z",
      "members": [
        {
          "user_id": "993591427428790342",
          "role": "owner",
          "joined_at": "2026-03-14T19:58:00Z"
        }
      ]
    }
  }
  ```
</ResponseExample>

### Error Responses

<ResponseField name="code" type="string">
  The error code indicating the reason for failure. Possible values:

  * `UNAUTHORIZED`: The user is not authenticated.
  * `NAME_MUST_BE_A_STRING`: The provided name is not a string.
  * `DESCRIPTION_MUST_BE_A_STRING`: The provided description is not a string.
  * `TAGS_MUST_BE_AN_ARRAY`: The provided tags are not an array of strings.
  * `NAME_TOO_LONG`: The provided name exceeds 50 characters.
  * `DESCRIPTION_TOO_LONG`: The provided description exceeds 200 characters.
  * `TAG_TOO_LONG`: One or more tags exceed 20 characters.
  * `ORGANIZATION_NAME_ALREADY_EXISTS`: An workspace with the provided name already exists.
</ResponseField>

<ResponseField name="message" type="string">
  A descriptive message providing additional details about the error.
</ResponseField>

<ResponseExample>
  ```json Error Response (403) theme={null}
  {
    "code": "UNAUTHORIZED"
  }
  ```

  ```json Error Response (400) theme={null}
  {
    "code": "NAME_TOO_LONG"
  }
  ```

  ```json Error Response (400) theme={null}
  {
    "code": "ORGANIZATION_NAME_ALREADY_EXISTS"
  }
  ```
</ResponseExample>
