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 bafyreighdcmpqpdworbrphjuc64sv6icseudoqjbm5blnwcsokzfwcrjqe. Show the latest

Procedure

procedure · POST

Input

application/json

The community's description.

  • maxLength: 256

did

requiredstring · did

The account to adopt. The credentials must authenticate as this exact DID, which is what proves the caller controls it.

identifier

requiredstring

The identifier used to authenticate with the account's PDS, such as its handle or DID.

name

requiredstring

The community's name.

  • minLength: 1
  • maxLength: 32

password

requiredstring

The account's password. An app password is not enough: minting a delegation token requires full access.

Whether joining produces an application a moderator must approve. Defaults to false.

Output

application/json

community

requiredref

The adopted community.

Errors

AuthRequired

The request is missing, malformed, or unverifiable service auth.

InvalidRequest

The arguments are inconsistent or malformed beyond schema validation.

AlreadyExists

This account is already a community on this AppView.

CredentialsRejected

The PDS refused the given identifier and password.

IdentityMismatch

The credentials authenticate a different account than the DID given.

SpacesUnsupported

The account's PDS does not implement the com.atproto.space policy methods, so it cannot host community spaces.

UpstreamFailure

A PDS or third-party call the AppView depends on failed.

Similar lexicons

semantic match

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

  • social.colibri.community.create

    procedure not from the namespace authority

    Creates a community, bootstrapping its DID repo with a default category, channel, owner role, and member record.

  • Starts a sign-in as a community host account. The requesting user opens the returned URL, signs in as that account on its own server and allows the AppView to act for it. The AppView then adopts the account as a new community, or reconnects an existing community after its sign-in lapsed or its account moved. Poll getHostAuthorization with the returned request to learn the outcome.

  • Provisions a new community: an account on the AppView's PDS, its four spaces, an owner role, and a starter layout of two categories holding one text channel and one voice channel between them. This call runs long enough that progress is also emitted over social.colibri.beta.sync.subscribeEvents.

  • Hands the AppView credentials for a community hosted elsewhere, so it can administer a community it did not create. The password is stored encrypted at rest.

  • Admits the requesting user to a community. Joining is an AppView procedure rather than a record the user writes, because admission is what makes the community's spaces readable to them.