fyi.opensocial.createAppPassword

lexicons.opensocial.fyi

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Make an app password for the group: what an app that signs in with a handle and a password, such as the Bluesky app, signs in to the group with (com.atproto.server.createSession). It stays the caller's: it stops working once they could no longer make it, and its sessions are listed as theirs among the group's connected apps. Its sessions may use the group's public repo, its blobs and other services, never its spaces, nor get service tokens for the account's own methods or this host's. Requires a role that may write every collection as the group.",
      "errors": [
        {
          "name": "Forbidden"
        },
        {
          "name": "InvalidName"
        },
        {
          "name": "DuplicateName"
        },
        {
          "name": "TooManyAppPasswords"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "group": {
              "description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",
              "format": "did",
              "type": "string"
            },
            "name": {
              "description": "What it's for, such as the device or app it signs in: unique in the group.",
              "maxLength": 64,
              "type": "string"
            },
            "privileged": {
              "description": "Whether its sessions may also use Bluesky's chat (DMs) as the group.",
              "type": "boolean"
            }
          },
          "required": [
            "group",
            "name"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "createdAt": {
              "format": "datetime",
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "password": {
              "description": "The password, shown this once: the host keeps only its hash.",
              "type": "string"
            },
            "privileged": {
              "type": "boolean"
            }
          },
          "required": [
            "name",
            "password",
            "privileged",
            "createdAt"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "fyi.opensocial.createAppPassword",
  "lexicon": 1
}

Validate Record

Validate a record against fyi.opensocial.createAppPassword

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:2gqnilpksz2e7faj3bwvo6qc
CID
bafyreigyavb4d7kjgx3kl33jksvphjhqgzusiqpoxn6olymxwwxlr5ihb4
Indexed At
2026-11-02 19:19 UTC
AT-URI
at://did:plc:2gqnilpksz2e7faj3bwvo6qc/com.atproto.lexicon.schema/fyi.opensocial.createAppPassword

Similar Lexicons

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

  • Create an App Password.

  • ai.newnal.pdn.server.createAppPassword procedurenot from the namespace authority

    Create an App Password bound to an OAuth scope. Sessions created from it through com.atproto.server.createSession carry exactly the permissions of that scope, as an OAuth session would. Requires a full-access session.

  • The group's app passwords, never the passwords themselves: every one for whoever has group.configure, and their own for whoever may make them.

  • Revoke one of the group's app passwords, and sign out every app signed in with it. Its maker may revoke their own; anyone else needs group.configure.

Lexicon Garden

@