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
at atb-53-theme-resolution 68 lines 1.7 kB view raw
1meta { 2 name: Get Mod Action Log 3 type: http 4 seq: 16 5} 6 7get { 8 url: {{appview_url}}/api/admin/modlog 9} 10 11params:query { 12 limit: 50 13 offset: 0 14} 15 16assert { 17 res.status: eq 200 18 res.body.actions: isArray 19 res.body.total: isDefined 20 res.body.limit: isDefined 21 res.body.offset: isDefined 22} 23 24docs { 25 Paginated, reverse-chronological list of moderation actions with human-readable 26 handles for both the moderator and the subject. 27 28 **Requires any one of:** 29 - `space.atbb.permission.moderatePosts` 30 - `space.atbb.permission.banUsers` 31 - `space.atbb.permission.lockTopics` 32 33 Query params: 34 - limit: Max results per page (default: 50, max: 100) 35 - offset: Number of records to skip for pagination (default: 0) 36 37 Returns: 38 { 39 "actions": [ 40 { 41 "id": "123", 42 "action": "space.atbb.modAction.ban", 43 "moderatorDid": "did:plc:abc", 44 "moderatorHandle": "alice.bsky.social", 45 "subjectDid": "did:plc:xyz", 46 "subjectHandle": "bob.bsky.social", 47 "subjectPostUri": null, 48 "reason": "Spam", 49 "createdAt": "2026-02-26T12:01:00Z" 50 } 51 ], 52 "total": 42, 53 "offset": 0, 54 "limit": 50 55 } 56 57 Error codes: 58 - 400: Invalid limit or offset (non-numeric or negative) 59 - 401: Not authenticated 60 - 403: Insufficient permissions (none of the three mod permissions) 61 62 Notes: 63 - Actions are returned in descending createdAt order (newest first) 64 - id is serialized as a string (BigInt) 65 - moderatorHandle falls back to moderatorDid when the moderator's handle is not indexed 66 - subjectHandle is null for post-targeting actions (subjectDid is null) 67 - subjectPostUri is null for user-targeting actions 68}