Procedure · POST
group.opensocial.updateProfile
Replace the profile.
Replace the profile: name, description, join policy. Requires group.configure. Fields are inlined rather than referencing group.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.
- Requires
group.configure
Input
groupstring · didrequiredThe group DID. Every method is served by the group's host and authorized against that group's roles.
displayNamestringrequired≤ 64 graphemes
descriptionstring≤ 300 graphemes
urlstring · uriThe group's own site.
avatarblobThe group's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it.
image/png, image/jpeg≤ 1000 kB
bannerblobThe group's banner, as returned by uploadImage. Omit to keep the current one; null to clear it.
image/png, image/jpeg≤ 1000 kB
Output
uristring · at-urirequiredcidstring · cidrequiredSchema
Lexicon JSON
{
"lexicon": 1,
"id": "group.opensocial.updateProfile",
"defs": {
"main": {
"type": "procedure",
"description": "Replace the profile: name, description, join policy. Requires group.configure. Fields are inlined rather than referencing group.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.",
"input": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": [
"group",
"displayName"
],
"properties": {
"group": {
"type": "string",
"format": "did",
"description": "The group DID. Every method is served by the group's host and authorized against that group's roles."
},
"displayName": {
"type": "string",
"maxGraphemes": 64,
"maxLength": 640
},
"description": {
"type": "string",
"maxGraphemes": 300,
"maxLength": 3000
},
"joinPolicy": {
"type": "string",
"knownValues": [
"group.opensocial.profile#open",
"group.opensocial.profile#request",
"group.opensocial.profile#invite"
]
},
"url": {
"type": "string",
"format": "uri",
"description": "The group's own site."
},
"avatar": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg"
],
"maxSize": 1000000,
"description": "The group's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it."
},
"banner": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg"
],
"maxSize": 1000000,
"description": "The group's banner, as returned by uploadImage. Omit to keep the current one; null to clear it."
}
}
}
},
"output": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": [
"uri",
"cid"
],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"cid": {
"type": "string",
"format": "cid"
}
}
}
}
}
}
}