us.off-the-clock.getMembership

off-the-clock.us

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Community-wide membership, computed from the records in the management spaces: the same projection this service uses to answer com.atproto.simplespace.checkUserAccess for every space. A trusted service may ask about any DID; a viewer only about themselves. A non-member is an answer, not an error.",
      "errors": [
        {
          "description": "The caller may not ask about this DID.",
          "name": "Forbidden"
        },
        {
          "name": "InvalidRequest"
        }
      ],
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "admin": {
              "description": "An effective admin: administers every pair.",
              "type": "boolean"
            },
            "adminOf": {
              "description": "The TIDs of the pairs this DID administers (D35).",
              "items": {
                "format": "tid",
                "type": "string"
              },
              "type": "array"
            },
            "did": {
              "format": "did",
              "type": "string"
            },
            "invited": {
              "description": "A counting grant names this DID but it has not joined yet (D60): it reads nothing and is listed nowhere.",
              "type": "boolean"
            },
            "member": {
              "description": "The community identity, or a DID that has joined: a counting grant and its own acceptance (D60).",
              "type": "boolean"
            },
            "spaces": {
              "description": "The spaces granted, as <space-type>/<space-id>; the default pair's content space is always included for a member.",
              "items": {
                "maxLength": 512,
                "type": "string"
              },
              "type": "array"
            }
          },
          "required": [
            "did",
            "member",
            "admin",
            "adminOf",
            "spaces"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "did": {
            "description": "The account to ask about.",
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "did"
        ],
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "us.off-the-clock.getMembership",
  "lexicon": 1
}

Validate Record

Validate a record against us.off-the-clock.getMembership

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:tevv7zpavtjtsvqrrwwipobt
CID
bafyreihuyjlcdt5oa5iuots2bvs5jzjculizftjcotitbwf567f627cuem
Indexed At
2026-10-26 23:37 UTC
AT-URI
at://did:plc:tevv7zpavtjtsvqrrwwipobt/com.atproto.lexicon.schema/us.off-the-clock.getMembership

Similar Lexicons

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

  • Every DID a membership record names, with the records behind it. Effective admins and the community identity only. With space, the members holding that pair and only the grants naming one of its halves, for the pair's o…

  • One DID's membership and the records behind it. Effective admins and the community identity only.

  • Grants a member access to spaces. Grants are additive: a member's access is the union over every record naming them that counts: in the self management space by an effective admin, or in a pair's management space, for t…

  • town.delve.membership.getMembership querynot from the namespace authority

    The requesting account's standing in the town. Requires auth.

  • Report the caller's relationship to a space: whether they are the owner, a member, and at what permission level. Useful for clients to avoid a listMembers roundtrip.

Lexicon Garden

@