{
"lexicon": 1,
"id": "com.atproto.moderation.createReport",
"defs": {
"main": {
"type": "procedure",
"description": "Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth.",
"input": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": ["reasonType", "subject"],
"properties": {
"reasonType": {
"type": "ref",
"description": "Indicates the broad category of violation the report is for.",
"ref": "com.atproto.moderation.defs#reasonType"
},
"reason": {
"type": "string",
"maxGraphemes": 2000,
"maxLength": 20000,
"description": "Additional context about the content and violation."
},
"subject": {
"type": "union",
"refs": [
"com.atproto.admin.defs#repoRef",
"com.atproto.repo.strongRef"
]
},
"modTool": {
"type": "ref",
"ref": "#modTool"
}
}
}
},
"output": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": [
"id",
"reasonType",
"subject",
"reportedBy",
"createdAt"
],
"properties": {
"id": { "type": "integer" },
"reasonType": {
"type": "ref",
"ref": "com.atproto.moderation.defs#reasonType"
},
"reason": {
"type": "string",
"maxGraphemes": 2000,
"maxLength": 20000
},
"subject": {
"type": "union",
"refs": [
"com.atproto.admin.defs#repoRef",
"com.atproto.repo.strongRef"
]
},
"reportedBy": { "type": "string", "format": "did" },
"createdAt": { "type": "string", "format": "datetime" }
}
}
}
},
"modTool": {
"type": "object",
"description": "Moderation tool information for tracing the source of the action",
"required": ["name"],
"properties": {
"name": {
"type": "string",
"description": "Name/identifier of the source (e.g., 'bsky-app/android', 'bsky-web/chrome')"
},
"meta": {
"type": "unknown",
"description": "Additional arbitrary metadata about the source"
}
}
}
}
}