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.
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.intentNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.requestNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "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.",
"errors": [
{
"description": "The request is missing, malformed, or unverifiable service auth.",
"name": "AuthRequired"
},
{
"description": "The requesting user lacks permission for this community.",
"name": "Forbidden"
},
{
"description": "The arguments are inconsistent or malformed beyond schema validation.",
"name": "InvalidRequest"
},
{
"description": "No community exists at that identifier.",
"name": "CommunityNotFound"
},
{
"description": "That account already hosts a community on this AppView.",
"name": "AlreadyExists"
},
{
"description": "This AppView has no host sign-in configured.",
"name": "HostSignInUnavailable"
},
{
"description": "A PDS or third-party call the AppView depends on failed.",
"name": "UpstreamFailure"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"community": {
"description": "The community to reconnect. Required when intent is reconnect.",
"format": "did",
"type": "string"
},
"description": {
"description": "The new community's description.",
"maxLength": 256,
"type": "string"
},
"identifier": {
"description": "The handle or DID of the account to sign in as.",
"type": "string"
},
"intent": {
"description": "adopt turns the account into a new community. reconnect restores the AppView's access to an existing community.",
"knownValues": [
"adopt",
"reconnect"
],
"type": "string"
},
"name": {
"description": "The new community's name. Required when intent is adopt.",
"maxLength": 32,
"minLength": 1,
"type": "string"
},
"requiresApprovalToJoin": {
"description": "Whether joining the new community produces an application a moderator must approve. Defaults to false.",
"type": "boolean"
}
},
"required": [
"identifier",
"intent"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"authorizeUrl": {
"description": "The sign-in page to open in a browser.",
"format": "uri",
"type": "string"
},
"request": {
"description": "An opaque identifier for this sign-in, used with getHostAuthorization.",
"type": "string"
}
},
"required": [
"authorizeUrl",
"request"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "social.colibri.beta.community.authorizeHost",
"lexicon": 1
}