dev.knotless.putOrgMember

lexicons.knotless.dev

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "The invitation is kept in the organization's space where its PDS has spaces, else in its public records. Invited again, an invitation that lapsed starts over.",
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "member": {
              "description": "The account to invite.",
              "format": "did",
              "type": "string"
            },
            "org": {
              "description": "The organization.",
              "format": "did",
              "type": "string"
            },
            "role": {
              "description": "Their role; member when absent.",
              "knownValues": [
                "admin",
                "member"
              ],
              "maxLength": 64,
              "type": "string"
            }
          },
          "required": [
            "org",
            "member"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "first": {
              "description": "Whether this made the account an organization.",
              "type": "boolean"
            },
            "had": {
              "description": "The role they had before, if they had one.",
              "knownValues": [
                "admin",
                "member"
              ],
              "maxLength": 64,
              "type": "string"
            },
            "org": {
              "description": "The organization's handle, or its DID when none resolves back to it.",
              "maxLength": 300,
              "type": "string"
            },
            "private": {
              "description": "Whether the invitation is in the organization's space, which only it and its members read; else in its public records.",
              "type": "boolean"
            },
            "role": {
              "description": "Their role now.",
              "knownValues": [
                "admin",
                "member"
              ],
              "maxLength": 64,
              "type": "string"
            },
            "was": {
              "description": "Where they stood before: invited, lapsed (invited over 7 days ago), or a public or hidden member. Absent when they were not invited.",
              "knownValues": [
                "invited",
                "lapsed",
                "public",
                "hidden"
              ],
              "maxLength": 64,
              "type": "string"
            },
            "who": {
              "description": "The invitee's handle, or their DID when none resolves back to it.",
              "maxLength": 300,
              "type": "string"
            }
          },
          "required": [
            "org",
            "who",
            "role",
            "first",
            "private"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "description": "Invites an account to an organization, or changes a member's role, through the gateway the organization delegated writes to, which writes as the organization. The caller must be an admin of it who joined. Requires a service token from the caller's PDS, audience the gateway's DID, for this method.",
  "id": "dev.knotless.putOrgMember",
  "lexicon": 1
}

Validate Record

Validate a record against dev.knotless.putOrgMember

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:yqsg7znbbhfmj3a2nrpnaerk
CID
bafyreidkqzeght6ade6imajj7rub6n22rwvsf73iqjxfek4l4ataxcrkxu
Indexed At
2026-10-29 17:01 UTC
AT-URI
at://did:plc:yqsg7znbbhfmj3a2nrpnaerk/com.atproto.lexicon.schema/dev.knotless.putOrgMember

Similar Lexicons

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

  • Invites an account to an organization as the account logged in to this appview's pages, or changes its role, as `knotless org add` does.

  • Takes the caller into an organization that invited them, once they keep a dev.knotless.orgAcceptance record naming it, through the gateway the organization delegated writes to: names them in its public record when their…

  • Takes a member out of an organization, or withdraws an invitation, through the gateway the organization delegated writes to, which writes as the organization: out of its records, its space and its private repositories' …

  • An organization's members on knotless.

  • An organization's side of its membership: an account it invited, and their roles.

Lexicon Garden

@