{
"id": "space.highport.manage.connectSpace",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"space",
"delegationToken"
],
"properties": {
"space": {
"type": "string",
"format": "at-uri",
"description": "The space, at://{authority}/space/space.highport.sites.space/{skey}."
},
"delegationToken": {
"type": "string",
"description": "A delegation token the authority minted for this space. Used once and never stored."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "NotSpaceAuthority",
"description": "Only the space's authority may connect it."
},
{
"name": "GrantIssuerMismatch",
"description": "The delegation token was not issued by the caller."
},
{
"name": "GrantExpired",
"description": "The delegation token has expired."
},
{
"name": "GrantRefused",
"description": "The space host refused the exchange."
},
{
"name": "AppNotAllowed",
"description": "The space does not allow bard access yet. The space is recorded and will sync once it does."
},
{
"name": "SpaceQuotaExceeded",
"description": "This identity has reached its limit of connected spaces."
},
{
"name": "SpacesDisabled",
"description": "Space support is disabled on this deployment."
}
],
"output": {
"schema": {
"ref": "space.highport.defs#spaceView",
"type": "ref"
},
"encoding": "application/json"
},
"description": "Connect a space so bard can read and publish the authority's site and tile records from it. Only the authority can call this, with a delegation token it issued. Bard trades the token for a credential, registers for notifications, and pulls the authority's repo. Safe to repeat."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}