Reference
Badges API
15 operations. Generated from the OpenAPI document, so this page always matches the API.
OpenAPI documentErrors and rate limitsSDK and CLI recipes
On this page
badges.holders
List the people who hold a badge, as far as each lets you see
POST/api/v1/manage/badges/holders
- Read
- Permission badges.holders
const result = await shuffl.badges.holders({
"badgeId": "<badgeId>"
});Request fields (1)
- badgeId string required
Response object
- badge object required
- automaticKey null | string required
- awardMode "automatic" | "claim_code" | "owner" | "request" required
- description string required
- hidden boolean required
- id string required
- imageUrl null | string required
- kind "custom" | "event" | "program" | "release" | "role" | "tenure" required
- name string required
- canRemove boolean required
- hiddenCount number required
- holders object[] required
- awardedAt string (date-time) 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
badges.list
List the team’s badges, who holds them and any open requests you decide
POST/api/v1/manage/badges/list
- Read
- Permission badges.list
const result = await shuffl.badges.list();Request fields (none)
This operation takes no input.
Response object[]
- automaticKey null | string required
- awardMode "automatic" | "claim_code" | "owner" | "request" required
- canAward boolean required
- canEdit boolean required
- claimCode null | string required
- claimUntil null | string (date-time) required
- description string required
- hidden boolean required
- holders number required
- id string required
- imageUrl null | string required
- kind "custom" | "event" | "program" | "release" | "role" | "tenure" required
- mine null | "held" | "requested" 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
- preview object[] required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- requests object[] required
- createdAt string (date-time) required
- id string required
- message string required
- person object required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
badges.ofPerson
List a person's badges
POST/api/v1/manage/badges/ofPerson
- Read
- Permission badges.ofPerson
const result = await shuffl.badges.ofPerson({
"personId": "<personId>"
});Request fields (1)
- personId string required
Response object
- badges object[] required
- ask null | "open" | "requested" required
- automaticKey null | string required
- awardedAt string (date-time) required
- awardedBy null | object required
- id string required
- name string required
- photoUrl null | string required
- slackUserId null | string required
- title null | string required
- userId null | string required
- badgeId string required
- description string required
- hidden boolean required
- imageUrl null | string required
- kind "custom" | "event" | "program" | "release" | "role" | "tenure" required
- name string required
- reason string required
- hidden boolean required
badges.settings
Read the badge suggestion settings
POST/api/v1/manage/badges/settings
- Read
- Permission badges.settings
const result = await shuffl.badges.settings();Request fields (none)
This operation takes no input.
Response object
- channelOffers boolean required
- launchChannelId null | string required
- launchChannelName null | string required
- praiseOffers boolean required
badges.award
Give a badge you own to a person
POST/api/v1/manage/badges/award
- Write
- Permission badges.award
- Needs a requestKey
- Needs confirm set to badges.award
const result = await shuffl.badges.award({
"badgeId": "<badgeId>",
"personId": "<personId>",
"confirm": "badges.award",
"requestKey": "a-new-unique-key"
});Request fields (5)
- badgeId string required
- personId string required
- reason string optional
- confirm "badges.award" 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
- awarded boolean required
badges.claim
Claim a badge with its code
POST/api/v1/manage/badges/claim
- Write
- Permission badges.claim
- Needs a requestKey
- Needs confirm set to badges.claim
const result = await shuffl.badges.claim({
"code": "<code>",
"confirm": "badges.claim",
"requestKey": "a-new-unique-key"
});Request fields (3)
- code string required
- confirm "badges.claim" 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
- badgeId string required
- name string required
badges.decideRequest
Approve or decline a request for a badge
POST/api/v1/manage/badges/decideRequest
- Write
- Permission badges.decideRequest
- Needs a requestKey
const result = await shuffl.badges.decideRequest({
"approve": false,
"requestId": "<requestId>",
"requestKey": "a-new-unique-key"
});Request fields (3)
- approve boolean required
- requestId 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
- decided boolean required
badges.generatePicture
Draw an AI picture for a badge you own. Keeps a picture already set unless replace is true; idea says what to draw
POST/api/v1/manage/badges/generatePicture
- Write
- Permission badges.generatePicture
- Needs a requestKey
- Needs confirm set to badges.generatePicture
const result = await shuffl.badges.generatePicture({
"badgeId": "<badgeId>",
"confirm": "badges.generatePicture",
"requestKey": "a-new-unique-key"
});Request fields (5)
- badgeId string required
- idea string optional
- replace false | true optional
- confirm "badges.generatePicture" 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
- imageUrl null | string required
- status "generated" | "kept" | "pending" required
badges.hideOwn
Hide or show one of your badges on your profile
POST/api/v1/manage/badges/hideOwn
- Write
- Permission badges.hideOwn
- Needs a requestKey
const result = await shuffl.badges.hideOwn({
"badgeId": "<badgeId>",
"hidden": false,
"requestKey": "a-new-unique-key"
});Request fields (3)
- badgeId string required
- hidden 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
badges.request
Ask for a badge
POST/api/v1/manage/badges/request
- Write
- Permission badges.request
- Needs a requestKey
const result = await shuffl.badges.request({
"badgeId": "<badgeId>",
"requestKey": "a-new-unique-key"
});Request fields (3)
- badgeId string required
- message string 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
- requested boolean required
badges.revoke
Take a badge back from a person
POST/api/v1/manage/badges/revoke
- Write
- Permission badges.revoke
- Needs a requestKey
const result = await shuffl.badges.revoke({
"badgeId": "<badgeId>",
"personId": "<personId>",
"requestKey": "a-new-unique-key"
});Request fields (3)
- badgeId string required
- personId 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
- revoked boolean required
badges.save
Create or edit a badge you own
POST/api/v1/manage/badges/save
- Write
- Permission badges.save
- Needs a requestKey
- Needs confirm set to badges.save
const result = await shuffl.badges.save({
"awardMode": "claim_code",
"kind": "custom",
"name": "<name>",
"confirm": "badges.save",
"requestKey": "a-new-unique-key"
});Request fields (11)
- awardMode "claim_code" | "owner" | "request" required
- claimUntil null | string optional
- description string optional
- id string optional
- kind "custom" | "event" | "program" | "release" | "role" | "tenure" required
- moderatorIds string[] optional
- name string required
- ownerIds string[] optional
- template object optional
- id string required
- picture "none" | "other" | "template" required
- confirm "badges.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
badges.saveSettings
Turn badge offers from praise on or off, and choose the launch channel
POST/api/v1/manage/badges/saveSettings
- Write
- Permission badges.saveSettings
- Needs a requestKey
- Needs confirm set to badges.saveSettings
const result = await shuffl.badges.saveSettings({
"launchChannelId": "<launchChannelId>",
"praiseOffers": false,
"confirm": "badges.saveSettings",
"requestKey": "a-new-unique-key"
});Request fields (5)
- channelOffers false | true optional
- launchChannelId null | string required
- praiseOffers boolean required
- confirm "badges.saveSettings" 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
badges.setHidden
Hide or show a badge for the whole workspace
POST/api/v1/manage/badges/setHidden
- Write
- Permission badges.setHidden
- Needs a requestKey
const result = await shuffl.badges.setHidden({
"badgeId": "<badgeId>",
"hidden": false,
"requestKey": "a-new-unique-key"
});Request fields (3)
- badgeId string required
- hidden 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
badges.uploadPicture
Set a badge picture from a PNG, JPEG or WebP picture sent as base64, for a badge you own
POST/api/v1/manage/badges/uploadPicture
- Write
- Permission badges.uploadPicture
- Needs a requestKey
- Needs confirm set to badges.uploadPicture
const result = await shuffl.badges.uploadPicture({
"badgeId": "<badgeId>",
"image": "<image>",
"confirm": "badges.uploadPicture",
"requestKey": "a-new-unique-key"
});Request fields (4)
- badgeId string required
- image string required
- confirm "badges.uploadPicture" 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
- imageUrl null | string required