fyi.opensocial.defs

lexicons.opensocial.fyi

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "communityRule": {
      "properties": {
        "rkey": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "required": [
        "rkey",
        "title"
      ],
      "type": "object"
    },
    "communityView": {
      "properties": {
        "about": {
          "format": "space-ref",
          "type": "string"
        },
        "avatar": {
          "description": "CID of the avatar blob; the host serves it at /img/{did}/avatar.",
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "handle": {
          "format": "handle",
          "type": "string"
        },
        "joinPolicy": {
          "description": "How new members get in, as the profile states it.",
          "type": "string"
        },
        "members": {
          "format": "space-ref",
          "type": "string"
        },
        "rules": {
          "items": {
            "ref": "#communityRule",
            "type": "ref"
          },
          "type": "array"
        },
        "url": {
          "description": "The community's own site, if it keeps one.",
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "did",
        "handle",
        "about",
        "members"
      ],
      "type": "object"
    },
    "eventView": {
      "properties": {
        "actor": {
          "format": "did",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "note": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        },
        "reasonType": {
          "type": "string"
        },
        "type": {
          "knownValues": [
            "report",
            "label",
            "negate",
            "resolve",
            "escalate",
            "note",
            "eject"
          ],
          "type": "string"
        },
        "val": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "createdAt"
      ],
      "type": "object"
    },
    "inviteView": {
      "properties": {
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "expiresAt": {
          "format": "datetime",
          "type": "string"
        },
        "invitee": {
          "format": "did",
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "invitee",
        "createdAt"
      ],
      "type": "object"
    },
    "joinRequestView": {
      "properties": {
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "invite": {
          "format": "at-uri",
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      },
      "required": [
        "did",
        "createdAt"
      ],
      "type": "object"
    },
    "subjectView": {
      "properties": {
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "lastReportedAt": {
          "format": "datetime",
          "type": "string"
        },
        "reportCount": {
          "type": "integer"
        },
        "status": {
          "knownValues": [
            "open",
            "escalated",
            "resolved"
          ],
          "type": "string"
        },
        "subject": {
          "description": "A record's at-uri, or an account's DID.",
          "format": "uri",
          "type": "string"
        },
        "updatedAt": {
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "subject",
        "status",
        "createdAt"
      ],
      "type": "object"
    }
  },
  "id": "fyi.opensocial.defs",
  "lexicon": 1
}

Validate Record

Validate a record against fyi.opensocial.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2gqnilpksz2e7faj3bwvo6qc
CID
bafyreiccgxvofsnuqgaddylvo22hwtouofhad4xp3kwivtidstjxcuifey
Indexed At
2026-09-23 23:24 UTC
AT-URI
at://did:plc:2gqnilpksz2e7faj3bwvo6qc/com.atproto.lexicon.schema/fyi.opensocial.defs

Version History (4 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • The group's profile. Written by the group authority into the meta space.

  • Get a detailed view of a group: its profile and rules, and — for a viewer who may read the members space — its roster, roles, spaces and their read gates, plus the join queue for a viewer holding `admit`. Does not r…

  • Preview for a disabled join link. Carries only the code so clients can correlate with the input and render a disabled state.

  • social.colibri.community.defs not from the namespace authority

    A pending or dismissed membership application.

  • A pending request to join a community that requires approval.

Lexicon Garden

@