> ## 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.

# Create Workspace

> Creates a new workspace.

<ParamField body="name" type="string" required>
  The name of the workspace (case-insensitive, max 50 characters).
</ParamField>

<ParamField body="description" type="string">
  A description of the workspace. Defaults to "I have a description :)".
</ParamField>

<ParamField body="tags" type="array">
  An array of tags for the workspace. Defaults to \["discord", "programming", "software", "technology"].
</ParamField>

### Response

<ResponseField name="response" type="object">
  The details of the created 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`).
        </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": "myworkspace",
      "description": "I have a description :)",
      "tags": ["discord", "programming", "software", "technology"],
      "owner_id": "993591427428790342",
      "members": [
        {
          "user_id": "993591427428790342",
          "role": "owner",
          "joined_at": "2026-03-14T19:58:00Z"
        }
      ],
      "created_at": "2026-03-14T19:58:00Z",
      "updated_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.
  * `PLAN_RESTRICTED_FEATURE`: The user's plan does not allow creating workspaces.
  * `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 (403) theme={null}
  {
    "code": "PLAN_RESTRICTED_FEATURE"
  }
  ```

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