WIP! A BB-style forum, on the ATmosphere!
We're still working... we'll be back soon when we have something to show off!
node
typescript
hono
htmx
atproto
1meta {
2 name: List Themes
3 type: http
4 seq: 6
5}
6
7get {
8 url: {{appview_url}}/api/admin/themes
9}
10
11assert {
12 res.status: eq 200
13 res.body.themes: isArray
14 res.body.isTruncated: isDefined
15}
16
17docs {
18 List all themes for the forum, regardless of whether they appear in the active theme policy.
19 Admins need to see all themes, including drafts not yet published to the policy.
20
21 **Requires:** `space.atbb.permission.manageThemes` permission
22
23 Returns (200):
24 {
25 "themes": [
26 {
27 "id": "1",
28 "uri": "at://did:plc:.../space.atbb.forum.theme/abc123",
29 "name": "Neobrutal Light",
30 "colorScheme": "light",
31 "tokens": { "color-bg": "#f5f0e8" },
32 "cssOverrides": null,
33 "fontUrls": null,
34 "createdAt": "2026-01-01T00:00:00.000Z",
35 "indexedAt": "2026-01-01T00:00:00.000Z"
36 },
37 ...
38 ],
39 "isTruncated": false
40 }
41
42 Error codes:
43 - 401: Not authenticated
44 - 403: Missing manageThemes permission
45 - 500: Database error
46
47 Notes:
48 - Returns at most 100 themes. If isTruncated is true, more themes exist beyond this page.
49 - Results are not policy-filtered — all forum themes are returned.
50}