com.getorbyt.community.manageMember

getorbyt.com

Documentation

Mute, ban, or re-role a member. Only an administrator may set a role; a moderator may mute and ban, but never a peer or an administrator. Administration is service state and may be granted to an account that does not hold the declaration record; authority over the record itself is never transferable and always belongs to the repository that holds it.

main procedure

Mute, ban, or re-role a member. Only an administrator may set a role; a moderator may mute and ban, but never a peer or an administrator. Administration is service state and may be granted to an account that does not hold the declaration record; authority over the record itself is never transferable and always belongs to the repository that holds it.

Input

Encodingapplication/json
action string Required

No description available.

community stringat-uri Required

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

did stringdid Required

A decentralized identifier (DID).

durationDays integer Optional

For mute and ban: how many days it lasts. Absent means until a moderator lifts it.

minimum: 1maximum: 999
message string Optional

For mute and ban: what the member is told.

maxLength: 2000 bytes
role string Optional

The role to set. Granting owner grants administration — moderation and role assignment — to another account; it does not move the declaration record, which stays in the repository that holds it, and the holder's own administration can never be revoked.

roleKey string Optional

With role moderator, the Community-defined role to give. Absent gives the built-in moderator role. Someone who is not an administrator may only give a role whose permissions they hold themselves, and never owner.

maxLength: 64 bytes

Output

Encodingapplication/json
restrictedUntil stringdatetime Optional

When a timed mute or ban ends.

status string Required

No description available.

Known values: none, active, muted, banned

Errors

CommunityNotFound
InsufficientRole
InvalidAction
RoleNotFound roleKey names no role the Community defined.
AuthenticationRequired The request carried no service-auth token, or one this service could not verify for the method. Distinct from InsufficientRole: the caller's identity was never established, so no role decision was made. A client should reauthorize and retry once rather than tell the viewer they lack access.
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": "Mute, ban, or re-role a member. Only an administrator may set a role; a moderator may mute and ban, but never a peer or an administrator. Administration is service state and may be granted to an account that does not hold the declaration record; authority over the record itself is never transferable and always belongs to the repository that holds it.",
  "errors": [
    {
      "name": "CommunityNotFound"
    },
    {
      "name": "InsufficientRole"
    },
    {
      "name": "InvalidAction"
    },
    {
      "description": "roleKey names no role the Community defined.",
      "name": "RoleNotFound"
    },
    {
      "description": "The request carried no service-auth token, or one this service could not verify for the method. Distinct from InsufficientRole: the caller's identity was never established, so no role decision was made. A client should reauthorize and retry once rather than tell the viewer they lack access.",
      "name": "AuthenticationRequired"
    }
  ],
  "input": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "action": {
          "knownValues": [
            "setRole",
            "mute",
            "unmute",
            "ban",
            "unban"
          ],
          "type": "string"
        },
        "community": {
          "format": "at-uri",
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "durationDays": {
          "description": "For mute and ban: how many days it lasts. Absent means until a moderator lifts it.",
          "maximum": 999,
          "minimum": 1,
          "type": "integer"
        },
        "message": {
          "description": "For mute and ban: what the member is told.",
          "maxLength": 2000,
          "type": "string"
        },
        "role": {
          "description": "The role to set. Granting owner grants administration — moderation and role assignment — to another account; it does not move the declaration record, which stays in the repository that holds it, and the holder's own administration can never be revoked.",
          "knownValues": [
            "owner",
            "moderator",
            "member"
          ],
          "type": "string"
        },
        "roleKey": {
          "description": "With role moderator, the Community-defined role to give. Absent gives the built-in moderator role. Someone who is not an administrator may only give a role whose permissions they hold themselves, and never owner.",
          "maxLength": 64,
          "type": "string"
        }
      },
      "required": [
        "community",
        "did",
        "action"
      ],
      "type": "object"
    }
  },
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "restrictedUntil": {
          "description": "When a timed mute or ban ends.",
          "format": "datetime",
          "type": "string"
        },
        "status": {
          "knownValues": [
            "none",
            "active",
            "muted",
            "banned"
          ],
          "type": "string"
        }
      },
      "required": [
        "status"
      ],
      "type": "object"
    }
  },
  "type": "procedure"
}

Lexicon Garden

@