MenuMethods

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 · didrequired

The group DID. Every method is served by the group's host and authorized against that group's roles.

displayNamestringrequired
≤ 64 graphemes
descriptionstring
≤ 300 graphemes
joinPolicystring
urlstring · uri

The group's own site.

avatarblob

The group's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it.

image/png, image/jpeg≤ 1000 kB
bannerblob

The 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-urirequired
cidstring · cidrequired

Schema

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"
            }
          }
        }
      }
    }
  }
}

← All methods