{
"id": "town.muni.arbiter.setSpaceMemberAccess",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"arbiterDid",
"spaceKey",
"member",
"access"
],
"properties": {
"access": {
"refs": [],
"type": "union",
"description": "The updated access configuration for the member."
},
"member": {
"refs": [
"town.muni.arbiter.defs#memberDid",
"town.muni.arbiter.defs#memberLocalSpace",
"town.muni.arbiter.defs#memberRemoteSpace"
],
"type": "union",
"description": "The member to set the access of."
},
"spaceKey": {
"type": "string",
"maxLength": 1024,
"description": "The key of the space to configure."
},
"arbiterDid": {
"type": "string",
"format": "did",
"description": "The DID of the arbiter that the space is in."
},
"resolverDepth": {
"type": "integer",
"description": "The maximum depth to allow when doing remote resolutions needed to evaluate the\naccess of the requesting user."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "ErrArbiterNotExists",
"description": "The specified arbiter does not exist on this server."
},
{
"name": "ErrSpaceNotExists",
"description": "The specified space does not exist on this arbiter."
},
{
"name": "ErrPermissionDenied",
"description": "The requesting user is not allowed to make the request."
},
{
"name": "ErrRaceCondition",
"description": "The config was changed by another request during the execution of this request.\n\nThe action should be retried if still applicable."
},
{
"name": "ErrMemberNotInSpace",
"description": "The specified member is not in the space."
},
{
"name": "ErrInvalidConfig",
"description": "The config provided is invalid for some reason other than it being an unsupported\nlexicon."
}
],
"output": {
"schema": {
"refs": [],
"type": "union"
},
"encoding": "application/json"
},
"description": "Set the access of a member in a space.\n\nThis is also how you add a new member to the space."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}