GuidesAPI ReferenceRelease Notes
HomeLog InHome
Guides

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.

PropertyTypeDescription
ActionstringThe action that triggered the webhook:
  • Create: Newly created content
  • Update: Existing content modified
  • Delete: Content deleted
ActionTimestringISO 8601 timestamp of when the action occurred
ContentIdstringUnique identifier of the content
ContentTypestringType of content:
  • Story: A collection of related content pages
  • Moment: A single piece of content (typically short-form)
  • Video: Similar to Moment but specifically for longer-form video content
ContentobjectThe 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

PropertyDescription
ExecutionTimeTypeWorkflow context of content creation. Options:
  • None (manual/AVGen)
  • PreGame (before a game)
  • InGame (during a game)
  • PostGame (after a game)
AspectRatiosAvailable formats for the content. Options:
  • Vertical (9:16)
  • Horizontal (16:9)
  • Square (1:1)
  • TwoToThree (2:3)
IncludedGeosArray of country codes where content should be available. null = available everywhere
ExcludedGeosArray of country codes where content should not be available. null = no exclusions


Did this page help you?