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: Get Board Topics
3 type: http
4 seq: 2
5}
6
7get {
8 url: {{appview_url}}/api/boards/1/topics
9}
10
11params:query {
12 ~offset: 0
13 ~limit: 25
14}
15
16assert {
17 res.status: eq 200
18 res.body.topics: isDefined
19 res.body.topics[0].replyCount: isDefined
20 res.body.topics[0].lastReplyAt: isDefined
21}
22
23docs {
24 Returns topics (posts with NULL root) for a specific board, sorted by creation time descending.
25
26 Path parameters:
27 - id: Board ID (numeric)
28
29 Query parameters:
30 - offset: Number of topics to skip (optional, default 0)
31 - limit: Maximum number of topics to return (optional, default 25, max 100)
32
33 Returns:
34 {
35 "topics": [
36 {
37 "id": "123",
38 "did": "did:plc:...",
39 "rkey": "3lbk7...",
40 "title": "Topic title",
41 "text": "Topic text",
42 "forumUri": "at://did:plc:.../space.atbb.forum.forum/self",
43 "boardUri": "at://did:plc:.../space.atbb.forum.board/...",
44 "boardId": "456",
45 "parentPostId": null,
46 "createdAt": "2026-02-13T00:00:00.000Z",
47 "author": { "did": "...", "handle": "..." } | null,
48 "replyCount": 3,
49 "lastReplyAt": "2026-02-14T10:30:00.000Z" | null
50 }
51 ],
52 "total": 42,
53 "offset": 0,
54 "limit": 25
55 }
56
57 Error codes:
58 - 400: Invalid board ID format
59 - 404: Board not found
60 - 500: Server error
61}