atproto blogging
1{
2 "lexicon": 1,
3 "id": "app.bsky.feed.threadgate",
4 "defs": {
5 "followerRule": {
6 "type": "object",
7 "description": "Allow replies from actors who follow you.",
8 "properties": {}
9 },
10 "followingRule": {
11 "type": "object",
12 "description": "Allow replies from actors you follow.",
13 "properties": {}
14 },
15 "listRule": {
16 "type": "object",
17 "description": "Allow replies from actors on a list.",
18 "required": [
19 "list"
20 ],
21 "properties": {
22 "list": {
23 "type": "string",
24 "format": "at-uri"
25 }
26 }
27 },
28 "main": {
29 "type": "record",
30 "description": "Record defining interaction gating rules for a thread (aka, reply controls). The record key (rkey) of the threadgate record must match the record key of the thread's root post, and that record must be in the same repository.",
31 "key": "tid",
32 "record": {
33 "type": "object",
34 "required": [
35 "post",
36 "createdAt"
37 ],
38 "properties": {
39 "allow": {
40 "type": "array",
41 "description": "List of rules defining who can reply to this post. If value is an empty array, no one can reply. If value is undefined, anyone can reply.",
42 "items": {
43 "type": "union",
44 "refs": [
45 "#mentionRule",
46 "#followerRule",
47 "#followingRule",
48 "#listRule"
49 ]
50 },
51 "maxLength": 5
52 },
53 "createdAt": {
54 "type": "string",
55 "format": "datetime"
56 },
57 "hiddenReplies": {
58 "type": "array",
59 "description": "List of hidden reply URIs.",
60 "items": {
61 "type": "string",
62 "format": "at-uri"
63 },
64 "maxLength": 300
65 },
66 "post": {
67 "type": "string",
68 "description": "Reference (AT-URI) to the post record.",
69 "format": "at-uri"
70 }
71 }
72 }
73 },
74 "mentionRule": {
75 "type": "object",
76 "description": "Allow replies from actors mentioned in your post.",
77 "properties": {}
78 }
79 }
80}