---
title: "Spaces you can access"
method: GET
path: "/api/spaces"
tags: ["spaces"]
---

# Spaces you can access

`GET /api/spaces`

## Request

- Base URL: `https://telawiki.com`
- URL: `https://telawiki.com/api/spaces`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `tela_session`

Resolved through direct membership and organization or group grants alike.

## Response `200`

Accessible spaces.

- object
  - `spaces` SpaceListItem[], required
    - `id` integer, required
    - `name` string, required
    - `slug` string, required
    - `visibility` 'private' | 'public', required: `public` makes the entire space readable with no account, at `/{handle}/{space-slug}`.
    - `description` string, required
    - `created_at` string, required: `YYYY-MM-DD HH:MM:SS` in UTC.
    - `updated_at` string, required: `YYYY-MM-DD HH:MM:SS` in UTC.
    - `my_role` 'owner' | 'editor' | 'viewer': Your effective role. Set on single-space responses, absent from listings.
    - `public_path` string: Server-computed `/{handle}/{space-slug}`. Present only for a public space — never derive it client-side.
    - `member_count` integer, required
    - `is_personal` boolean, required
    - `principals` object[], required: Organizations and groups the space is shared with.
      - `kind` 'org' | 'group', required
      - `name` string, required
    - `owner_org` object: Present when the space is organization-owned.
      - `id` integer
      - `name` string

## Other responses

- `401`: `unauthorized` — no valid credential. A malformed bearer token never falls back to the session cookie.
- `500`: `internal` — server error.

---

[API](https://skmtc.dev/telawiki/apis/tela-rest-api.md) · [All operations](https://skmtc.dev/telawiki/apis/tela-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/telawiki/apis/tela-rest-api/revisions/f316f31f6fcb?raw)
