fyi.opensocial.getSiteDraft

lexicons.opensocial.fyi

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "draft": {
      "properties": {
        "avatar": {
          "description": "The group's picture, as the draft changes it.",
          "format": "uri",
          "type": "string"
        },
        "banner": {
          "description": "Its banner, as the draft changes it.",
          "format": "uri",
          "type": "string"
        },
        "by": {
          "description": "Who made the last change to it: an AI app's name.",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "description": {
          "description": "What the group says about itself, as the draft changes it.",
          "type": "string"
        },
        "joinPolicy": {
          "description": "How people join, as the draft changes it.",
          "type": "string"
        },
        "name": {
          "description": "The group's name, as the draft changes it.",
          "type": "string"
        },
        "rules": {
          "description": "The group's rules, as the draft has them.",
          "items": {
            "ref": "#rule",
            "type": "ref"
          },
          "type": "array"
        },
        "updatedAt": {
          "format": "datetime",
          "type": "string"
        },
        "uri": {
          "description": "The draft's site record, in the members space.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "by",
        "updatedAt",
        "uri"
      ],
      "type": "object"
    },
    "main": {
      "description": "The caller's draft of the group's site, if they have one, and whether the site's last publish can be undone. Only for whoever may change the site.",
      "errors": [
        {
          "name": "Forbidden"
        }
      ],
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "draft": {
              "ref": "#draft",
              "type": "ref"
            },
            "undo": {
              "ref": "#undo",
              "type": "ref"
            }
          },
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "group": {
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "group"
        ],
        "type": "params"
      },
      "type": "query"
    },
    "rule": {
      "properties": {
        "text": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      },
      "required": [
        "title"
      ],
      "type": "object"
    },
    "undo": {
      "properties": {
        "mine": {
          "type": "boolean"
        },
        "publishedAt": {
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "publishedAt",
        "mine"
      ],
      "type": "object"
    }
  },
  "id": "fyi.opensocial.getSiteDraft",
  "lexicon": 1
}

Validate Record

Validate a record against fyi.opensocial.getSiteDraft

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2gqnilpksz2e7faj3bwvo6qc
CID
bafyreictatbmye5h2yrgdgprmshz7v4atojrsbofo24qjznhx2hnv3bsei
Indexed At
2026-10-15 16:46 UTC
AT-URI
at://did:plc:2gqnilpksz2e7faj3bwvo6qc/com.atproto.lexicon.schema/fyi.opensocial.getSiteDraft

Similar Lexicons

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

  • A member's draft of the group's site, keyed by the member's DID: what an AI app connected as them changed, kept apart from the live site (fyi.opensocial.site) until they publish it. Shaped as the site is.

  • Every public page of the group's site as the caller's draft would publish it.

  • The group's site record. A member gets the whole of it as they may see it: without the channels their roles keep them from, unless they may change the site, when it's every channel, to change and put back with putSite; …

  • The page the caller's assistant left for one of the site's tabs (which needs group.configure), if any, and the caller's assistants connected to the group. Only the caller's own: nobody sees another member's drafts.

  • The drafts your assistant left for you in the group's tabs, waiting for you to add or let go: each with the space it goes in, added as you, or for its tab's page to make into what it keeps (page).

Lexicon Garden

@