fyi.opensocial.profile

lexicons.opensocial.fyi

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "invite": {
      "description": "Only holders of an outstanding invite may join.",
      "type": "token"
    },
    "main": {
      "description": "The group's profile. Written by the group authority into the about space.",
      "key": "literal:self",
      "record": {
        "properties": {
          "avatar": {
            "accept": [
              "image/png",
              "image/jpeg"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "banner": {
            "accept": [
              "image/png",
              "image/jpeg"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          },
          "displayName": {
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "joinPolicy": {
            "description": "How new members get in: anyone may join, requests are reviewed, or invite only.",
            "knownValues": [
              "fyi.opensocial.profile#open",
              "fyi.opensocial.profile#request",
              "fyi.opensocial.profile#invite"
            ],
            "type": "string"
          },
          "url": {
            "description": "The group's own site, if it keeps one. A third-party app that shows the group can link back to it.",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "displayName",
          "joinPolicy",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "open": {
      "description": "Anyone may join by calling requestJoin; admitted immediately.",
      "type": "token"
    },
    "request": {
      "description": "requestJoin creates a pending request that a member with the admit action reviews.",
      "type": "token"
    }
  },
  "id": "fyi.opensocial.profile",
  "lexicon": 1
}

Validate Record

Validate a record against fyi.opensocial.profile

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2gqnilpksz2e7faj3bwvo6qc
CID
bafyreidhzgkwajmr26pz7examhalrhlp2d5nekhvl2nqaz36m5ps2evjuu
Indexed At
2026-09-24 00:10 UTC
AT-URI
at://did:plc:2gqnilpksz2e7faj3bwvo6qc/com.atproto.lexicon.schema/fyi.opensocial.profile

Version History (2 versions)

Similar Lexicons

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

  • A person, as a view names them: their handle from their DID document, their name and face from the Bluesky profile in their own repo.

  • Replace the profile: name, description, join policy. Requires group.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors create…

  • The group's public face. Profile, rules, how to get in. Often readable by anyone, though may be private to members.

  • An invitation, written by the inviting group into the invitee's own invites space.

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

Lexicon Garden

@