atproto blogging
1{
2 "lexicon": 1,
3 "id": "app.bsky.feed.post",
4 "defs": {
5 "entity": {
6 "type": "object",
7 "description": "Deprecated: use facets instead.",
8 "required": [
9 "index",
10 "type",
11 "value"
12 ],
13 "properties": {
14 "index": {
15 "type": "ref",
16 "ref": "#textSlice"
17 },
18 "type": {
19 "type": "string",
20 "description": "Expected values are 'mention' and 'link'."
21 },
22 "value": {
23 "type": "string"
24 }
25 }
26 },
27 "main": {
28 "type": "record",
29 "description": "Record containing a Bluesky post.",
30 "key": "tid",
31 "record": {
32 "type": "object",
33 "required": [
34 "text",
35 "createdAt"
36 ],
37 "properties": {
38 "createdAt": {
39 "type": "string",
40 "description": "Client-declared timestamp when this post was originally created.",
41 "format": "datetime"
42 },
43 "embed": {
44 "type": "union",
45 "refs": [
46 "app.bsky.embed.images",
47 "app.bsky.embed.video",
48 "app.bsky.embed.external",
49 "app.bsky.embed.record",
50 "app.bsky.embed.recordWithMedia"
51 ]
52 },
53 "entities": {
54 "type": "array",
55 "description": "DEPRECATED: replaced by app.bsky.richtext.facet.",
56 "items": {
57 "type": "ref",
58 "ref": "#entity"
59 }
60 },
61 "facets": {
62 "type": "array",
63 "description": "Annotations of text (mentions, URLs, hashtags, etc)",
64 "items": {
65 "type": "ref",
66 "ref": "app.bsky.richtext.facet"
67 }
68 },
69 "labels": {
70 "type": "union",
71 "description": "Self-label values for this post. Effectively content warnings.",
72 "refs": [
73 "com.atproto.label.defs#selfLabels"
74 ]
75 },
76 "langs": {
77 "type": "array",
78 "description": "Indicates human language of post primary text content.",
79 "items": {
80 "type": "string",
81 "format": "language"
82 },
83 "maxLength": 3
84 },
85 "reply": {
86 "type": "ref",
87 "ref": "#replyRef"
88 },
89 "tags": {
90 "type": "array",
91 "description": "Additional hashtags, in addition to any included in post text and facets.",
92 "items": {
93 "type": "string",
94 "maxLength": 640,
95 "maxGraphemes": 64
96 },
97 "maxLength": 8
98 },
99 "text": {
100 "type": "string",
101 "description": "The primary post content. May be an empty string, if there are embeds.",
102 "maxLength": 3000,
103 "maxGraphemes": 300
104 }
105 }
106 }
107 },
108 "replyRef": {
109 "type": "object",
110 "required": [
111 "root",
112 "parent"
113 ],
114 "properties": {
115 "parent": {
116 "type": "ref",
117 "ref": "com.atproto.repo.strongRef"
118 },
119 "root": {
120 "type": "ref",
121 "ref": "com.atproto.repo.strongRef"
122 }
123 }
124 },
125 "textSlice": {
126 "type": "object",
127 "description": "Deprecated. Use app.bsky.richtext instead -- A text segment. Start is inclusive, end is exclusive. Indices are for utf16-encoded strings.",
128 "required": [
129 "start",
130 "end"
131 ],
132 "properties": {
133 "end": {
134 "type": "integer",
135 "minimum": 0
136 },
137 "start": {
138 "type": "integer",
139 "minimum": 0
140 }
141 }
142 }
143 }
144}