social.colibri.beta.community.adopt

Adopts an existing account as a community: this AppView takes custody of its credentials, creates the four community spaces on whichever PDS already hosts it, and seeds the same starter layout social.colibri.beta.community.create does. The account keeps its own DID, handle and PDS, and the caller becomes its owner. Use this instead of community.create to bring your own DID.

Repository @colibri.social did:plc:mprdjqjluoswa7awzggaggj3 namespace authority
Details · procedure
Kindprocedure
Authoritycommunity.beta.colibri.social
Indexed

Showing version bafyreic42qpxubjlobsijb4tathtz5n5wrfxunpztsuhbzx5rkweqdiswq. Show the latest

cid bafyreic42qpxubjlobsijb4tathtz5n5wrfxunpztsuhbzx5rkweqdiswq

Checks

Valid
  • unlimited-string defs.main.input.schema.properties.identifierNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.main.input.schema.properties.passwordNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Adopts an existing account as a community: this AppView takes custody of its credentials, creates the four community spaces on whichever PDS already hosts it, and seeds the same starter layout social.colibri.beta.community.create does. The account keeps its own DID, handle and PDS, and the caller becomes its owner. Use this instead of community.create to bring your own DID.",
      "errors": [
        {
          "description": "The request is missing, malformed, or unverifiable service auth.",
          "name": "AuthRequired"
        },
        {
          "description": "The arguments are inconsistent or malformed beyond schema validation.",
          "name": "InvalidRequest"
        },
        {
          "description": "This account is already a community on this AppView.",
          "name": "AlreadyExists"
        },
        {
          "description": "The PDS refused the given identifier and password.",
          "name": "CredentialsRejected"
        },
        {
          "description": "The credentials authenticate a different account than the DID given.",
          "name": "IdentityMismatch"
        },
        {
          "description": "The account's PDS does not implement com.atproto.simplespace, so it cannot host community spaces.",
          "name": "SpacesUnsupported"
        },
        {
          "description": "A PDS or third-party call the AppView depends on failed.",
          "name": "UpstreamFailure"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "description": {
              "description": "The community's description.",
              "maxLength": 256,
              "type": "string"
            },
            "did": {
              "description": "The account to adopt. The credentials must authenticate as this exact DID, which is what proves the caller controls it.",
              "format": "did",
              "type": "string"
            },
            "identifier": {
              "description": "The identifier used to authenticate with the account's PDS, such as its handle or DID.",
              "type": "string"
            },
            "name": {
              "description": "The community's name.",
              "maxLength": 32,
              "minLength": 1,
              "type": "string"
            },
            "password": {
              "description": "The account's password. An app password is not enough: minting a delegation token requires full access.",
              "type": "string"
            },
            "requiresApprovalToJoin": {
              "description": "Whether joining produces an application a moderator must approve. Defaults to false.",
              "type": "boolean"
            }
          },
          "required": [
            "did",
            "identifier",
            "password",
            "name"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "community": {
              "description": "The adopted community.",
              "ref": "social.colibri.beta.community.defs#communityView",
              "type": "ref"
            }
          },
          "required": [
            "community"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "social.colibri.beta.community.adopt",
  "lexicon": 1
}