Skip to content
shuffl

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

Reference

Celebrations API

16 operations. Generated from the OpenAPI document, so this page always matches the API.

OpenAPI documentErrors and rate limitsSDK and CLI recipes

On this page

celebrations.card

Open a celebration card you can sign or were given

POST/api/v1/manage/celebrations/card

const result = await shuffl.celebrations.card({
"cardId": "<cardId>"
});
Request fields (1)
  • cardId string required
Response object
  • deliverAt string (date-time) required
  • deliveredAt null | string (date-time) required
  • eventType "anniversary" | "birthday" required
  • id string required
  • milestone boolean required
  • notes object[] required
    • authorId string required
    • body string required
    • mine boolean required
    • name string required
    • updatedAt string (date-time) required
  • open boolean required
  • person object required
    • id string required
    • name string required
  • role "recipient" | "signer" required
  • signers number required
  • title string required
  • years null | number required

celebrations.cards

List celebration cards to sign and cards you were given

POST/api/v1/manage/celebrations/cards

const result = await shuffl.celebrations.cards();
Request fields (none)

This operation takes no input.

Response object
  • received object[] required
    • deliveredAt null | string (date-time) required
    • eventType "anniversary" | "birthday" required
    • id string required
    • notes number required
    • years null | number required
  • toSign object[] required
    • deliverAt string (date-time) required
    • eventType "anniversary" | "birthday" required
    • id string required
    • name string required
    • signed boolean required
    • years null | number required

celebrations.deliveries

List the celebration messages Shuffl sent

POST/api/v1/manage/celebrations/deliveries

const result = await shuffl.celebrations.deliveries({});
Request fields (1)
  • page number optional
Response object
  • counts object required
    • history number required
    • scheduled number required
    • sent number required
  • history object[] required
    • attempts number required
    • audience "channel" | "person" | "team" required
    • eventType "anniversary" | "birthday" required
    • id string required
    • personId string required
    • personName string required
    • providerReceipt null | string required
    • reason null | string required
    • recipientName string required
    • scheduledAt string (date-time) required
    • sentAt null | string (date-time) required
    • state "attempting" | "cancelled" | "failed" | "scheduled" | "sent" | "skipped" | "unknown" required
    • stateChangedAt null | string (date-time) required
    • timezone string required
    • transport "slack" | "web" required
    • years null | number required
  • page number required
  • pageSize number required
  • upcoming object[] required
    • attempts number required
    • audience "channel" | "person" | "team" required
    • eventType "anniversary" | "birthday" required
    • id string required
    • personId string required
    • personName string required
    • providerReceipt null | string required
    • reason null | string required
    • recipientName string required
    • scheduledAt string (date-time) required
    • sentAt null | string (date-time) required
    • state "attempting" | "cancelled" | "failed" | "scheduled" | "sent" | "skipped" | "unknown" required
    • stateChangedAt null | string (date-time) required
    • timezone string required
    • transport "slack" | "web" required
    • years null | number required

celebrations.mine

List the celebrations you received

POST/api/v1/manage/celebrations/mine

const result = await shuffl.celebrations.mine();
Request fields (none)

This operation takes no input.

Response object[]
  • eventType "anniversary" | "birthday" required
  • id string required
  • sentAt null | string (date-time) required
  • text string required
  • transport "slack" | "web" required
  • years null | number required

celebrations.preferences

Read your birthday and work anniversary sharing preferences

POST/api/v1/manage/celebrations/preferences

const result = await shuffl.celebrations.preferences();
Request fields (none)

This operation takes no input.

Response object
  • anniversaryOptOut boolean required
  • anniversaryShare "channel" | "private" | "team" required
  • anniversaryShareChannelId null | string required
  • birthday null | object required
    • day number required
    • month number required
  • birthdayOptOut boolean required
  • birthdayShare "channel" | "private" | "team" required
  • birthdayShareChannelId null | string required
  • personId string required
  • revision number required
  • sharing object required
    • anniversary object required
      • audience null | "channel" | "person" | "team" required
      • channelName null | string required
      • consented boolean required
      • enabled boolean required
    • birthday object required
      • audience null | "channel" | "person" | "team" required
      • channelName null | string required
      • consented boolean required
      • enabled boolean required
  • startDate null | string required
  • updatedAt null | string (date-time) required

celebrations.preview

Preview a celebration message

POST/api/v1/manage/celebrations/preview

const result = await shuffl.celebrations.preview({
"audience": "channel",
"channelId": "<channelId>",
"channelName": "<channelName>",
"eventType": "anniversary",
"sendHour": 0,
"sendMinute": 0,
"template": "<template>"
});
Request fields (9)
  • audience "channel" | "person" | "team" required
  • channelId null | string required
  • channelName null | string required
  • eventType "anniversary" | "birthday" required
  • offDayShift "after" | "before" optional
  • sendDays number[] optional
  • sendHour number required
  • sendMinute number required
  • template string required
Response object
  • messages object[] required
    • Option 1 object optional
      • audience "person" required
      • recipient string required
      • text string required
      • transport "slack" | "web" required
    • Option 2 object optional
      • audience "channel" required
      • recipient string required
      • text string required
      • transport "slack" required
    • Option 3 object optional
      • audience "team" required
      • recipient string required
      • text string required
      • transport "slack" required
  • sample object required
    • Option 1 object optional
      • consented boolean required
      • expiresAt string (date-time) required
      • name string required
      • personId string required
      • scheduledAt string (date-time) required
      • sendDate string required
      • shifted boolean required
      • slack boolean required
      • timezone string required
      • years null | number required
    • Option 2 object optional
      • consented boolean required
      • expiresAt null required
      • name string required
      • personId null required
      • scheduledAt null required
      • sendDate null required
      • shifted boolean required
      • slack boolean required
      • timezone string required
      • years null | number required
  • settings object required
    • audience "channel" | "person" | "team" required
    • channelId null | string required
    • channelName null | string required
    • eventType "anniversary" | "birthday" required
    • offDayShift "after" | "before" required
    • sendDays number[] required
    • sendHour number required
    • sendMinute number required
    • template string required
  • sharedNote null | string required

celebrations.program

Read the Celebrations settings

POST/api/v1/manage/celebrations/program

const result = await shuffl.celebrations.program();
Request fields (none)

This operation takes no input.

Response object
  • programs object[] required
    • audience "channel" | "person" | "team" required
    • channelId null | string required
    • channelName null | string required
    • enabled boolean required
    • eventType "anniversary" | "birthday" required
    • offDayShift "after" | "before" required
    • revision number required
    • scheduled number required
    • sendDays number[] required
    • sendHour number required
    • sendMinute number required
    • template string required
    • updatedAt null | string (date-time) required
  • scheduled number required

celebrations.review

Review upcoming birthdays and work anniversaries

POST/api/v1/manage/celebrations/review

const result = await shuffl.celebrations.review({});
Request fields (1)
  • page number optional
Response object
  • counts object required
    • anniversaryOptedOut number required
    • birthdayNotAdded number required
    • birthdayOptedOut number required
    • noStartDate number required
    • pending number required
    • people number required
    • total number required
  • noStartDate object[] required
    • id string required
    • name string required
  • page number required
  • pageSize number required
  • rows object[] required
    • celebration "off" | "private" | "shared" required
    • eventType "anniversary" | "birthday" required
    • id string required
    • occurrenceDate string required
    • personId string required
    • personName string required
    • reason null | string required
    • sendDate string required
    • startsAt string (date-time) required
    • state "cancelled" | "pending" | "superseded" required
    • timezone string required
    • years null | number required
  • window object required
    • from string required
    • to string required

celebrations.startDates

Read which start date anniversaries count from and the start dates that look wrong

POST/api/v1/manage/celebrations/startDates

const result = await shuffl.celebrations.startDates();
Request fields (none)

This operation takes no input.

Response object
  • anniversariesOn boolean required
  • anniversaryDate "latest_hire" | "original_hire" required
  • findings object[] required
    • count number required
    • date null | string required
    • kind "future" | "long_ago" | "shared" required
    • people object[] required
      • id string required
      • name string required
      • startDate string required
  • firstHires number required
  • lastCheckedAt null | string (date-time) required
  • nextCheckAt null | string (date-time) required
  • revision number required

celebrations.thisWeek

List who was celebrated in a channel in the last seven days

POST/api/v1/manage/celebrations/thisWeek

const result = await shuffl.celebrations.thisWeek();
Request fields (none)

This operation takes no input.

Response object
  • days number required
  • people object[] required
    • eventType "anniversary" | "birthday" required
    • name string required
    • personId string required
    • sentAt null | string (date-time) required
    • years null | number required

celebrations.refresh

Look for new birthdays and work anniversaries to celebrate now

POST/api/v1/manage/celebrations/refresh

const result = await shuffl.celebrations.refresh({
"requestKey": "a-new-unique-key"
});
Request fields (1)
  • 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
    • cancelled number required
    • from string (date-time) required
    • inserted number required
    • people number required
    • superseded number required
    • to string (date-time) required
    • updated number required

celebrations.removeCardNote

Remove your note from this celebration card

POST/api/v1/manage/celebrations/removeCardNote

const result = await shuffl.celebrations.removeCardNote({
"cardId": "<cardId>",
"confirm": "celebrations.removeCardNote",
"requestKey": "a-new-unique-key"
});
Request fields (3)
  • cardId string required
  • confirm "celebrations.removeCardNote" 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

celebrations.save

Save celebration settings; enabling them schedules messages

POST/api/v1/manage/celebrations/save

  • Write
  • Permission celebrations.save
  • Needs a requestKey
  • Needs confirm set to celebrations.save
const result = await shuffl.celebrations.save({
"audience": "channel",
"channelId": "<channelId>",
"channelName": "<channelName>",
"enabled": false,
"eventType": "anniversary",
"expectedRevision": 0,
"sendHour": 0,
"sendMinute": 0,
"template": "<template>",
"confirm": "celebrations.save",
"requestKey": "a-new-unique-key"
});
Request fields (13)
  • audience "channel" | "person" | "team" required
  • channelId null | string required
  • channelName null | string required
  • enabled boolean required
  • eventType "anniversary" | "birthday" required
  • expectedRevision number required
  • offDayShift "after" | "before" optional
  • sendDays number[] optional
  • sendHour number required
  • sendMinute number required
  • template string required
  • confirm "celebrations.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
    • cancelled number required
    • changed boolean required
    • revision number required
    • scheduled number required

celebrations.saveAnniversaryDate

Choose which start date work anniversaries count from; reschedules them

POST/api/v1/manage/celebrations/saveAnniversaryDate

const result = await shuffl.celebrations.saveAnniversaryDate({
"anniversaryDate": "latest_hire",
"expectedRevision": 0,
"confirm": "celebrations.saveAnniversaryDate",
"requestKey": "a-new-unique-key"
});
Request fields (4)
  • anniversaryDate "latest_hire" | "original_hire" required
  • expectedRevision number required
  • confirm "celebrations.saveAnniversaryDate" 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
    • changed boolean required
    • revision number required
    • scheduled number required

celebrations.savePreferences

Save your birthday and work anniversary sharing preferences

POST/api/v1/manage/celebrations/savePreferences

const result = await shuffl.celebrations.savePreferences({
"anniversaryOptOut": false,
"birthday": {
"day": 0,
"month": 0
},
"birthdayOptOut": false,
"expectedRevision": 0,
"requestKey": "a-new-unique-key"
});
Request fields (7)
  • anniversaryOptOut boolean required
  • anniversaryShare false | true optional
  • birthday null | object required
    • day number required
    • month number required
  • birthdayOptOut boolean required
  • birthdayShare false | true optional
  • expectedRevision number 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
      • anniversaryOptOut boolean required
      • anniversaryShare "channel" | "private" | "team" required
      • anniversaryShareChannelId null | string required
      • birthday null | object required
        • day number required
        • month number required
      • birthdayOptOut boolean required
      • birthdayShare "channel" | "private" | "team" required
      • birthdayShareChannelId null | string required
      • cancelledDeliveries number required
      • changed boolean required
      • detection null required
      • revision number required
      • sharing object required
        • anniversary object required
        • birthday object required
      • updatedAt null | string (date-time) required
    • Option 2 object optional
      • anniversaryOptOut boolean required
      • anniversaryShare "channel" | "private" | "team" required
      • anniversaryShareChannelId null | string required
      • birthday null | object required
        • day number required
        • month number required
      • birthdayOptOut boolean required
      • birthdayShare "channel" | "private" | "team" required
      • birthdayShareChannelId null | string required
      • cancelledDeliveries number required
      • changed boolean required
      • detection object required
        • cancelled number required
        • from string (date-time) required
        • inserted number required
        • people number required
        • superseded number required
        • to string (date-time) required
        • updated number required
      • revision number required
      • sharing object required
        • anniversary object required
        • birthday object required
      • updatedAt null | string (date-time) required

celebrations.signCard

Sign this celebration card with your note

POST/api/v1/manage/celebrations/signCard

const result = await shuffl.celebrations.signCard({
"body": "<body>",
"cardId": "<cardId>",
"confirm": "celebrations.signCard",
"requestKey": "a-new-unique-key"
});
Request fields (4)
  • body string required
  • cardId string required
  • confirm "celebrations.signCard" 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
    • edited boolean required
    • eventType "anniversary" | "birthday" required