Create a new community. Requires authentication.
Input
application/jsonallowExternalDiscovery
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 bytesavatarMimeType
string
Optional
MIME type of the avatar image (image/png, image/jpeg, image/webp)
maxLength: 128 bytesbannerBlob
string
Optional
Base64-encoded banner image data (png, jpeg, or webp)
maxLength: 2800000 bytesbannerMimeType
string
Optional
MIME type of the banner image (image/png, image/jpeg, image/webp)
maxLength: 128 bytescategories
array
Optional
Community categories for discovery
maxLength: 3 itemsdescription
string
Required
Community description
maxLength: 10000 bytesmaxGraphemes: 1000 graphemesdisplayName
string
Optional
Display name for the community
maxLength: 1280 bytesmaxGraphemes: 128 graphemeslanguage
stringlanguage
Optional
Primary language of the community
membershipThreshold
integer
Optional
Reputation threshold required for membership
minimum: 0maximum: 10000name
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 bytesrules
array
Optional
Community rules
maxLength: 10 itemsvisibility
string
Optional
Community visibility level
maxLength: 64 bytesOutput
application/jsoncid
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.
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."
}