---
title: "Workspaces of the selected organization the caller may open"
method: GET
path: "/workspaces"
tags: ["Workspaces"]
---

# Workspaces of the selected organization the caller may open

`GET /workspaces`

Tenant admins see every workspace. Every other member sees the default "All data" (open to
every member with their organization role, grant or no grant) and the workspaces they hold
a grant on. Answers 404 NOT_FOUND while workspaces are disabled. The workspace header is
ignored by every /workspaces route.

## Query parameters

- `includeArchived` boolean

## Response `200`

Workspaces

- WorkspaceListResponse
  - `data` object, required
    - `items` Workspace[], required
      - `archivedAt` string, date-time, nullable, required
      - `createdAt` string, date-time, required
      - `createdBy` string, required
      - `id` string, required — ws_ + 32 hex; default for the default while it is virtual
      - `isDefault` boolean, required
      - `kind` 'default' | 'view' | 'department', required
      - `name` string, required
      - `netZero` 'on' | 'off', required — Net Zero is on in this workspace; always on in the default
      - `netZeroEligible` boolean, required — Net Zero may be turned on: the default, or a scope of whole entities with no categories or scopes
      - `role` 'viewer' | 'editor' | 'admin' | 'auditor' — the caller's effective role in it: the grant narrowed by the organization role
      - `scope` WorkspaceScope, required — Every property left out is unrestricted; {} is all data. A present list is never empty.
        - `categories` string[]
        - `entityIds` string[]
        - `periodFrom` string, date
        - `periodTo` string, date
        - `scopes` integer[]
        - `siteIds` string[]
      - `updatedAt` string, date-time, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

## Changes

- **2026-10-03** `4189686230ca` — 1 breaking, 2 info
  - removed the required property `data/items/items/netZeroWritable` from the response with the `200` status
  - added the required property `data/items/items/netZero` to the response with the `200` status
  - added the required property `data/items/items/netZeroEligible` to the response with the `200` status
- **2026-10-02** `766c2a40e369` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/greentally/apis/esgai-api/changes/workspaces/get.md)

---

[API](https://skmtc.dev/greentally/apis/esgai-api.md) · [All operations](https://skmtc.dev/greentally/apis/esgai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/greentally/apis/esgai-api/revisions/4189686230ca?raw)
