fyi.opensocial.getTabBundle

lexicons.opensocial.fyi

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "file": {
      "properties": {
        "path": {
          "description": "Where it is in the template: template.html, methods/<name>.js, lexicons/<nsid>.json.",
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "path",
        "text"
      ],
      "type": "object"
    },
    "main": {
      "description": "A tab you can see, as a template shared from it has it, for sharing it with everyone as yourself: its page, its methods and the kinds of record it makes up, the tab's namespace in them made the placeholder, and what a tab of it does. Its records are written in your own repo by you: a fyi.opensocial.templateVersion, each file a blob, and the fyi.opensocial.template listing it, at the record key given. Refused as shareTab refuses, and a new version whose kinds of record change in a way records already kept wouldn't fit.",
      "errors": [
        {
          "name": "InvalidTab"
        },
        {
          "name": "NotFound"
        },
        {
          "name": "Forbidden"
        }
      ],
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "entry": {
              "description": "What a tab of it does, for the version's entry.",
              "ref": "fyi.opensocial.template#entry",
              "type": "ref"
            },
            "files": {
              "description": "The version's files, by path, as text.",
              "items": {
                "ref": "#file",
                "type": "ref"
              },
              "type": "array"
            },
            "number": {
              "description": "Which version this is.",
              "minimum": 1,
              "type": "integer"
            },
            "previous": {
              "description": "The listing in your repo shared from this tab before, if there is one.",
              "ref": "#previous",
              "type": "ref"
            },
            "rkey": {
              "description": "The listing's record key in your repo: the one shared from this tab before, or a new one from its name.",
              "type": "string"
            }
          },
          "required": [
            "rkey",
            "number",
            "entry",
            "files"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "description": {
            "description": "One line saying what it is.",
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          },
          "group": {
            "format": "did",
            "type": "string"
          },
          "name": {
            "description": "What it's called, where it's offered.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "tab": {
            "description": "The tab's namespace.",
            "maxLength": 13,
            "type": "string"
          }
        },
        "required": [
          "group",
          "tab",
          "name",
          "description"
        ],
        "type": "params"
      },
      "type": "query"
    },
    "previous": {
      "properties": {
        "number": {
          "minimum": 1,
          "type": "integer"
        },
        "uri": {
          "description": "The listing, its fyi.opensocial.template.",
          "format": "at-uri",
          "type": "string"
        },
        "version": {
          "description": "Its latest version.",
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        }
      },
      "required": [
        "uri",
        "version",
        "number"
      ],
      "type": "object"
    }
  },
  "id": "fyi.opensocial.getTabBundle",
  "lexicon": 1
}

Validate Record

Validate a record against fyi.opensocial.getTabBundle

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

Metadata

DID
did:plc:2gqnilpksz2e7faj3bwvo6qc
CID
bafyreifllptb63kveev7gwjgnofa7pw2qf6l452n34rqyvmv6mdo626mb4
Indexed At
2026-10-17 02:20 UTC
AT-URI
at://did:plc:2gqnilpksz2e7faj3bwvo6qc/com.atproto.lexicon.schema/fyi.opensocial.getTabBundle

Referenced Schemas (1)

Similar Lexicons

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

  • Where a tab you can see is shared as a template: within the group, with everyone from the group, and with everyone from you; each with its versions, and whether you may take one back.

  • Share a tab you can see as a template, for whoever it's shared with to add: its page, its methods and the kinds of record it makes up, never anything written in it. Shared with the group, it's kept in the group's member…

  • A template shared with everyone, for its own page: what it's called, who made it, what a tab of it does at its latest version, and every version. For anyone; never one shared within a group.

  • The templates shared within the group, each at its latest version: for its members alone.

  • One version of a published template, as it was put out: never changed, so a tab that names it gets what was chosen. Its files are the template itself, as a folder of it has them: `template.html` (the page, drawn in a sa…

Lexicon Garden

@