Notifications

Thryve sends, if enabled, proactive notifications for new or updated user data through webhooks. These notifications will be sent as POST requests to a designated HTTPS URL (Port 443). The webhooks are triggered when:

  • A user connects or disconnects a data source.

  • New epoch or daily data is stored, or existing data is updated.

Ensure to respond to the request with a 200 or 204 within 2 seconds. Failed deliveries will be retried up to 3 times. Recurring failed deliveries within a certain timeframe will lead to the automatic disabling of webhooks.

circle-exclamation

Configuration

Webhooks can be enabled or disabled for each data dimension (epoch/daily/measurement). To enable webhooks, you need a functioning public Webhook URL, which can be set up in the Thryve dashboard. You can also add custom authentication to secure your webhook endpoint using web authentication, configurable through the Thryve Dashboard.

circle-info

If you still use webhooks in old webhook format and would like to switch to the new webhook format, please reach out to our support team.

Data source connection/disconnection webhook

When enabled, this webhook will trigger whenever a user connects or disconnects a data source.

{
    "endUserId": "123accessToken",
    "endUserAlias": "YourEndUserAlias",
    "timestampType": "iso",
    "type": "notification.source.connect",
    "data": {
        "timestamp": "2022-09-07T17:40:00Z",
        "dataSourceId": 1
    }
}
Parameter
Description

endUserId

String containing the unique identifier of a user in Thryve's system. Auto-generated upon user creation. Formerly known as accessToken.

endUserAlias

String containing the optional alias set by you when creating a user. Formerly known as partnerUserId. Only returned if not null.

timestampType

String specifying the timestamps to expect in the data object. iso or unix. Can be configured in Thryve Dashboard (coming soon)

type

String specifying the payload structure and event to expect in the data object. webhook.source.connect or webhook.source.disconnect.

timestamp

Specifies when the connection/disconnection happened. Either string with the date and time in utc (iso) or integer with timestamp in milliseconds (unix).

dataSourceId

Integer specifying the dataSourceId new the connection/disconnection has happend for.

Epoch data creation/update webhook

When enabled, this webhook will trigger whenever new data is stored for a data source or existing data is updated. Updates occur if the endTimestamp or value of an epoch data point change.

Parameter
Description

endUserId

String containing the unique identifier of a user in Thryve's system. Auto-generated upon user creation. Formerly known as accessToken.

endUserAlias

String containing the optional alias set by you when creating a user. Formerly known as partnerUserId. Only returned if not null.

timestampType

String specifying the timestamps to expect in the data object. iso or unix. Can be configured in Thryve Dashboard (coming soon)

type

String specifying the payload structure to expect in the data object. Always notification.data.epoch.createupdate.

startTimestamp

Specifies the start of the period containing new data. Either string with the date and time in utc (iso) or integer with timestamp in milliseconds (unix).

endTimestamp

Specifies the end of the period containing new data. Either string with the date and time in utc (iso) or integer with timestamp in milliseconds (unix).

dataSourceId

Integer specifying the dataSourceId new data has been stored for.

dataTypeIds

Array containing the dataSourceIds new data has been stored for.

Daily data creation/update webhook

When enabled, this webhook will trigger whenever new data is stored for a data source or existing data is updated. Updates occur if the value or generationType of a daily data point change.

Parameter
Description

endUserId

String containing the unique identifier of a user in Thryve's system. Auto-generated upon user creation. Formerly known as accessToken.

endUserAlias

String containing the optional alias set by you when creating a user. Formerly known as partnerUserId. Only returned if not null.

timestampType

String specifying the timestamps to expect in the data object. iso or unix. Can be configured in Thryve Dashboard (coming soon)

type

String specifying the payload structure to expect in the data object. Always notification.data.daily.createupdate.

startDay

Specifies the start of the period containing new data. Either string with the date (iso) or integer with timestamp in milliseconds (unix).

endDay

Specifies the end of the period containing new data. Either string with the date (iso) or integer with timestamp in milliseconds (unix).

dataSourceId

Integer specifying the dataSourceId new data has been stored for.

dataTypeIds

Array containing the dataSourceIds new data has been stored for.

Last updated