---
title: "List workspaces"
method: GET
path: "/v1/workspaces"
tags: ["workspaces"]
---

# List workspaces

`GET /v1/workspaces`

**Plan:** `All plans`

Returns workspaces the authenticated user belongs to with cursor pagination.

## Query parameters

- `limit` integer — Maximum number of items to return
- `cursor` string — Opaque pagination cursor returned by the previous page

## Response `200`

OK

- V1ListWorkspacesBody
  - `data` PublicV1WorkspaceWithMembership[], nullable, required — Workspaces the user is a member of
    - `created_at` string, date-time — When the workspace was created.
    - `description` string — Workspace description.
    - `id` string, required — Workspace ID.
    - `image_url` string — Workspace image URL.
    - `membership` PublicV1WorkspaceMember
      - `joined_at` string, date-time — When the caller joined the workspace.
      - `role` string, required — Caller's role in the workspace. One of: owner, admin, member, viewer, collaborator. More values may be added; clients must tolerate unknown values.
      - `user_id` string, required — Caller's user ID.
    - `name` string, required — Workspace display name.
    - `num_projects` integer, required — Number of projects in the workspace.
    - `plan` string, required — Plan tier. One of: free, pro, business, enterprise. More values may be added; clients must tolerate unknown values.
    - `updated_at` string, date-time — When the workspace was last updated.
  - `pagination` Pagination, required
    - `has_more` boolean, required — Whether more results are available beyond this page
    - `next_cursor` string, nullable, required — Cursor for the next page; null when there are no more results

## Other responses

- `401` — Missing or invalid API key.
- `403` — The key or caller lacks the required scope or permission.
- `406` — The Accept header excludes every media type this endpoint produces.
- `429` — Too many requests. Retry after the interval in Retry-After when present.
- `default` — Error. The response body uses the standard error envelope; status matches the HTTP status code and type is a machine-readable error code.

---

[API](https://skmtc.net/lovable/apis/lovable-api.md) · [All operations](https://skmtc.net/lovable/apis/lovable-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lovable/lovable-api/revisions/aa8d44585147/schema)
