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
Kindprocedure
Authorityopensocial.fyi
Indexed
cid bafyreicksbqxai35glouwdyhzyqems767dalijxa6nr25e7yk6lfg3tl7e

Checks

Valid
  • unlimited-string defs.main.input.schema.properties.joinPolicyNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$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
}