fyi.opensocial.defs
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"actorView": {
"description": "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.",
"properties": {
"avatar": {
"description": "Served renderably by the host, at /img/actor/{did}/{cid}.",
"format": "uri",
"type": "string"
},
"did": {
"format": "did",
"type": "string"
},
"displayName": {
"type": "string"
},
"handle": {
"format": "handle",
"type": "string"
}
},
"required": [
"did"
],
"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"
},
"groupRule": {
"properties": {
"createdAt": {
"format": "datetime",
"type": "string"
},
"rkey": {
"type": "string"
},
"text": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"rkey",
"title"
],
"type": "object"
},
"groupView": {
"properties": {
"avatar": {
"description": "CID of the avatar blob; the host serves it at /img/{did}/avatar.",
"type": "string"
},
"banner": {
"description": "CID of the banner blob; the host serves it at /img/{did}/banner.",
"type": "string"
},
"deactivated": {
"description": "Set while a steward has the group switched off. Its spaces cannot be read until one of the stewards who could switch it off switches it back on.",
"type": "boolean"
},
"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"
},
"meta": {
"format": "space-ref",
"type": "string"
},
"rules": {
"items": {
"ref": "#groupRule",
"type": "ref"
},
"type": "array"
},
"url": {
"description": "The group's own site, if it keeps one.",
"format": "uri",
"type": "string"
}
},
"required": [
"did",
"handle",
"meta",
"members"
],
"type": "object"
},
"groupViewDetailed": {
"description": "A group in full, as the viewer may see it. Profile fields and rules are present only when the viewer may read the meta space.",
"properties": {
"avatar": {
"description": "CID of the avatar blob; the host serves it at /img/{did}/avatar.",
"type": "string"
},
"banner": {
"description": "CID of the banner blob; the host serves it at /img/{did}/banner.",
"type": "string"
},
"deactivated": {
"description": "Set while a steward has the group switched off. Its spaces cannot be read until one of the stewards who could switch it off switches it back on.",
"type": "boolean"
},
"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"
},
"meta": {
"format": "space-ref",
"type": "string"
},
"rules": {
"description": "In the order they are presented. Absent when the meta space is closed to the viewer.",
"items": {
"ref": "#groupRule",
"type": "ref"
},
"type": "array"
},
"url": {
"description": "The group's own site, if it keeps one.",
"format": "uri",
"type": "string"
},
"viewer": {
"ref": "#viewerState",
"type": "ref"
}
},
"required": [
"did",
"handle",
"meta",
"members"
],
"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": {
"actor": {
"description": "Who is asking, as a view names them.",
"ref": "#actorView",
"type": "ref"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"did": {
"format": "did",
"type": "string"
},
"invite": {
"format": "at-uri",
"type": "string"
},
"message": {
"type": "string"
}
},
"required": [
"did",
"createdAt"
],
"type": "object"
},
"memberView": {
"properties": {
"actor": {
"ref": "#actorView",
"type": "ref"
},
"roles": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"actor",
"roles"
],
"type": "object"
},
"roleView": {
"properties": {
"description": {
"type": "string"
},
"key": {
"description": "The role id: its record key.",
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"key"
],
"type": "object"
},
"spaceView": {
"properties": {
"name": {
"type": "string"
},
"readableBy": {
"description": "The space's read gate, when the viewer may read the space.",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"format": "nsid",
"type": "string"
},
"uri": {
"format": "space-ref",
"type": "string"
}
},
"required": [
"uri",
"type"
],
"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"
},
"viewerState": {
"description": "The requesting account's standing in the group. Only present for authed requests.",
"properties": {
"accepted": {
"description": "For a member: whether their own acceptance is in the members space.",
"type": "boolean"
},
"actions": {
"description": "The union of actions across the viewer's roles: what the host would let them do.",
"items": {
"ref": "fyi.opensocial.permissions#action",
"type": "ref"
},
"type": "array"
},
"member": {
"type": "boolean"
},
"request": {
"description": "The viewer's own pending request to join, when they are not a member and have one.",
"ref": "#joinRequestView",
"type": "ref"
},
"roles": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"member",
"roles",
"actions"
],
"type": "object"
}
},
"id": "fyi.opensocial.defs",
"lexicon": 1
}
Metadata
- DID
-
did:plc:2gqnilpksz2e7faj3bwvo6qc - CID
-
bafyreic44oifmoivat3iwibdblqjexuxnxn6v7a7zjflvppg44gvxpjagm - Indexed At
- 2026-10-03 01:13 UTC
- AT-URI
-
at://did:plc:2gqnilpksz2e7faj3bwvo6qc/com.atproto.lexicon.schema/fyi.opensocial.defs
Version History (4 versions)
Referenced Schemas (1)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
fyi.opensocial.profile record
The group's profile. Written by the group authority into the meta space.
-
fyi.opensocial.getGroup query
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.