fyi.opensocial.updateProfile

lexicons.opensocial.fyi

Documentation

Replace the profile: name, description, join policy. 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.

main procedure

Replace the profile: name, description, join policy. 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

Encodingapplication/json
avatar blob Optional

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

maxSize: 1.0 MB
banner blob Optional

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

maxSize: 1.0 MB
description string Optional

No description available.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
displayName string Required

No description available.

maxLength: 640 bytesmaxGraphemes: 64 graphemes
group stringdid Required

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

joinPolicy string Optional

No description available.

url stringuri Optional

The group's own site.

Output

Encodingapplication/json
cid stringcid Required

A content identifier (CID) referencing immutable data.

uri stringat-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "description": "Replace the profile: name, description, join policy. 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"
        },
        "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"
}

Lexicon Garden

@