Set the access of a member in a space. This is also how you add a new member to the space.
Input
application/jsonaccess
union
Required
The updated access configuration for the member.
arbiterDid
stringdid
Required
The DID of the arbiter that the space is in.
member
union
Required
The member to set the access of.
resolverDepth
integer
Optional
The maximum depth to allow when doing remote resolutions. Because spaces are allowed to have members resolved from remote spaces, all of the arbiter endpoints have an optional resolution depth parameter that can be used to limit how many chained remote calls can be resolved. This applies both to queries and procedures. Queries may need to resolve external members to complete the member list, and procedures may need to resolve external members if the requesting member is not in the local member list, to see if the member has access through a remote list.
spaceKey
string
Required
The key of the space to configure.
maxLength: 1024 bytesOutput
application/jsonErrors
ErrArbiterNotExists
The specified arbiter does not exist on this server. ErrSpaceNotExists
The specified space does not exist on this arbiter. ErrPermissionDenied
The requesting user is not allowed to make the request. ErrRaceCondition
The config was changed by another request during the execution of this request.
The action should be retried if still applicable. ErrMemberNotInSpace
The specified member is not in the space. ErrInvalidConfig
The config provided is invalid for some reason other than it being an unsupported
lexicon. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"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.\n\nBecause spaces are allowed to have members resolved from remote spaces,\nall of the arbiter endpoints have an optional resolution depth parameter\nthat can be used to limit how many chained remote calls can be resolved.\n\nThis applies both to queries and procedures. Queries may need to resolve\nexternal members to complete the member list, and procedures may need\nto resolve external members if the requesting member is not in the local\nmember list, to see if the member has access through a remote list."
}
}
},
"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."
}