Unique identifiers of the program from reference metadata providers.
Defined with the ExternalProgramId data structure.
Table 1: Program data structure with external ID
PlaybackItem
The playback_items array defines video playback items and their available options with the PlaybackItem data structures.
NoteThis field is not mandatory for the "season" program type. It is also not mandatory for a "show" program that has child programs (seasons/episodes).
Field
Type
Mandatory
Description
deeplink_payload
String
True
Deeplink payload value to be delivered to your application. Your application must open the content's detail page using this payload value.
country_code
String
True
Country in which this item is available, in ISO 3166-1 alpha-2 format (2-letter country codes)
license
String
True
License type:
• "free": can be watched without any restrictions
• "rental": can be watched for a limited period after purchase
• "purchase": can be watched at any time after purchase
• "subscription": for subscription members only
• "authentication": for signed-in members only
price
Decimal
True with Exception
Item price, with up to two decimal places.
※ Exception: The "free", "authentication", and "subscription" license types do not require this field.
currency
String
True with Exception
Currency of the item price, in ISO 4217 format (3-letter currency codes)
※ Exception: The "free", "authentication", and "subscription" license types do not require this field.
Audio languages available with this playback option, as a list of languages in ISO 639-1 format (2-letter language codes)
subtitle_languages
List of Strings
False
Subtitle languages available with this playback option, as a list of languages in ISO 639-1 format (2-letter language codes)
available_starting
String
True
Content availability start time, in UTC, in "YYYY-MM-DD HH:MM:SS" format
Note: This data should be provided at least three days before the availability start time.
available_ending
String
True
Content availability end time, in UTC, in "YYYY-MM-DD HH:MM:SS" format
Note: This data should be provided at least three days before the availability end time.
Location-based restrictions of the PlaybackItem. Defined with the GeoRestrictions data structure.
Note:
• If geo_restrictions is not specified, the playback item defaults to "allow" nationwide.
• The geo_restrictions field is applicable only if all of the program is "sports event".
• All PlaybackItems within the same program_id that share the same country_code must have the same geo_restrictions value.
An attribute tag is a predefined tag that describes an additional content attribute. More tags may be added in the future.
NoteTags are case-sensitive, and any tag not defined in this specification will be dropped during ingestion.
Name
Description
live_ott
Live OTT viewing option tag
hdr10+
HDR10+ video tag
Table 3: Attribute tags
GeoRestrictions
The GeoRestrictions data structure defines the location-based restrictions of each playback item.
NoteBecause the Samsung TV Platform determines user location by IP address, blackout restrictions may not be enforceable when a VPN is used.
Field
Type
Mandatory
Description
access_type
String
True
PlaybackItem access type:
• "allow": defines a list of the only locations where the content can be shown.
• "deny": defines a blackout list of locations where the content cannot be shown.
Note:
• The access_type value must be either "allow" or "deny". They are mutually exclusive.
• If "allow" is chosen, all locations not listed in "value" are treated as restricted. Conversely, if "deny" is chosen, all locations not listed in "value" are treated as unrestricted.
type
String
True
GeoRestrictions type. Only one of the geoRestriction types can be used for each playback item.
Time zone in IANA Time Zone Database format
(for example, America/Los_Angeles, America/New_York)
zipcode
List of Strings
The length of the zipcode varies by country. We use partial zipcodes because full zipcodes are specific down to the street level, which is more granular than the location data we use. For example, the US uses a standard 5-digit zipcode, and an additional 4 digits can be added for more specific information. However, these additional 4 digits are not included in this specification because they refer to areas too small to be useful for geo-blocking. Canada uses 6-character postal codes, but only the first 3 characters are used for geo-blocking.
• US: 5 characters (e.g., "10016" for New York)
• CA: 3 characters (e.g., "L4A" for Stouffville)
• GB: 2-4 characters (e.g., "CB8" for Newmarket)
Note: The accuracy of zipcode-based restrictions cannot be guaranteed.
Table 6: Georestriction values
GeoRestrictionArea
This data structure defines a restricted area by location. It is used only for the "area" georestriction type.
Field
Type
Mandatory
Description
region
String
True
Name of the subdivision (for example, "Texas", "California")
Note: When city is provided, region must be the subdivision to which those cities belong.
city
List of Strings
False
Names of cities within the specified region, at the city level only and not in smaller units, such as towns or villages
(for example, "El Paso, "San Diego", "New York", "Los Angeles")
Note: For a region-only restriction, the city field is not needed.
Table 7: GeoRestrictionArea data structure
ExternalProgramId
The external_ids array defines the IDs of the program with the ExternalProgramId data structure. The IDs originate from a reference metadata provider, enabling the Samsung database to cross-reference and match it with existing database entries.
Field
Type
Mandatory
Description
external_program_id
String
True
Provider's unique program ID
provider
String
True
Reference metadata provider name:
• "tms": Gracenote TMS ID
Note: Currently, only TMS IDs are accepted, and only in the US, CA, and AU.
id_type
String
True with Exception
If the provider uses multiple IDs for the same content, the ID type must be specified.
For Gracenote TMS ID, the "tmsId" and "rootId" ID types are supported.
※ Exception: Providers other than Gracenote TMS ID do not require this field.
We use cookies to improve your experience on our website and to show you relevant
advertising. Manage you settings for our cookies below.
Essential Cookies
These cookies are essential as they enable you to move around the website. This
category cannot be disabled.
Company
Domain
Samsung Electronics
developer.samsung.com, .samsung.com
Analytical/Performance Cookies
These cookies collect information about how you use our website. for example which
pages you visit most often. All information these cookies collect is used to improve
how the website works.
Company
Domain
Samsung Electronics
.samsung.com
Functionality Cookies
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and
tailor the website to provide enhanced features and content for you.
Company
Domain
Samsung Electronics
developer.samsung.com, google.account.samsung.com
Preferences Submitted
You have successfully updated your cookie preferences.