social.colibri.beta.community.authorizeHost

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.

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

Procedure

procedure · POST

Input

application/json

community

string · did

The community to reconnect. Required when intent is reconnect.

The new community's description.

  • maxLength: 256

identifier

requiredstring

The handle or DID of the account to sign in as.

intent

requiredstring

adopt turns the account into a new community. reconnect restores the AppView's access to an existing community.

  • knownValues: adopt | reconnect

name

string

The new community's name. Required when intent is adopt.

  • minLength: 1
  • maxLength: 32

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

Output

application/json

authorizeUrl

requiredstring · uri

The sign-in page to open in a browser.

request

requiredstring

An opaque identifier for this sign-in, used with getHostAuthorization.

Errors

AuthRequired

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

Forbidden

The requesting user lacks permission for this community.

InvalidRequest

The arguments are inconsistent or malformed beyond schema validation.

CommunityNotFound

No community exists at that identifier.

AlreadyExists

That account already hosts a community on this AppView.

HostSignInUnavailable

This AppView has no host sign-in configured.

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.

  • 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.

  • Reports the outcome of a sign-in started with authorizeHost. Only the user who started it can read it.

  • 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.

  • Describes where a community's account lives and whether the AppView can still act for it. Only administrators of the community can read it.

  • 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.