Skip to main content

Event Webhooks

This page details the specific data formats for events sent via our webhook system. For information on configuring endpoints, batching, delivery, and authentication, please see the Webhooks Introduction.

Important Note on Field Omission

Nullable and optional fields are omitted entirely when they have no value, rather than being included with null values. This means your webhook handling code should check for field presence rather than checking for null values. For example, a dream without an account will omit the account field completely rather than setting it to null.

Webhook Payload Format

This will be the general format for all event batches object:

{
"batch_id": "uuid",
"timestamp": "2024-03-21T10:00:00Z",
"count": 3,
"events": [
{
"id": "uuid",
"createdAt": "2024-03-21T10:00:00Z",
"type": "string" /* event type */,
"data": { ... } /* event object */
},
...
]
}

Below are details of each of the possible event types:

  • UserCreated
  • UserDestroyed
  • PageView
  • DepositRequested
  • DepositSettled
  • DepositFailed
  • WithdrawalRequested
  • WithdrawalSettled
  • WithdrawalFailed
  • InternalTransferRequested
  • InternalTransferSettled
  • InternalTransferFailed
  • DreamCreated
  • DreamUpdated
  • DreamDeleted
  • DreamAchieved
  • SavehackLaunched
  • SavehackLaunchUpdated
  • DreamMilestone

Below are details of each of the possible event objects sent from DES:

UserCreated / UserDestroyed

Field NameField TypePossible Values
typestringUser
iduuid
externalIdstring
givenNamestring
familyNamestring
provisioningInitiatedAtRFC3339
unreadMessagesCountinteger

PageView

Field NameField TypePossible Values
pathstring
timestampRFC3339
userobject
Field NameField Type
typestring
idstring
externalIdstring

DepositRequested / DepositSettled / DepositFailed

Note: Optional fields like toAccount and toDream will be omitted entirely when not present, rather than being included with null values.

Field NameField TypePossible Values
typestringDeposit
iduuid
externalIdstring
transferConsentIduuid
amountCentsinteger
statestringrequested, settled, failed
requestedAtRFC3339
settledAtRFC3339
failedAtRFC3339
userobject
Field NameField Type
typestring
idstring
externalIdstring
toAccountobject
Field NameField Type
typestring
idstring
externalIdstring
toDreamobject
Field NameField Type
iduuid
targetCentsinteger
typestring
expiresAtRFC3339
achievedAtRFC3339
namestring
balanceCentsinteger
deletedAtRFC3339
imageUrlstring
activeSavehacksCountinteger
userobject
groupDreamobject
accountobject
dreamInspirationobject

State Mapping: The state field maps internal transaction states as follows:

  • successsettled
  • failedfailed
  • pendingpending
  • createdrequested

WithdrawalRequested / WithdrawalSettled / WithdrawalFailed

Field NameField TypePossible Values
typestringWithdrawal
iduuid
externalIdstring
transferConsentIduuid
amountCentsinteger
statestringrequested, settled, failed
requestedAtRFC3339
settledAtRFC3339
failedAtRFC3339
userobject
Field NameField Type
typestring
idstring
externalIdstring
fromAccountobject
Field NameField Type
typestring
idstring
externalIdstring
fromDreamobject
Field NameField Type
typestring
idstring
namestring
toAccountobject
Field NameField Type
typestring
idstring
externalIdstring
toDreamobject
Field NameField Type
iduuid
targetCentsinteger
typestring
expiresAtRFC3339
achievedAtRFC3339
namestring
balanceCentsinteger
deletedAtRFC3339
imageUrlstring
activeSavehacksCountinteger
userobject
groupDreamobject
accountobject
dreamInspirationobject

InternalTransferRequested / InternalTransferSettled / InternalTransferFailed

Field NameField TypePossible Values
typestringInternal
iduuid
externalIdstring
transferConsentIduuid
amountCentsinteger
statestringrequested, settled, failed
requestedAtRFC3339
settledAtRFC3339
failedAtRFC3339
userobject
Field NameField Type
typestring
idstring
externalIdstring
fromAccountobject
Field NameField Type
typestring
idstring
externalIdstring
fromDreamobject
Field NameField Type
typestring
idstring
namestring
toAccountobject
Field NameField Type
typestring
idstring
externalIdstring
toDreamobject
Field NameField Type
typestring
idstring
namestring

DreamCreated / DreamUpdated / DreamDeleted / DreamAchieved

Note: Optional fields like expiresAt, achievedAt, deletedAt, account, groupDream, and dreamInspiration will be omitted entirely when not present, rather than being included with null values.

Field NameField TypePossible ValuesNotes
typestring
iduuid
targetCentsinteger
expiresAtRFC3339
achievedAtRFC3339
deletedAtRFC3339Only present for DreamDeleted
namestring
balanceCentsinteger
imageUrlstring
activeSavehacksCountinteger
userobject
Field NameField Type
typestring
idstring
externalIdstring
accountobject
Field NameField Type
typestring
idstring
externalIdstring
groupDreamobject
Field NameField Type
typestring
idstring
dreamInspirationobject
Field NameField Type
iduuid
translatedNameobject
targetCentsinteger
durationSecondsinteger
imageUrlstring
typestring
Nullable

DreamMilestone

Field NameField TypePossible Values
percentageinteger25,50,75,100
balanceCentsinteger
balanceCentsBeforeinteger
userobject
Field NameField Type
typestring
idstring
dreamobject
Field NameField Type
typestring
idstring
toDreamobject
Field NameField Type
typestring
idstring
fromDreamobject
Field NameField Type
typestring
idstring

SavehackLaunched / SavehackLaunchUpdated

These differ per SavehackLaunch type. The details for each type is as follows:

AutopilotLaunch

Field NameField TypePossible Values
typestringAutopilotLaunch
iduuid
stoppedAtRFC3339
pausedAtRFC3339
dreamobject
Field NameField Type
typestring
idstring
savehackobject
Field NameField Type
typestring
idstring
dreamInspirationobjectDream Inspiration object structure (See DreamCreated section for details)

DailyLaunch

Field NameField TypePossible Values
typestringDailyLaunch
iduuid
stoppedAtRFC3339
pausedAtRFC3339
centsinteger1 <=> 9223372036854776000
dreamobject
Field NameField Type
typestring
idstring
savehackobject
Field NameField Type
typestring
idstring
dreamInspirationobjectDream Inspiration object structure (See DreamCreated section for details)

WeeklyLaunch / EverestLaunch

Field NameField TypePossible Values
typestringWeeklyLaunch / EverestLaunch
iduuid
stoppedAtRFC3339
pausedAtRFC3339
centsinteger1 <=> 9223372036854776000
dayOfWeekinteger0 <=> 6
dreamobject
Field NameField Type
typestring
idstring
savehackobject
Field NameField Type
typestring
idstring
dreamInspirationobjectDream Inspiration object structure (See DreamCreated section for details)

MonthlyLaunch / PercentageLaunch

Field NameField TypePossible Values
typestringMonthlyLaunch / PercentageLaunch
iduuid
stoppedAtRFC3339
pausedAtRFC3339
centsinteger1 <=> 9223372036854776000
dayOfMonthinteger1 <=> 31
dreamobject
Field NameField Type
typestring
idstring
savehackobject
Field NameField Type
typestring
idstring
dreamInspirationobjectDream Inspiration object structure (See DreamCreated section for details)

ThiefLaunch

Field NameField TypePossible Values
typestringThiefLaunch
iduuid
stoppedAtRFC3339
pausedAtRFC3339
minCentsinteger>= 1
maxCentsinteger<= 9223372036854776000
dreamobject
Field NameField Type
typestring
idstring
savehackobject
Field NameField Type
typestring
idstring
dreamInspirationobjectDream Inspiration object structure (See DreamCreated section for details)

RocketLaunch / OneTimeLaunch / RouletteLaunch / MoonstruckLaunch / CalendarChaosLaunch / CopycatLaunch / EurocupLaunch

Field NameField TypePossible Values
typestringRocketLaunch / OneTimeLaunch / RouletteLaunch / MoonstruckLaunch / CalendarChaosLaunch / CopycatLaunch / EurocupLaunch
iduuid
stoppedAtRFC3339
pausedAtRFC3339
centsinteger1 <=> 9223372036854776000
dreamobject
Field NameField Type
typestring
idstring
savehackobject
Field NameField Type
typestring
idstring
dreamInspirationobjectDream Inspiration object structure (See DreamCreated section for details)

SaveLeagueLaunch

Field NameField TypePossible Values
typestringSaveLeagueLaunch
iduuid
stoppedAtRFC3339
pausedAtRFC3339
centsinteger1 <=> 9223372036854776000
referencestring
dreamobject
Field NameField Type
typestring
idstring
savehackobject
Field NameField Type
typestring
idstring
dreamInspirationobjectDream Inspiration object structure (See DreamCreated section for details)