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.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | community.beta.colibri.social |
| Indexed |
Checks
Validunlimited-stringdefs.main.input.schema.properties.identifierNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.input.schema.properties.passwordNo maxLength, maxGraphemes or format limits this string.
{
"$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 the com.atproto.space policy methods, 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
}