Skip to content
shuffl

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

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

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

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

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

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

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

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

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

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

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

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

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

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