social.colibri.beta.role.update

colibri.social

Documentation

Updates a role's settings.

main procedure

Updates a role's settings.

Input

Encodingapplication/json
channelOverrides array Optional

Per-channel overrides.

color string Optional

Hex colour as #rrggbb.

maxLength: 7 bytes
community stringdid Required

The community the role belongs to.

hoisted boolean Optional

Whether holders are listed separately in the member list.

mentionable boolean Optional

Whether @role mentions resolve to this role.

name string Optional

Display name.

maxLength: 32 bytesminLength: 1 bytes
permissions array Optional

Permissions granted by this role.

position integer Optional

Hierarchy position. Higher outranks lower.

role stringrecord-key Required

The role's record key.

Output

Encodingapplication/json

Errors

AuthRequired The request is missing, malformed, or unverifiable service auth.
Forbidden The caller lacks the role.manage permission.
CommunityNotFound No community exists at the given DID.
RoleNotFound No role exists at the given record key.
RoleProtected The role is marked protected and cannot be modified.
RoleHierarchy The change would place the role at or above the caller's highest role position, or grants a permission the caller does not hold.
CredentialsUnavailable The AppView cannot act as the community because its stored credentials are missing or unusable.
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
{
  "type": "procedure",
  "input": {
    "schema": {
      "type": "object",
      "required": [
        "community",
        "role"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 32,
          "minLength": 1,
          "description": "Display name."
        },
        "role": {
          "type": "string",
          "format": "record-key",
          "description": "The role's record key."
        },
        "color": {
          "type": "string",
          "maxLength": 7,
          "description": "Hex colour as #rrggbb."
        },
        "hoisted": {
          "type": "boolean",
          "description": "Whether holders are listed separately in the member list."
        },
        "position": {
          "type": "integer",
          "description": "Hierarchy position. Higher outranks lower."
        },
        "community": {
          "type": "string",
          "format": "did",
          "description": "The community the role belongs to."
        },
        "mentionable": {
          "type": "boolean",
          "description": "Whether @role mentions resolve to this role."
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "A namespaced permission identifier."
          },
          "description": "Permissions granted by this role."
        },
        "channelOverrides": {
          "type": "array",
          "items": {
            "ref": "social.colibri.beta.community.defs#roleChannelOverride",
            "type": "ref",
            "description": "A per-channel permission override."
          },
          "description": "Per-channel overrides."
        }
      }
    },
    "encoding": "application/json"
  },
  "errors": [
    {
      "name": "AuthRequired",
      "description": "The request is missing, malformed, or unverifiable service auth."
    },
    {
      "name": "Forbidden",
      "description": "The caller lacks the role.manage permission."
    },
    {
      "name": "CommunityNotFound",
      "description": "No community exists at the given DID."
    },
    {
      "name": "RoleNotFound",
      "description": "No role exists at the given record key."
    },
    {
      "name": "RoleProtected",
      "description": "The role is marked protected and cannot be modified."
    },
    {
      "name": "RoleHierarchy",
      "description": "The change would place the role at or above the caller's highest role position, or grants a permission the caller does not hold."
    },
    {
      "name": "CredentialsUnavailable",
      "description": "The AppView cannot act as the community because its stored credentials are missing or unusable."
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "role"
      ],
      "properties": {
        "role": {
          "ref": "social.colibri.beta.community.defs#roleView",
          "type": "ref",
          "description": "The updated role."
        }
      }
    },
    "encoding": "application/json"
  },
  "description": "Updates a role's settings."
}

Lexicon Garden

@