atproto blogging
1{
2 "lexicon": 1,
3 "id": "com.atproto.moderation.createReport",
4 "defs": {
5 "main": {
6 "type": "procedure",
7 "description": "Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth.",
8 "input": {
9 "encoding": "application/json",
10 "schema": {
11 "type": "object",
12 "required": [
13 "reasonType",
14 "subject"
15 ],
16 "properties": {
17 "modTool": {
18 "type": "ref",
19 "ref": "#modTool"
20 },
21 "reason": {
22 "type": "string",
23 "description": "Additional context about the content and violation.",
24 "maxLength": 20000,
25 "maxGraphemes": 2000
26 },
27 "reasonType": {
28 "type": "ref",
29 "description": "Indicates the broad category of violation the report is for.",
30 "ref": "com.atproto.moderation.defs#reasonType"
31 },
32 "subject": {
33 "type": "union",
34 "refs": [
35 "com.atproto.admin.defs#repoRef",
36 "com.atproto.repo.strongRef"
37 ]
38 }
39 }
40 }
41 },
42 "output": {
43 "encoding": "application/json",
44 "schema": {
45 "type": "object",
46 "required": [
47 "id",
48 "reasonType",
49 "subject",
50 "reportedBy",
51 "createdAt"
52 ],
53 "properties": {
54 "createdAt": {
55 "type": "string",
56 "format": "datetime"
57 },
58 "id": {
59 "type": "integer"
60 },
61 "reason": {
62 "type": "string",
63 "maxLength": 20000,
64 "maxGraphemes": 2000
65 },
66 "reasonType": {
67 "type": "ref",
68 "ref": "com.atproto.moderation.defs#reasonType"
69 },
70 "reportedBy": {
71 "type": "string",
72 "format": "did"
73 },
74 "subject": {
75 "type": "union",
76 "refs": [
77 "com.atproto.admin.defs#repoRef",
78 "com.atproto.repo.strongRef"
79 ]
80 }
81 }
82 }
83 }
84 },
85 "modTool": {
86 "type": "object",
87 "description": "Moderation tool information for tracing the source of the action",
88 "required": [
89 "name"
90 ],
91 "properties": {
92 "meta": {
93 "type": "unknown",
94 "description": "Additional arbitrary metadata about the source"
95 },
96 "name": {
97 "type": "string",
98 "description": "Name/identifier of the source (e.g., 'bsky-app/android', 'bsky-web/chrome')"
99 }
100 }
101 }
102 }
103}