Request crew membership for the hold. Authorization depends on the captain record: if allowAllCrew is true, any authenticated user can join; otherwise, only the owner can join.
Input
application/jsonpermissions
array
Optional
Requested permissions (default: ['blob:read', 'blob:write'])
role
string
Optional
Requested role (default: 'member')
maxLength: 32 bytesOutput
application/jsoncid
stringcid
Optional
CID of the crew record
message
string
Optional
Human-readable status message
status
string
Required
Result status
created, already_memberuri
stringat-uri
Optional
AT-URI of the crew record (if created or already exists)
Errors
AuthRequired
RegistrationDisabled
Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"description": "Request crew membership for the hold. Authorization depends on the captain record: if allowAllCrew is true, any authenticated user can join; otherwise, only the owner can join.",
"errors": [
{
"name": "AuthRequired"
},
{
"name": "RegistrationDisabled"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"permissions": {
"description": "Requested permissions (default: ['blob:read', 'blob:write'])",
"items": {
"maxLength": 64,
"type": "string"
},
"type": "array"
},
"role": {
"default": "member",
"description": "Requested role (default: 'member')",
"maxLength": 32,
"type": "string"
}
},
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cid": {
"description": "CID of the crew record",
"format": "cid",
"type": "string"
},
"message": {
"description": "Human-readable status message",
"maxLength": 256,
"type": "string"
},
"status": {
"description": "Result status",
"knownValues": [
"created",
"already_member"
],
"maxLength": 32,
"type": "string"
},
"uri": {
"description": "AT-URI of the crew record (if created or already exists)",
"format": "at-uri",
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}
},
"type": "procedure"
}