Webhooks V2 overview
In the webhook system, an event is any change to platform content. Events occur when content is created, updated, or deleted. Webhooks notify external systems about these events by sending a message to your configured endpoint.
Principles of operation
Webhooks are event-driven messages. The platform tracks content activity and pushes a payload to your endpoint when an event occurs. The overall payload format is the same across all content types (Stories, Moments, Videos). However, the inner content object has differences according to content type.
The example that follows illustrates the outer payload level. Complete examples, per content type, are set out in the pages associated with this article.
The following image shows the payload structure (based on the stories JSON). The moments and videos webhooks have similar structures.
classDiagram
class Webhook {
string Action
string ActionTime
string ContentId
string ContentType
}
class Content {
string Id
string Type
string Title
string Description
int Version
string AspectRatios
string Status
boolean IsLive
string CreateTime
string UpdateTime
string ExecutionTimeType
string htmlUrl
}
class Thumbnail {
string Url
string AspectRatio
}
class GeoTargeting {
string IncludedGeos
string ExcludedGeos
}
class Metadata {
object Competition
object Game
object Team
object Player
object Round
object Season
}
class Competition {
string Provider
string ProviderId
int WscId
}
class Game {
string Provider
string ProviderId
int WscId
}
class Team {
string Provider
string ProviderId
int WscId
}
class Player {
string Provider
string ProviderId
int WscId
}
class Round {
string Provider
string ProviderId
int WscId
}
class Season {
string Provider
string ProviderId
int WscId
}
class Page {
string Id
int Index
float Duration
string CreateTime
string UpdateTime
object Metadata
}
class ExtraInfo {
string action
string round
string homeTeam
string awayTeam
string propertyId
string propertyName
string gameId
string teamId
string playerId
string roundId
}
class Label {
string Title
string Identifier
}
Webhook --> Content
Content --> Thumbnail : Thumbnails[*]
Content --> GeoTargeting
Content --> Metadata
Content --> Page : Pages[*]
Content --> Label : Labels[*]
Content --> ExtraInfo
Metadata --> Competition
Metadata --> Game
Metadata --> Team
Metadata --> Player
Metadata --> Round
Metadata --> Season
Page --> Thumbnail : Thumbnails[*]
Webhook payload specification
The table that follows describes the properties in the outer section of the payload.
| Property | Type | Description |
|---|---|---|
Action | string | The action that triggered the webhook:
|
ActionTime | string | ISO 8601 timestamp of when the action occurred |
ContentId | string | Unique identifier of the content |
ContentType | string | Type of content:
|
Content | object | The content object, structure varies by content type and is described in this article |
Example outer payload level
{
"Action": "Update",
"ActionTime": "2025-09-02T07:35:05.202Z",
"ContentId": "zzz",
"ContentType": "Story",
"Content": { // Populated per content type //
}
}
Properties common to all content types
| Property | Description |
|---|---|
ExecutionTimeType | Workflow context of content creation. Options:
|
AspectRatios | Available formats for the content. Options:
|
IncludedGeos | Array of country codes where content should be available. null = available everywhere |
ExcludedGeos | Array of country codes where content should not be available. null = no exclusions |
Updated 1 day ago
