Skip to content
shuffl

Searches the public product guides only. Nothing from a workspace is read, and questions are not saved.

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

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

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

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

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

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

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

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

communities.fromChannels

Create one community per chosen Slack channel, as an administrator

POST/api/v1/manage/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

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

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

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

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

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

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

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

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

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