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
- Read
- Permission 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
- Read
- Permission 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
- Read
- Permission 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
- Read
- Permission 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
- Read
- Permission 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
- anniversary object required
- startDate null | string required
- updatedAt null | string (date-time) required
celebrations.preview
Preview a celebration message
POST/api/v1/manage/celebrations/preview
- Read
- Permission 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
- Option 1 object optional
- 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
- Option 1 object optional
- 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
- Read
- Permission 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
- Read
- Permission 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
- Read
- Permission 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
- Read
- Permission 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
- Write
- Permission celebrations.refresh
- Needs a requestKey
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
- Write
- Permission celebrations.removeCardNote
- Needs a requestKey
- Needs confirm set to 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
- Write
- Permission celebrations.saveAnniversaryDate
- Needs a requestKey
- Needs confirm set to 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
- Write
- Permission celebrations.savePreferences
- Needs a requestKey
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
- Option 1 object optional
celebrations.signCard
Sign this celebration card with your note
POST/api/v1/manage/celebrations/signCard
- Write
- Permission celebrations.signCard
- Needs a requestKey
- Needs confirm set to 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