social.coves.community.create

coves.social

Documentation

Create a new community. Requires authentication.

main procedure

Create a new community. Requires authentication.

Input

Encodingapplication/json
allowExternalDiscovery boolean Optional

Whether other Coves instances can index and discover this community

avatarBlob string Optional

Base64-encoded avatar image data (png, jpeg, or webp)

maxLength: 1400000 bytes
avatarMimeType string Optional

MIME type of the avatar image (image/png, image/jpeg, image/webp)

maxLength: 128 bytes
bannerBlob string Optional

Base64-encoded banner image data (png, jpeg, or webp)

maxLength: 2800000 bytes
bannerMimeType string Optional

MIME type of the banner image (image/png, image/jpeg, image/webp)

maxLength: 128 bytes
categories array Optional

Community categories for discovery

maxLength: 3 items
description string Required

Community description

maxLength: 10000 bytesmaxGraphemes: 1000 graphemes
displayName string Optional

Display name for the community

maxLength: 1280 bytesmaxGraphemes: 128 graphemes
language stringlanguage Optional

Primary language of the community

membershipThreshold integer Optional

Reputation threshold required for membership

minimum: 0maximum: 10000
name string Required

Short community name used as the local part of the handle (e.g., 'gaming'). Must be a valid DNS label: ASCII letters, digits, and hyphens only.

maxLength: 63 bytes
rules array Optional

Community rules

maxLength: 10 items
visibility string Optional

Community visibility level

maxLength: 64 bytes

Output

Encodingapplication/json
cid stringcid Required

CID of the created community profile

did stringdid Required

DID of the created community

handle string Required

Scoped handle of the created community (~name@instance)

uri stringat-uri Required

AT-URI of the created community profile

Errors

NameTaken Community name is already taken
TooManyCommunities User has reached the maximum number of communities they can create
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": [
        "name",
        "description"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 63,
          "description": "Short community name used as the local part of the handle (e.g., 'gaming'). Must be a valid DNS label: ASCII letters, digits, and hyphens only."
        },
        "rules": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 2000,
            "maxGraphemes": 200
          },
          "maxLength": 10,
          "description": "Community rules"
        },
        "language": {
          "type": "string",
          "format": "language",
          "description": "Primary language of the community"
        },
        "avatarBlob": {
          "type": "string",
          "maxLength": 1400000,
          "description": "Base64-encoded avatar image data (png, jpeg, or webp)"
        },
        "bannerBlob": {
          "type": "string",
          "maxLength": 2800000,
          "description": "Base64-encoded banner image data (png, jpeg, or webp)"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 50
          },
          "maxLength": 3,
          "description": "Community categories for discovery"
        },
        "visibility": {
          "type": "string",
          "default": "public",
          "maxLength": 64,
          "description": "Community visibility level",
          "knownValues": [
            "public",
            "unlisted",
            "private"
          ]
        },
        "description": {
          "type": "string",
          "maxLength": 10000,
          "description": "Community description",
          "maxGraphemes": 1000
        },
        "displayName": {
          "type": "string",
          "maxLength": 1280,
          "description": "Display name for the community",
          "maxGraphemes": 128
        },
        "avatarMimeType": {
          "type": "string",
          "maxLength": 128,
          "description": "MIME type of the avatar image (image/png, image/jpeg, image/webp)"
        },
        "bannerMimeType": {
          "type": "string",
          "maxLength": 128,
          "description": "MIME type of the banner image (image/png, image/jpeg, image/webp)"
        },
        "membershipThreshold": {
          "type": "integer",
          "default": 100,
          "maximum": 10000,
          "minimum": 0,
          "description": "Reputation threshold required for membership"
        },
        "allowExternalDiscovery": {
          "type": "boolean",
          "default": true,
          "description": "Whether other Coves instances can index and discover this community"
        }
      }
    },
    "encoding": "application/json"
  },
  "errors": [
    {
      "name": "NameTaken",
      "description": "Community name is already taken"
    },
    {
      "name": "TooManyCommunities",
      "description": "User has reached the maximum number of communities they can create"
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "did",
        "handle"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the created community profile"
        },
        "did": {
          "type": "string",
          "format": "did",
          "description": "DID of the created community"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the created community profile"
        },
        "handle": {
          "type": "string",
          "maxLength": 512,
          "description": "Scoped handle of the created community (~name@instance)"
        }
      }
    },
    "encoding": "application/json"
  },
  "description": "Create a new community. Requires authentication."
}

Lexicon Garden

@