Delta Update

This page provides guidelines for implementing a Universal Metadata Database (UMD) delta feed. A delta feed is a partial feed update, compared to the full feed which updates all your programs.

Separate Full and Delta Feeds

To implement a delta feed separately from the full feed, depending on the platform:

  • For HTTP/HTTPS feeds, provide the delta feed on a separate static URL (a different endpoint, query parameter, or other mechanism).
  • For S3 feeds, provide a separate directory for delta files.

Full and Delta Cycles

If the feed is provided through HTTP/HTTPS:

If the feed is provided via S3:

  • Delta files must be placed in a separate directory, and each file name must contain the actual creation timestamp of the delta file.
  • The full file name must also contain the actual creation timestamp of the full file. For example: If the full file for March 2024, {your_app_id}_20240311_090027.xml.gz, is located in the {your_app_id} directory, the delta file, {your_app_id}_20240311_110038.xml.gz, is placed in a separate directory, {your_app_id}_Delta.
  • If multiple delta files are provided, only the latest delta file is processed.
  • The delta file is processed only if its creation timestamp is later than that of the full file.

Delta Feed Content

The delta feed must contain all changes since the last full feed, including changes already sent in previous delta feeds after that full feed. Changes must be calculated against the last full file/feed.

Include only changed programs in the delta feed and focus on changes that affect content scheduled to be available before the next full feed update. For example:

  • Useful case: For the 2024 Olympics Men's Singles Tennis Bronze Medal Match, the August 7 full file listed the match as starting on August 8 at 14:00 UTC and ending at 17:00 UTC. The schedule was then changed to 16:00–19:00 UTC.
  • Not useful case: Your contract with a production company has been terminated, and its content will be removed from your catalog next week. This change does not need to be included in the delta feed because the full feed can handle it.

Spec-Compliance

Each program must contain all of its details, even if only some fields have changed. Include all playback_items of the program, not only new or updated playback_items.

If you are providing a full metadata feed (Program data structure without an external ID):

  • Include all program data, such as titles, images, and descriptions.

  • Include the hierarchical data. If an episode has changed, the feed must also contain its season and show.

    For example, if show ABC's episode 8 for season 2 of has changed, provide the details of show ABC, season 2, and episode 8.

  • To delete content, remove the corresponding playback_item:

    • If a program initially had two playback_items and one is deleted, provide only the remaining playback_item.
    • If a program has only one playback_item and it is deleted, provide the program without any playback_items.