Standard metadata attributes std-metadata-attributes

This page aims to provide an exhaustive list of metadata attributes that the Concurrency Monitoring service can process and which can be used as basis for policies that can be implemented. The standard metadata attributes can be categorized as follows:

  • Attributes included by design (sent on every session initializaton call, as they are required in the URL path). No valid call can be performed without these values.
  • Metadata attributes: values that need to be passed as form data during the session initialization call (should the backend policies require their values).

Attributes required by design attr-req-by-design

The Concurrency Monitoring API forces clients to send the following values as part of any valid initialization call: session initiation calls.

Field Name
Example value
Where to use it
Obtained from
applicationId
75b4-431b-adb2-eb6b9e546013
Authorization header
Zendesk ticket at integration
mvpdName
Sample_MVPD
URI path
Adobe Pass Authentication from config endpoint when user selects the MVPD
accountId
12345
URI path
Adobe Pass Authentication upstreamUserID metadata after user login User Metadata upstreamUserID - Adobe Pass Authentication

Metadata attributes metadata-attr

The fields in the table below can be used by Programmers and MVPDs to create policies which will be implemented in Concurrency Monitoring.

With API v2.0, if any of these attributes is required by the defined policies, a session init attempt without that attribute will result in a 400 Bad Request.

Entity
Attribute name
Data type
Description
External reference (ex: EIDR, OATC)
Example value
Validation rules
Media Company
programmerName
string
The name of the programmer
ProgrammerX
Resource
channel
string
The TV channel
ChannelY
assetId
string
The “friendly” or consumer-readable title to be presented for this content
EIDR 2.0 Data Fields Reference
Ben-Hur
type
enumeration
A value describing the general type of content represented by the TveItem. The enumerated values include: movie broadcastEpisode nonBroadcastEpisode musicVideo awardsShow clip concert conference newsEvent sportingEvent trailer
OATC Metadata Feed Recommended Practice
broadcastEpisode
The field must correspond to one of the items in the enumeration
contentType
string
This field determines whether the reqested content is live or VOD
N/A
live, vod
live or vod
genre
string
The genre of the content that is streamed. Describes the general programming type
OATC Metadata Feed Recommended Practice
Comedy
Valid genre type
duration
number
The duration of the media item in seconds
OATC Metadata Feed Recommended Practice
1800
number sequence
Device/Browser
deviceId
string
The unique device identifier.
Device Atlas properties
2b6f0cc904d137be2e1730235f5664094b831186
deviceName
string
The friendly name of this device.
Joe’s iPad
marketingName
string
The marketing name (or the customer-friendly name) for a device
Device Atlas properties
iPhone 6s
valid marketing name
mobileDevice
boolean
True if the device is meant for use on the move
Device Atlas properties
true, false
true, false
deviceModel
string
The model name of the device, browser or other component
Device Atlas properties
tablet, phone, xbox. set-top box
valid device model name
osName
string
The operating system the device is running
Device Atlas - OS predefined property values
Android, Windows 10, OS X, Linux, Other Note: You need to be logged in with a username and password in Device Atlas to view the property values
the expected value is one of the values in the Device Atlas predefined properties
browserName
string
The name or type of browser on the device
Device Atlas - Browser predefined property values
The name or type of the browser on the device. Note: You need to be logged in with a username and password in Device Atlas to view the property values
the expected value is one of the values in the Device Atlas predefined properties
browserVersion
string
The browser version on the device
Device Atlas properties
The browser version on the device
Application
applicationName
string
The “user-friendly” or consumer-readable name of the application
N/A
Sample_Application
applicationId
string
The application ID that uniquely identifies a client application.
N/A
de305d54-75b4-431b-adb2-eb6b9e546013
applicationPlatform
string
The native platform of the application
N/A
ios, android
applicationVersion
string
This value can be used for analytics purposes
N/A
1.0, 2.0
Subject
accountId
string
The account id of the Concurrency Monitoring subject (in the scope of the MVPD)
N/A
test-account
contractType
string
premium, basic. The customers are free to add this as custom metadata and use it within their own realms
N/A
premium, basic
User
name
string
Some MVPDs provide information related to the specific user that plays content.
N/A
hba
boolean
Identifies whether the user attempts to initiate the stream from his home location
N/A
true, false
true or false
Location
continent
string
The continent where the deviceID sending the play request originates from
N/A
North America
valid continent name
country
string
The country where the deviceID sending the play request originates from
N/A
USA
valid country name
state
string
The state where the deviceID sending the play request originates from
N/A
CA
valid state name
city
string
The city where the deviceID sending the play request originates from
N/A
Cupertino
valid city name
zipcode
number
The zipcode where the deviceID sending the play request originates from
N/A
95014
valid zipcode
Stream
streamId
string
Generated by the CM service, not in customer control. Is used implicitly when rules of type maxstreams are defined.
N/A
N/A
N/A
streamCDN
string
indicates the CDN where the stream was fetched from
N/A
N/A
N/A

Examples of using metadata attributes for creating policies examples-metadata-attr

The standard metadata fields can be used for defining server-side policies based on their field values:

  • You can configure a policy to only apply to specific field values (for example, a dedicated iOS policy: where osType is iOS)

  • You can limit the number of distinct values for a given field. Some examples are as follows:

    • no more than X distinct devices: HAVING DISTINCT COUNT(deviceId) <= 2
    • no more than X distinct zipcodes: HAVING DISTINCT COUNT(zipcode) <= 3
  • You can limit the number of active streams per field value. Some examples are as follows:

    • no more than X active streams for a single device type: GROUP BY deviceType HAVING COUNT(streamId) <= 3
    • no more than X active streams for streams of live content: SELECT COUNT(streamId) AS streamCount WHERE contentType='live' HAVING streamCount <= 3

Contact the Concurrency Monitoring team by creating a ticket in Zendesk and indicate which policies you want to have implemented.

You can find more examples of policies and integration cookbooks in the following:

recommendation-more-help
42139a1e-84f9-43e7-9581-d6e1d65973da