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

# List workspaces

> List every workspace you own or belong to with GET /v2/workspaces, each with its members, roles and shared applications. Empty when you have none.

<ParamField header="Authorization" type="string" placeholder="API Key" required>
  The API key for your account. You can find this in your [account settings](https://squarecloud.app/en/account/security).
</ParamField>

Requires an API key with the `workspaces:manage` [scope](/en/api-reference/authentication#scopes).

Returns every workspace where the authenticated user is either the owner or a member, each hydrated with its member list (names and roles) and its shared applications (name, RAM, language, domain). This is the entry point for building a workspace switcher or dashboard, since it avoids one [Get Workspace](/en/api-reference/endpoint/workspace/get) call per workspace.

The response is an empty array for a user with no workspaces, whether that's because they're on a plan without workspace access or simply haven't created or joined one. To create the first one, see [Create Workspace](/en/api-reference/endpoint/workspace/create).

## Response

<ResponseField name="status" type="string">
  Indicates whether the call was successful: `success` if it was, `error` if not.
</ResponseField>

<ResponseField name="response" type="object">
  The contents of the response.

  <Expandable title="Toggle object">
    <ResponseField name="id" type="string">
      The ID of the workspace: 32 hexadecimal characters (a UUID v4 without hyphens). Older workspaces have a 40-character hexadecimal ID.
    </ResponseField>

    <ResponseField name="owner" type="string">
      The Workspace owner id.
    </ResponseField>

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

    <ResponseField name="members" type="object">
      The workspace member list. It always includes the owner, with `group: "owner"`.

      <Expandable title="Toggle object">
        <ResponseField name="id" type="string">
          The user's ID.
        </ResponseField>

        <ResponseField name="name" type="string">
          The user's name. Can be `null`, for example when the account was deleted.
        </ResponseField>

        <ResponseField name="group" type="string">
          The member permissions on the workspace applications.
        </ResponseField>

        <ResponseField name="joinedAt" type="string">
          The join timestamp in UTC-0.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="applications" type="object">
      The workspace applications list.

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

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

        <ResponseField name="ram" type="number">
          The RAM usage of the uploaded application in MB.
        </ResponseField>

        <ResponseField name="language" type="object">
          The programming language of the uploaded application.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      The creation timestamp in UTC-0.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json theme={"system"}
  {
      "status": "success",
      "response": [
          {
              "id": "3f9c2a7e5b1d4e8a9c6f0b2d4e6a8c1f",
              "name": "Test",
              "owner": "5354d9742d889d49b20134ba0be09ccc0033be68",
              "members": [
              {
                  "name": "Example",
                  "id": "5354d9742d889d49b20134ba0be09ccc0033be68",
                  "group": "owner",
                  "joinedAt": "2025-06-04T20:44:55.934Z"
              }
              ],
              "applications": [],
              "createdAt": "2025-06-04T20:44:55.934Z"
          }
      ]
  }
  ```
</ResponseExample>

## Common errors

| Code | HTTP | Meaning |
| - | - | - |
| `DATABASE_UNAVAILABLE` | 503 | The service is briefly unavailable. Retry in a few seconds. |

## Related

* CLI: [`squarecloud workspace list`](/en/cli-reference/workspaces#squarecloud-workspace-list)
* SDKs: [`api.workspaces.list()`](/en/sdks/js/workspaces) (JavaScript), [`client.workspaces.list()`](/en/sdks/py/workspaces) (Python), [`c.Workspaces.List()`](/en/sdks/go/workspaces) (Go)


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