Create a new post in a community
Input
Encoding
application/jsoncommunity
stringat-identifier
Required
DID or handle of the community to post in
content
string
Optional
Post content - supports rich text via facets
maxLength: 100000 bytesmaxGraphemes: 10000 graphemesembed
union
Optional
Embedded media, external links, or quoted posts
facets
array
Optional
Annotations for rich text (mentions, links, formatting, block structure)
maxLength: 200 itemslabels
refcom.atproto.label.defs#selfLabels
Optional
Self-applied content labels (NSFW, spoilers, etc.)
langs
array
Optional
Languages used in the post content (ISO 639-1)
maxLength: 3 itemstags
array
Optional
User-applied topic tags
maxLength: 8 itemstitle
string
Optional
Post title (optional for media-only posts)
maxLength: 3000 bytesmaxGraphemes: 300 graphemesOutput
Encoding
application/jsoncid
stringcid
Required
CID of the created post
uri
stringat-uri
Required
AT-URI of the created post
Errors
CommunityNotFound
Community not found NotAuthorized
User is not authorized to post in this community Banned
User is banned from this community InvalidContent
Post content violates community rules ContentRuleViolation
Post violates community content rules (e.g., embeds not allowed, text too short) Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"community"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
},
"maxLength": 8,
"description": "User-applied topic tags"
},
"embed": {
"refs": [
"social.coves.embed.images",
"social.coves.embed.video",
"social.coves.embed.external",
"social.coves.embed.post"
],
"type": "union",
"description": "Embedded media, external links, or quoted posts"
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "Languages used in the post content (ISO 639-1)"
},
"title": {
"type": "string",
"maxLength": 3000,
"description": "Post title (optional for media-only posts)",
"maxGraphemes": 300
},
"facets": {
"type": "array",
"items": {
"ref": "social.coves.richtext.facet",
"type": "ref"
},
"maxLength": 200,
"description": "Annotations for rich text (mentions, links, formatting, block structure)"
},
"labels": {
"ref": "com.atproto.label.defs#selfLabels",
"type": "ref",
"description": "Self-applied content labels (NSFW, spoilers, etc.)"
},
"content": {
"type": "string",
"maxLength": 100000,
"description": "Post content - supports rich text via facets",
"maxGraphemes": 10000
},
"community": {
"type": "string",
"format": "at-identifier",
"description": "DID or handle of the community to post in"
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "CommunityNotFound",
"description": "Community not found"
},
{
"name": "NotAuthorized",
"description": "User is not authorized to post in this community"
},
{
"name": "Banned",
"description": "User is banned from this community"
},
{
"name": "InvalidContent",
"description": "Post content violates community rules"
},
{
"name": "ContentRuleViolation",
"description": "Post violates community content rules (e.g., embeds not allowed, text too short)"
}
],
"output": {
"schema": {
"type": "object",
"required": [
"uri",
"cid"
],
"properties": {
"cid": {
"type": "string",
"format": "cid",
"description": "CID of the created post"
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the created post"
}
}
},
"encoding": "application/json"
},
"description": "Create a new post in a community"
}