Creates a channel. This creates a space for the channel, then writes the channel's configuration record at key 'self' inside that space.
Input
application/jsonallowedMembers
array
Optional
Members allowed to post here in addition to allowedRoles.
allowedRoles
array
Optional
Roles allowed to post here.
category
stringrecord-key
Required
The category to list the channel under.
community
stringdid
Required
The community the channel belongs to.
description
string
Optional
The channel's topic.
maxLength: 256 bytesname
string
Required
The channel's name.
maxLength: 32 bytesminLength: 1 bytesownerOnly
boolean
Optional
Whether only community admins may post.
type
stringnsid
Required
The channel's space type.
visibleToMembers
array
Optional
Members that may read this channel beyond visibleToRoles.
visibleToRoles
array
Optional
Roles that may read this channel. Empty means every member may.
Output
application/jsonchannel
refsocial.colibri.beta.community.defs#channelView
Required
The newly created channel.
Errors
AuthRequired
The request has no valid service auth. Forbidden
The requesting user lacks the channel.create permission. CommunityNotFound
No community matches the given DID. CategoryNotFound
No category matches the given record key. RoleHierarchy
The requesting user cannot grant a role that outranks their own. InvalidRequest
The arguments are inconsistent or malformed beyond schema validation. CredentialsUnavailable
The AppView cannot act as the community because its stored credentials are missing or unusable. PdsUnavailable
The community's PDS is unreachable or the AppView has no administrative access to it. UpstreamFailure
The community's PDS failed while creating the channel's space. 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": [
"community",
"type",
"name",
"category"
],
"properties": {
"name": {
"type": "string",
"maxLength": 32,
"minLength": 1,
"description": "The channel's name."
},
"type": {
"type": "string",
"format": "nsid",
"description": "The channel's space type.",
"knownValues": [
"social.colibri.beta.channel.text",
"social.colibri.beta.channel.voice"
]
},
"category": {
"type": "string",
"format": "record-key",
"description": "The category to list the channel under."
},
"community": {
"type": "string",
"format": "did",
"description": "The community the channel belongs to."
},
"ownerOnly": {
"type": "boolean",
"description": "Whether only community admins may post."
},
"description": {
"type": "string",
"maxLength": 256,
"description": "The channel's topic."
},
"allowedRoles": {
"type": "array",
"items": {
"type": "string",
"format": "record-key",
"description": "A role permitted to post."
},
"description": "Roles allowed to post here."
},
"allowedMembers": {
"type": "array",
"items": {
"type": "string",
"format": "did",
"description": "A member permitted to post."
},
"description": "Members allowed to post here in addition to allowedRoles."
},
"visibleToRoles": {
"type": "array",
"items": {
"type": "string",
"format": "record-key",
"description": "A role."
},
"description": "Roles that may read this channel. Empty means every member may."
},
"visibleToMembers": {
"type": "array",
"items": {
"type": "string",
"format": "did",
"description": "A member."
},
"description": "Members that may read this channel beyond visibleToRoles."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "AuthRequired",
"description": "The request has no valid service auth."
},
{
"name": "Forbidden",
"description": "The requesting user lacks the channel.create permission."
},
{
"name": "CommunityNotFound",
"description": "No community matches the given DID."
},
{
"name": "CategoryNotFound",
"description": "No category matches the given record key."
},
{
"name": "RoleHierarchy",
"description": "The requesting user cannot grant a role that outranks their own."
},
{
"name": "InvalidRequest",
"description": "The arguments are inconsistent or malformed beyond schema validation."
},
{
"name": "CredentialsUnavailable",
"description": "The AppView cannot act as the community because its stored credentials are missing or unusable."
},
{
"name": "PdsUnavailable",
"description": "The community's PDS is unreachable or the AppView has no administrative access to it."
},
{
"name": "UpstreamFailure",
"description": "The community's PDS failed while creating the channel's space."
}
],
"output": {
"schema": {
"type": "object",
"required": [
"channel"
],
"properties": {
"channel": {
"ref": "social.colibri.beta.community.defs#channelView",
"type": "ref",
"description": "The newly created channel."
}
}
},
"encoding": "application/json"
},
"description": "Creates a channel. This creates a space for the channel, then writes the channel's configuration record at key 'self' inside that space."
}