fyi.opensocial.updateProfile
Replace the profile: name, description, join policy, where it meets, its topics and languages. Requires group.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | opensocial.fyi |
| Indexed |
Showing version bafyreicksbqxai35glouwdyhzyqems767dalijxa6nr25e7yk6lfg3tl7e. Show the latest
Checks
Validunlimited-stringdefs.main.input.schema.properties.joinPolicyNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Replace the profile: name, description, join policy, where it meets, its topics and languages. Requires group.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.",
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"avatar": {
"accept": [
"image/png",
"image/jpeg"
],
"description": "The group's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it.",
"maxSize": 1000000,
"type": "blob"
},
"banner": {
"accept": [
"image/png",
"image/jpeg"
],
"description": "The group's banner, as returned by uploadImage. Omit to keep the current one; null to clear it.",
"maxSize": 1000000,
"type": "blob"
},
"description": {
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
},
"displayName": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"group": {
"description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",
"format": "did",
"type": "string"
},
"joinPolicy": {
"knownValues": [
"fyi.opensocial.profile#open",
"fyi.opensocial.profile#request",
"fyi.opensocial.profile#invite"
],
"type": "string"
},
"languages": {
"description": "The languages it uses, as BCP 47 tags: en, pl, sl.",
"items": {
"format": "language",
"type": "string"
},
"maxLength": 5,
"type": "array"
},
"location": {
"description": "Where it meets, if it meets somewhere: a town or city is enough.",
"refs": [
"community.lexicon.location.address",
"community.lexicon.location.geo",
"community.lexicon.location.fsq",
"community.lexicon.location.hthree"
],
"type": "union"
},
"online": {
"description": "It meets online, as well as or instead of somewhere.",
"type": "boolean"
},
"topics": {
"description": "What it's about, a few words each, as the group puts it: climbing, choir, renters' union.",
"items": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"maxLength": 10,
"type": "array"
},
"url": {
"description": "The group's own site.",
"format": "uri",
"type": "string"
}
},
"required": [
"group",
"displayName"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cid": {
"format": "cid",
"type": "string"
},
"uri": {
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"cid"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "fyi.opensocial.updateProfile",
"lexicon": 1
}