social.coves.community.post.getStatus
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Get one community's admission decision about one post. Intentionally UNAUTHENTICATED: the caller with the strongest need is an author on another server whose post is pending on this host, and they have no account here to authenticate with. It is also the only way a rejection is reachable at all - a submission refused before it was ever accepted writes no community record, so there is no repository record and no firehose event carrying it, and without this endpoint an author whose post vanished could never learn that it was refused or why. The accepted cost is that anyone who can name a post AT-URI learns its status in a community. Both parameters are required: a post carries independent decisions from several communities, so there is no single status of a post.",
"errors": [
{
"description": "A missing or malformed post or community parameter",
"name": "InvalidRequest"
},
{
"description": "This community has no decision about this post",
"name": "NotFound"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"acceptanceUri": {
"description": "AT-URI of the live community acceptance record, so the caller can read the signed attestation rather than trusting this AppView's summary of it. Present only while an acceptance stands.",
"format": "at-uri",
"type": "string"
},
"decisionAt": {
"description": "When the refusal above was decided",
"format": "datetime",
"type": "string"
},
"decisionCode": {
"description": "Why the post was refused. Present only for rejected and removed. The vocabulary is open and spans both the codes a community publishes in a removal record and the admission-time codes that never reach a repository.",
"type": "string"
},
"status": {
"description": "The community's decision state. Reported verbatim rather than collapsed: an author who edited an accepted post needs pending_reacceptance to be distinguishable from a post that was never accepted, because the two have completely different next steps.",
"knownValues": [
"pending",
"accepted",
"pending_reacceptance",
"rejected",
"removed"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}
},
"parameters": {
"properties": {
"community": {
"description": "DID of the community whose decision is being asked about",
"format": "did",
"type": "string"
},
"post": {
"description": "AT-URI of the post, in the author's repository",
"format": "at-uri",
"type": "string"
}
},
"required": [
"post",
"community"
],
"type": "params"
},
"type": "query"
}
},
"id": "social.coves.community.post.getStatus",
"lexicon": 1
}
Metadata
- DID
-
did:web:coves.social - CID
-
bafyreign3mubyp3ce3mqmbads7nswne3njzkubi7mm5tr47mx6blgcilfy - Indexed At
- 2026-09-07 20:28 UTC
- AT-URI
-
at://did:web:coves.social/com.atproto.lexicon.schema/social.coves.community.post.getStatus
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Whether the AppView accepted records the caller wrote to their own repository. Community records are projected from the firehose, not written through this service, so a record that violates a rule this service enforces …
-
app.didpic.admin.getPost query
Get a post or comment's moderation state and labels.
-
Minimal author info for blocked posts
-
A community's attestation that it accepts a post. Written only by the community's key holder, automatically once admission checks pass - machine attestation, not human approval. The community is implicit in the reposito…