---
title: "List spaces"
method: GET
path: "/spaces"
---

# List spaces

`GET /spaces`

Returns Ghost spaces accessible to the authenticated user.
For user JWTs, returns all Ghost spaces the user is a member of.
For API keys, returns the single space the key is scoped to.

## Response `200`

List of spaces

- Space[]
  - `id` string, required — Space ID.
  - `name` string, required — Space name.
  - `role` 'owner' | 'admin' | 'developer' | 'viewer' — A member's role within a space. The `owner` role belongs to the user who created the space; every space has exactly one owner, so `owner` is never accepted as an input when granting a role. On the `Space` schema, this is the caller's own role in the space, omitted for API-key authentication (API keys are space-scoped and carry no member identity).

## Other responses

- `default` — Error response

## Changes

- **2026-08-11** `42816b90d8d6` — 1 warning
  - added the new `signups_disabled` enum value to the `code` response property for the response status `default`
- **2026-06-23** `d0e78bae6ce1` — 1 warning
  - added the new `compute_limit_exceeded` enum value to the `code` response property for the response status `default`
- **2026-06-22** `bdf92f48aec1` — 1 info
  - added the optional property `code` to the response with the `default` status
- **2026-06-15** `be627b9fb511` — 1 info
  - added the optional property `items/role` to the response with the `200` status
- **2026-04-17** `a7becb6668ec` — 2 warning
  - removed the optional property `code` from the response with the `default` status
  - removed the optional property `items/role` from the response with the `200` status

[Change history](https://skmtc.dev/timescale/apis/ghost-api/changes/spaces/get.md)

---

[API](https://skmtc.dev/timescale/apis/ghost-api.md) · [All operations](https://skmtc.dev/timescale/apis/ghost-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/timescale/ghost-api/revisions/42816b90d8d6/schema)
