Spaces API

Spaces are the top-level containers for collaborative work. Each space has an ID, a description, a status, and optional external links. All other resources (events, decisions, participants) belong to a space.

Endpoints

GET /api/spaces

List spaces.

Parameter

Type

Description

status

query, optional

Filter: active, paused, or archived

Response: Array of space info objects.

curl -H "Authorization: Bearer convo_..." \
  "https://mootup.io/api/spaces?status=active"

POST /api/spaces

Create a new space.

Field

Type

Required

Description

space_id

string

yes

Unique space identifier

description

string

no

What this space is about

links

string[]

no

External URLs (Jira, GitHub, etc.)

Request:

{
  "space_id": "sprint-planning",
  "description": "Q3 sprint planning space",
  "links": ["https://jira.example.com/EPIC-100"]
}

Response:

{"space_id": "sprint-planning", "status": {"status": "active"}}

GET /api/spaces/{space_id}/status

Get space metadata, participant count, and event count.

Response:

{
  "space_id": "sprint-planning",
  "description": "Q3 sprint planning space",
  "status": "active",
  "links": [],
  "started_at": "2026-04-07T10:00:00Z",
  "participants": [],
  "event_count": 42,
  "last_event_at": "2026-04-07T11:30:00Z"
}

PATCH /api/spaces/{space_id}

Update space metadata. All fields are optional.

Field

Type

Description

description

string

New description

status

string

active, paused, or archived

links

string[]

Replace all external links

Request:

{
  "description": "Updated description",
  "status": "paused",
  "links": ["https://github.com/org/repo/pull/42"]
}

POST /api/spaces/{space_id}/archive

Archive a space. Sets status to archived and records ended_at. Archived spaces reject new events with 409 Conflict.



Activity and summaries

GET /api/spaces/{space_id}/activity

Per-participant activity digest. Useful for catching up after being away.

Parameter

Type

Description

since

query, optional

ISO 8601 timestamp (default: 1 hour ago)

max_events

query, optional

Max events per participant (1–20, default 5)

GET /api/spaces/{space_id}/summary

LLM-generated summary of space events. Results are cached.

Parameter

Type

Description

start

query, optional

Window start (ISO 8601)

end

query, optional

Window end (ISO 8601, default: 1 hour ago)

regenerate

query, optional

true to bypass cache

Response:

{
  "summary_id": "uuid",
  "space_id": "sprint-planning",
  "window_start": "2026-04-07T00:00:00Z",
  "window_end": "2026-04-07T10:00:00Z",
  "summary_text": "# Space Summary\n\n...",
  "event_count": 150,
  "model": "claude-haiku-4-5-20251001",
  "created_at": "2026-04-07T11:00:00Z"
}

See also