social.coves.community.defs

coves.social

{
  "id": "social.coves.community.defs",
  "defs": {
    "viewerState": {
      "type": "object",
      "properties": {
        "banUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the ban record if viewer is banned"
        },
        "banned": {
          "type": "boolean",
          "description": "Whether the viewer is banned from this community"
        },
        "member": {
          "type": "boolean",
          "description": "Whether the viewer has membership status (AppView-computed)"
        },
        "creator": {
          "type": "boolean",
          "description": "Whether the viewer created this community"
        },
        "moderator": {
          "type": "boolean",
          "description": "Whether the viewer is a moderator of this community"
        },
        "reputation": {
          "type": "integer",
          "description": "Viewer's reputation in this community"
        },
        "subscribed": {
          "type": "boolean",
          "description": "Whether the viewer is subscribed to this community"
        },
        "subscriptionUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the viewer's subscription record if subscribed"
        }
      },
      "description": "The viewing user's relationship to this community"
    },
    "communityView": {
      "type": "object",
      "required": [
        "did",
        "name"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "DID of the community"
        },
        "name": {
          "type": "string",
          "maxLength": 63,
          "description": "Short community name"
        },
        "avatar": {
          "type": "string",
          "format": "uri",
          "description": "URL to community avatar image"
        },
        "handle": {
          "type": "string",
          "format": "handle",
          "description": "Current handle resolved from DID"
        },
        "viewer": {
          "type": "object",
          "properties": {
            "member": {
              "type": "boolean",
              "description": "Whether the viewer has membership status"
            },
            "subscribed": {
              "type": "boolean",
              "description": "Whether the viewer is subscribed"
            }
          },
          "description": "Simplified viewer state for list views"
        },
        "postCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Total number of posts in the community"
        },
        "visibility": {
          "type": "string",
          "maxLength": 64,
          "description": "Community visibility level",
          "knownValues": [
            "public",
            "unlisted",
            "private"
          ]
        },
        "displayName": {
          "type": "string",
          "maxLength": 1280,
          "description": "Display name for the community",
          "maxGraphemes": 128
        },
        "memberCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of users with formal membership status"
        },
        "subscriberCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Total number of subscribers"
        }
      },
      "description": "Basic community view with essential information and basic stats"
    },
    "communityStats": {
      "type": "object",
      "properties": {
        "postCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Total number of posts in the community"
        },
        "memberCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of users with formal membership status"
        },
        "commentCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Total number of comments across all posts"
        },
        "moderatorCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of active moderators"
        },
        "activeUserCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of users active in the last 30 days"
        },
        "subscriberCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Total number of subscribers"
        },
        "activePostersCount": {
          "type": "integer",
          "minimum": 0,
          "description": "Number of unique posters in the last 30 days"
        }
      },
      "description": "Aggregated statistics for a community"
    },
    "communityViewDetailed": {
      "type": "object",
      "required": [
        "did",
        "name"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "DID of the community"
        },
        "name": {
          "type": "string",
          "maxLength": 63,
          "description": "Short community name"
        },
        "stats": {
          "ref": "#communityStats",
          "type": "ref",
          "description": "Aggregated community statistics"
        },
        "avatar": {
          "type": "string",
          "format": "uri",
          "description": "URL to community avatar image"
        },
        "banner": {
          "type": "string",
          "format": "uri",
          "description": "URL to community banner image"
        },
        "handle": {
          "type": "string",
          "format": "handle",
          "description": "Current handle resolved from DID"
        },
        "viewer": {
          "ref": "#viewerState",
          "type": "ref",
          "description": "Viewer's relationship to this community"
        },
        "hostedBy": {
          "type": "string",
          "format": "did",
          "description": "DID of the instance hosting this community"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "createdBy": {
          "type": "string",
          "format": "did",
          "description": "DID of the user who created this community"
        },
        "visibility": {
          "type": "string",
          "maxLength": 64,
          "description": "Community visibility level",
          "knownValues": [
            "public",
            "unlisted",
            "private"
          ]
        },
        "description": {
          "type": "string",
          "maxLength": 10000,
          "description": "Community description with rich text support",
          "maxGraphemes": 1000
        },
        "displayName": {
          "type": "string",
          "maxLength": 1280,
          "description": "Display name for the community",
          "maxGraphemes": 128
        },
        "moderationType": {
          "type": "string",
          "maxLength": 64,
          "description": "Type of moderation system",
          "knownValues": [
            "moderator",
            "sortition"
          ]
        },
        "contentWarnings": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 32,
            "knownValues": [
              "nsfw",
              "violence",
              "spoilers"
            ]
          },
          "description": "Required content warnings for this community"
        },
        "createdByProfile": {
          "ref": "social.coves.actor.defs#profileView",
          "type": "ref",
          "description": "Profile of the community creator"
        },
        "descriptionFacets": {
          "type": "array",
          "items": {
            "ref": "social.coves.richtext.facet",
            "type": "ref"
          },
          "description": "Rich text annotations for description"
        }
      },
      "description": "Detailed community view with stats and viewer state"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against social.coves.community.defs

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:web:coves.social
CID
bafyreidycjq7f7zv7hlh7xdri5ucfjbycaexnegounoisctuaa4xchmmsm
Indexed At
2026-07-24 05:18 UTC
AT-URI
at://did:web:coves.social/com.atproto.lexicon.schema/social.coves.community.defs

Referenced Schemas (2)

Lexicon Garden

@