---
title: "List My Workspaces"
method: GET
path: "/api/workspaces"
tags: ["workspaces"]
---

# List My Workspaces

`GET /api/workspaces`

Return every workspace the current user can access.

Unions two sets:
  - workspaces where the user has a `workspace_members` row (role
    comes from that row)
  - workspaces where `workspaces.managed_by_user_id` matches the
    user but they have no membership (role = 'manager')

A user who is both a member AND the external manager is reported
with their concrete membership role (not the virtual manager one)
since their explicit role is the more specific signal.

## Response `200`

Successful Response

- WorkspaceRead[]
  - `id` string, uuid, required
  - `name` string, required
  - `kind` string, required
  - `is_archived` boolean, required
  - `default_currency` string, required
  - `locale` string, nullable
  - `icon` string, nullable
  - `color` string, nullable
  - `created_at` string, date-time, required
  - `created_by_user_id` string, uuid, nullable
  - `managed_by_user_id` string, uuid, nullable
  - `role` string, nullable

---

[API](https://skmtc.dev/usesecuro/apis/securo.md) · [All operations](https://skmtc.dev/usesecuro/apis/securo/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usesecuro/securo/revisions/1df3dfa0c028/schema)
