Reference
Communities API
18 operations. Generated from the OpenAPI document, so this page always matches the API.
OpenAPI documentErrors and rate limitsSDK and CLI recipes
On this page
communities.channelSuggestions
List Slack channels, with the ones that look like communities suggested
POST/api/v1/manage/communities/channelSuggestions
- Read
- Permission communities.channelSuggestions
const result = await shuffl.communities.channelSuggestions({});Request fields (1)
- read "model" | "names" optional
Response object
- by null | "ai" | "rule" required
- channels object[] required
- category "interests" | "places" | "resource_group" | "skills" required
- communityId null | string required
- id string required
- isMember boolean required
- isPrivate boolean required
- joinable boolean required
- memberCount null | number required
- name string required
- purpose null | string required
- reason null | string required
- suggested boolean required
- status "ready" | "unavailable" required
communities.createCapabilities
Read the current permission to create public or private community channels
POST/api/v1/manage/communities/createCapabilities
- Read
- Permission communities.createCapabilities
const result = await shuffl.communities.createCapabilities({});Request fields (1)
- communityId string optional
Response object
- private boolean required
- privateScopeRequested boolean required
- public boolean required
communities.list
List communities with the members you may see
POST/api/v1/manage/communities/list
- Read
- Permission communities.list
const result = await shuffl.communities.list();Request fields (none)
This operation takes no input.
Response object[]
- admission "invite_only" | "open" required
- canEdit boolean required
- canInvite boolean required
- canManageRoles boolean required
- category "interests" | "places" | "resource_group" | "skills" required
- coverUrl null | string required
- description string required
- faces object[] required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- id string required
- invitationId null | string required
- invitationPending boolean required
- joined boolean required
- knownMembers number required
- memberCount number required
- membersVisibility "everyone" | "self_chosen" required
- moderators object[] required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- name string required
- owners object[] required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- showOnProfile null | false | true required
- slackChannel null | object required
- id string required
- name string required
- slackChannelPrivate null | false | true required
- slackInvite null | string required
- slackSync object required
- at null | string (date-time) required
- error null | string required
communities.members
List a community's members
POST/api/v1/manage/communities/members
- Read
- Permission communities.members
const result = await shuffl.communities.members({
"communityId": "<communityId>"
});Request fields (1)
- communityId string required
Response object
- canModerate boolean required
- hiddenCount number required
- members object[] required
- canRemove boolean required
- id string required
- joinedAt null | string (date-time) required
- name string required
- photoUrl null | string required
- role null | "moderator" | "owner" required
- slackUserId null | string required
- title null | string required
- userId null | string required
- pendingInvitations object[] required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- total number required
communities.ofPerson
List the communities a person belongs to
POST/api/v1/manage/communities/ofPerson
- Read
- Permission communities.ofPerson
const result = await shuffl.communities.ofPerson({
"personId": "<personId>"
});Request fields (1)
- personId string required
Response object[]
- category "interests" | "places" | "resource_group" | "skills" required
- coverUrl null | string required
- id string required
- name string required
- showOnProfile boolean required
- slackChannelName null | string required
communities.archive
Archive a community
POST/api/v1/manage/communities/archive
- Write
- Permission communities.archive
- Needs a requestKey
const result = await shuffl.communities.archive({
"communityId": "<communityId>",
"requestKey": "a-new-unique-key"
});Request fields (2)
- communityId string required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- archived boolean required
communities.createSlackChannel
Create an explicitly public or private Slack channel as an authorized community owner or administrator, retaining its request id across retries
POST/api/v1/manage/communities/createSlackChannel
- Write
- Permission communities.createSlackChannel
- Needs a requestKey
- Needs confirm set to communities.createSlackChannel
const result = await shuffl.communities.createSlackChannel({
"name": "<name>",
"requestId": "<requestId>",
"confirm": "communities.createSlackChannel",
"requestKey": "a-new-unique-key"
});Request fields (6)
- communityId string optional
- isPrivate false | true optional
- name string required
- requestId string required
- confirm "communities.createSlackChannel" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- Option 1 object optional
- id string required
- isPrivate boolean required
- name string required
- outcome "created" required
- Option 2 object optional
- id null required
- isPrivate boolean required
- name string required
- outcome "unknown" required
- Option 1 object optional
communities.fromChannels
Create one community per chosen Slack channel, as an administrator
POST/api/v1/manage/communities/fromChannels
- Write
- Permission communities.fromChannels
- Needs a requestKey
- Needs confirm set to communities.fromChannels
const result = await shuffl.communities.fromChannels({
"channels": [
{
"category": "interests",
"channelId": "<channelId>"
}
],
"confirm": "communities.fromChannels",
"requestKey": "a-new-unique-key"
});Request fields (3)
- channels object[] required
- admission "invite_only" | "open" optional
- category "interests" | "places" | "resource_group" | "skills" required
- channelId string required
- confirm "communities.fromChannels" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- results object[] required
- channelId string required
- communityId null | string required
- name string required
- outcome "admission_required" | "already" | "created" | "failed" | "invite_required" required
- results object[] required
communities.generateCover
Draw an AI cover for a community, as its owner, moderator or an administrator. Keeps a cover already set unless replace is true; idea says what to draw
POST/api/v1/manage/communities/generateCover
- Write
- Permission communities.generateCover
- Needs a requestKey
- Needs confirm set to communities.generateCover
const result = await shuffl.communities.generateCover({
"communityId": "<communityId>",
"confirm": "communities.generateCover",
"requestKey": "a-new-unique-key"
});Request fields (5)
- communityId string required
- idea string optional
- replace false | true optional
- confirm "communities.generateCover" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- coverUrl null | string required
- status "generated" | "kept" | "pending" required
communities.invite
Invite selected people to a community as its owner or administrator; each person must accept
POST/api/v1/manage/communities/invite
- Write
- Permission communities.invite
- Needs a requestKey
- Needs confirm set to communities.invite
const result = await shuffl.communities.invite({
"communityId": "<communityId>",
"personIds": [
"<personIds>"
],
"confirm": "communities.invite",
"requestKey": "a-new-unique-key"
});Request fields (4)
- communityId string required
- personIds string[] required
- confirm "communities.invite" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- invited number required
communities.join
Join a community
POST/api/v1/manage/communities/join
- Write
- Permission communities.join
- Needs a requestKey
const result = await shuffl.communities.join({
"communityId": "<communityId>",
"requestKey": "a-new-unique-key"
});Request fields (4)
- communityId string required
- invitationId string optional
- showOnProfile false | true optional
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- joined boolean required
- slackInvite null | string required
communities.leave
Leave a community
POST/api/v1/manage/communities/leave
- Write
- Permission communities.leave
- Needs a requestKey
const result = await shuffl.communities.leave({
"communityId": "<communityId>",
"requestKey": "a-new-unique-key"
});Request fields (2)
- communityId string required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- left boolean required
- slackChannelName null | string required
communities.removeMember
Remove someone from a community, as its owner or moderator
POST/api/v1/manage/communities/removeMember
- Write
- Permission communities.removeMember
- Needs a requestKey
- Needs confirm set to communities.removeMember
const result = await shuffl.communities.removeMember({
"communityId": "<communityId>",
"personId": "<personId>",
"confirm": "communities.removeMember",
"requestKey": "a-new-unique-key"
});Request fields (4)
- communityId string required
- personId string required
- confirm "communities.removeMember" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- removed boolean required
communities.revokeInvitation
Revoke a pending community invitation as its owner or administrator
POST/api/v1/manage/communities/revokeInvitation
- Write
- Permission communities.revokeInvitation
- Needs a requestKey
- Needs confirm set to communities.revokeInvitation
const result = await shuffl.communities.revokeInvitation({
"communityId": "<communityId>",
"personId": "<personId>",
"confirm": "communities.revokeInvitation",
"requestKey": "a-new-unique-key"
});Request fields (4)
- communityId string required
- personId string required
- confirm "communities.revokeInvitation" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- revoked boolean required
communities.save
Create or edit a community, optionally tied to a Slack channel
POST/api/v1/manage/communities/save
- Write
- Permission communities.save
- Needs a requestKey
- Needs confirm set to communities.save
const result = await shuffl.communities.save({
"category": "interests",
"name": "<name>",
"confirm": "communities.save",
"requestKey": "a-new-unique-key"
});Request fields (12)
- admission "invite_only" | "open" optional
- category "interests" | "places" | "resource_group" | "skills" required
- description string optional
- id string optional
- membersVisibility "everyone" | "self_chosen" optional
- moderatorIds string[] optional
- name string required
- ownerIds string[] optional
- slackChannel null | object optional
- id string required
- name string required
- template object optional
- id string required
- picture "none" | "other" | "template" required
- confirm "communities.save" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- id string required
communities.setVisibility
Show or hide a community on your profile
POST/api/v1/manage/communities/setVisibility
- Write
- Permission communities.setVisibility
- Needs a requestKey
const result = await shuffl.communities.setVisibility({
"communityId": "<communityId>",
"showOnProfile": false,
"requestKey": "a-new-unique-key"
});Request fields (3)
- communityId string required
- showOnProfile boolean required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- saved boolean required
communities.sync
Sync a community's members with its Slack channel now
POST/api/v1/manage/communities/sync
- Write
- Permission communities.sync
- Needs a requestKey
const result = await shuffl.communities.sync({
"communityId": "<communityId>",
"requestKey": "a-new-unique-key"
});Request fields (2)
- communityId string required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- queued boolean required
communities.uploadCover
Set a community cover from a PNG, JPEG or WebP picture sent as base64, as its owner, moderator or an administrator
POST/api/v1/manage/communities/uploadCover
- Write
- Permission communities.uploadCover
- Needs a requestKey
- Needs confirm set to communities.uploadCover
const result = await shuffl.communities.uploadCover({
"communityId": "<communityId>",
"image": "<image>",
"confirm": "communities.uploadCover",
"requestKey": "a-new-unique-key"
});Request fields (4)
- communityId string required
- image string required
- confirm "communities.uploadCover" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- coverUrl null | string required