Introduction
Base URL
Version: 1.0.3
https://analytics-api.video.ibm.com/v1/ |
Authentication
The API uses JWT token for authentication. The API accepts the token in the Authorization
header,
in the following format: Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6Ik...0RMHrHDcEfxjoYZgeFONFh7HgQ
This header must be included with every request.
Obtaining the Access token
You can get JWT token from the OAuth2 token endpoint by setting the token_type
parameter to jwt
.
This parameter must be set as HTTP POST parameter.
The OAuth2 flows are described here: http://developers.video.ibm.com/channel-api/getting-started.html
The recommended authentication flow is Client credentials.
Time format
Every time field provided by the API is formatted by ISO8601 format (eg. 2018-07-16T19:20:30+01:00
).
The API also accepts parameters in this format only.
Terminology
- media: Media is a common word for both live broadcasts and videos
- content type: The API has knowledge of two types of content: live broadcast and videos
- content id: A numeric identifier of the media. For Live it means channel id, for video it means video id
- segment: A part of the media watched by the user
Response times
Depending on your query and the underlying data size the response might take a minute.
Content types
Default request content-types: application/json
Default response content-types: application/json
Schemes: https
API Summary
path | operation | description |
---|---|---|
/viewers | GET | List of the unique viewers for all contents |
/viewers/{content_type} | GET | List of the unique viewers for a specific content type |
/views | GET | Raw view export for a given time period. |
/views/{content_type} | GET | Raw view export for a given time period |
/total-views/summary | GET | Sum total view number for a given time period through all types of content |
/total-views/{dimension} | GET | Total view number for a given time period through all content bucketed by a defined dimension |
/total-views/{content_type}/summary | GET | Sum Total view number for a given time period and content type |
/total-views/{content_type}/{dimension} | GET | Total view number for a given time period and content type bucketed by a defined dimension |
/unique-devices/summary | GET | Number of sum unique devices for a given time period through all content |
/unique-devices/{dimension} | GET | Number of sum unique devices for a given time period through all types of content |
/unique-devices/{content_type}/summary | GET | Number of sum unique devices for a given time period and content type |
/unique-devices/{content_type}/{dimension} | GET | Number of unique devices for a given time period and content type bucketed by a defined dimension |
/authenticated-viewers/summary | GET | Number of authenticated viewers for a given time period through all types of content |
/authenticated-viewers/{dimension} | GET | Number of authenticated viewers for a given time period through all types of content bucketed by a defined dimension |
/authenticated-viewers/{content_type}/summary | GET | Number of sum authenticated viewers for a given time period and content type |
/authenticated-viewers/{content_type}/{dimension} | GET | Number of authenticated viewers for a given time period and content type bucketed by a defined dimension |
/peak-viewer-numbers | GET | Live and Recorded peak concurrent viewer number of all content for a given time period. |
/peak-viewer-numbers/{content_type} | GET | Live or Recorded peak concurrent viewer number of all or given content ids for a given time period. |
Security
JWTHeader Type: apiKey |
|
Name | Authorization |
In | header |
List of the unique viewers for all contents
GET | /viewers |
You can get every individual viewer appeared on all of your channels by calling this endpoint.
If you look for a specific viewer you can use the viewer_identifier
parameter for matching
an identifier or part of an identifier.
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
viewer_identifier | Filter for viewer identifiers containing this string | query | string | #/parameters/viewerIdSearchStringQueryParameter | |
list_unfinished_segments | Flag for including unfinished segments in the result | query |
boolean, default value: true |
#/parameters/unfinishedParameter | |
date_time_from | Start date and time for a period in ISO8601 format | query | string | #/parameters/dateTimeFromQueryParameter | |
date_time_to | End date and time for a period in ISO8601 format | query | string | #/parameters/dateTimeToQueryParameter | |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/ViewerTrackingViewerList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | Viewer | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/views?_page=1&_limit=1"
},
"last": {
"href": "/views?_page=10&_limit=1"
},
"next": {
"href": "/views?_page=2&_limit=1"
},
"prev": null,
"self": {
"href": "/views?_page=1&_limit=1"
}
},
"data": [
{
"attributes": {
"last_activity": "2018-07-16T19:20:30+01:00",
"segments": [
{
"city": "Budapest",
"client_id": "8776986273576598258658",
"content_id": 77569623,
"content_type": "live",
"country": "HU",
"finished_at": "2018-07-16T19:20:40+01:00",
"from": 0,
"id": "4bfc69b5-1320-4a44-a8d6-1fe1f397fb94",
"is_mobile_view": false,
"started_at": "2018-07-16T19:20:30+01:00",
"to": 0,
"view_session_id": "7f66d911:8b7aa82c",
"view_type": "onsite"
}
],
"videos_watched": 10,
"viewer_identifier": "some.viewer@example.com"
},
"type": "Viewer"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
List of the unique viewers for a specific content type
GET | /viewers/{content_type} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live , recorded } |
yes | #/parameters/contentTypeParameter |
content_id | A list of comma separated IDs | query | integer | #/parameters/idsParameter | |
viewer_identifier | Filter for viewer identifiers containing this string | query | string | #/parameters/viewerIdSearchStringQueryParameter | |
list_unfinished_segments | Flag for including unfinished segments in the result | query |
boolean, default value: true |
#/parameters/unfinishedParameter | |
date_time_from | Start date and time for a period in ISO8601 format | query | string | #/parameters/dateTimeFromQueryParameter | |
date_time_to | End date and time for a period in ISO8601 format | query | string | #/parameters/dateTimeToQueryParameter | |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/ViewerTrackingViewerList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | Viewer | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/views?_page=1&_limit=1"
},
"last": {
"href": "/views?_page=10&_limit=1"
},
"next": {
"href": "/views?_page=2&_limit=1"
},
"prev": null,
"self": {
"href": "/views?_page=1&_limit=1"
}
},
"data": [
{
"attributes": {
"last_activity": "2018-07-16T19:20:30+01:00",
"segments": [
{
"city": "Budapest",
"client_id": "8776986273576598258658",
"content_id": 77569623,
"content_type": "live",
"country": "HU",
"finished_at": "2018-07-16T19:20:40+01:00",
"from": 0,
"id": "4bfc69b5-1320-4a44-a8d6-1fe1f397fb94",
"is_mobile_view": false,
"started_at": "2018-07-16T19:20:30+01:00",
"to": 0,
"view_session_id": "7f66d911:8b7aa82c",
"view_type": "onsite"
}
],
"videos_watched": 10,
"viewer_identifier": "some.viewer@example.com"
},
"type": "Viewer"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Raw view export for a given time period
GET | /views |
This endpoint lists every view segments in the requested time period. Segments are generated by events from the users, like play, pause, seek.
The date_time_from
and date_time_to
parameters control how the Analytics API filters the response.
By default the API returns all segments which meet at least one of the following criteria:
- the view started before the date range and ended in the defined range
- the view started and finished inside the defined range or not finished yet
- the view started in the defined range and finished after the defined range or not finished yet
You can control this behaviour with two flags: list_unfinished_segments
and inclusive_range
.
Both parameters are set to true by default. When you set the list_unfinished_segments
to false,
the API will return only the finished segments. However when you set the inclusive_range
parameter to false, only those segments will be returned whose started and finished times are
in the defined range.
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | true | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | true | #/parameters/dateTimeToQueryParameter |
list_unfinished_segments | Flag for including unfinished segments in the result | query |
boolean, default value: true |
#/parameters/unfinishedParameter | |
inclusive_range | This flag controls the behaviour of the date and time range filter | query |
boolean, default value: true |
#/parameters/inclusiveRangeParameter | |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/ViewList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | View | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/views?_page=1&_limit=10"
},
"last": {
"href": "/views?_page=10&_limit=10"
},
"next": {
"href": "/views?_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/views?_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"city": "Budapest",
"client_id": "13602851710424434669",
"content_id": "112342345",
"content_type": "live",
"country": "HU",
"finished_at": "2018-07-16T19:20:42+01:00",
"from": 0,
"is_mobile_view": true,
"started_at": "2018-07-16T19:20:30+01:00",
"to": 0,
"view_id": "4bfc69b5-1320-4a44-a8d6-1fe1f397fb94",
"view_session_id": "7f66d911:8b7aa82c",
"view_type": "offsite",
"viewer_identifier": "some.viewer@example.com"
},
"type": "View"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Raw view export of a specific content type for a given time period
GET | /views/{content_type} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live , recorded } |
yes | #/parameters/contentTypeParameter |
content_id | A list of comma separated IDs | query | integer | #/parameters/contentTypeParameter | |
date_time_from | Start date and time for a period in ISO8601 format | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format | query | string | yes | #/parameters/dateTimeToQueryParameter |
list_unfinished_segments | Flag for including unfinished segments in the result | query |
boolean, default value: true |
#/parameters/unfinishedParameter | |
inclusive_range | This flag controls the behaviour of the date and time range filter | query |
boolean, default value: true |
#/parameters/inclusiveRangeParameter | |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/ViewList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/views?_page=1&_limit=10"
},
"last": {
"href": "/views?_page=10&_limit=10"
},
"next": {
"href": "/views?_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/views?_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"city": "Budapest",
"client_id": "13602851710424434669",
"content_id": "112342345",
"content_type": "live",
"country": "HU",
"finished_at": "2018-07-16T19:20:42+01:00",
"from": 0,
"is_mobile_view": true,
"started_at": "2018-07-16T19:20:30+01:00",
"to": 0,
"view_id": "4bfc69b5-1320-4a44-a8d6-1fe1f397fb94",
"view_session_id": "7f66d911:8b7aa82c",
"view_type": "offsite",
"viewer_identifier": "some.viewer@example.com"
},
"type": "View"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Sum total view number for a given time period through all types of content
GET | /total-views/summary |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Total view number for a given time period through all content bucketed by a defined dimension
GET | /total-views/{dimension} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
dimension | The dimension of the breakdown | path |
string, x ∈ { month, day, hour, location, device, view-source } |
yes | #/parameters/dimensionParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Sum Total view number for a given time period and content type
GET | /total-views/{content_type}/summary |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live, recorded } |
yes | #/parameters/contentTypeParameter |
content_id | A list of comma separated IDs | query | integer | no | #/parameters/idsParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Total view number for a given time period and content type bucketed by a defined dimension
GET | /total-views/{content_type}/{dimension} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live, recorded } |
yes | #/parameters/contentTypeParameter |
dimension | The dimension of the breakdown | path |
string, x ∈ { month, day, hour, location, device, view-source } |
yes | #/parameters/dimensionParameter |
content_id | A list of comma separated IDs | query | integer | no | #/parameters/idsParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Number of sum unique devices for a given time period through all content
GET | /unique-devices/summary |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Number of sum unique devices for a given time period through all types of content
GET | /unique-devices/{dimension} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
dimension | The dimension of the breakdown | path |
string, x ∈ { month, day, hour, location, device, view-source } |
yes | #/parameters/dimensionParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Number of sum unique devices for a given time period and content type
GET | /unique-devices/{content_type}/summary |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live, recorded } |
yes | #/parameters/contentTypeParameter |
content_id | A list of comma separated IDs | query | integer | no | #/parameters/idsParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Number of unique devices for a given time period and content type bucketed by a defined dimension
GET | /unique-devices/{content_type}/{dimension} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live, recorded } |
yes | #/parameters/contentTypeParameter |
dimension | The dimension of the breakdown | path |
string, x ∈ { month, day, hour, location, device, view-source } |
yes | #/parameters/dimensionParameter |
content_id | A list of comma separated IDs | query | integer | no | #/parameters/idsParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Number of authenticated viewers for a given time period through all types of content
GET | /authenticated-viewers/summary |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Number of authenticated viewers for a given time period through all types of content bucketed by a defined dimension
GET | /authenticated-viewers/{dimension} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
dimension | The dimension of the breakdown | path |
string, x ∈ { month, day, hour, location, device, view-source } |
yes | #/parameters/dimensionParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Number of sum authenticated viewers for a given time period and content type
GET | /authenticated-viewers/{content_type}/summary |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live, recorded } |
yes | #/parameters/contentTypeParameter |
content_id | A list of comma separated IDs | query | integer | no | #/parameters/idsParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Number of authenticated viewers for a given time period and content type bucketed by a defined dimension
GET | /authenticated-viewers/{content_type}/{dimension} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live, recorded } |
yes | #/parameters/contentTypeParameter |
dimension | The dimension of the breakdown | path |
string, x ∈ { month, day, hour, location, device, view-source } |
yes | #/parameters/dimensionParameter |
content_id | A list of comma separated IDs | query | integer | no | #/parameters/idsParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/SeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Live and Recorded peak concurrent viewer number of all content for a given time period.
GET | /peak-viewer-numbers |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
granularity | The granularity of the breakdown | query |
string, x ∈ { hour, minute (default) } |
yes | #/parameters/peakGranularityParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/PeakSeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | PeakSeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"content_type": "live",
"content_id": 238589,
"time": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "PeakSeries"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Live or Recorded peak concurrent viewer number of all or given content ids for a given time period
GET | /peak-viewer-numbers/{content_type} |
Request Parameters
name | description | type | data type | required | annotation |
---|---|---|---|---|---|
Authorization | JWT token | header | string | yes | #/parameters/authParameter |
content_type | Type of the content eg. Recorded | path |
string, x ∈ { live, recorded } |
yes | #/parameters/contentTypeParameter |
granularity | The granularity of the breakdown | query |
string, x ∈ { hour, minute (default) } |
yes | #/parameters/peakGranularityParameter |
content_id | A list of comma separated IDs | query | integer | no | #/parameters/idsParameter |
date_time_from | Start date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeFromQueryParameter |
date_time_to | End date and time for a period in ISO8601 format. If you do not specify a timezone offset, the time is considered as America/Los Angeles. | query | string | yes | #/parameters/dateTimeToQueryParameter |
_page | Defines the page to get | query |
number, { x ∈ ℝ | x ≥ 1 } default value: 1 |
#/parameters/offsetParameter | |
_limit | Defines how many resources to get | query |
number, { x ∈ ℝ | 1 ≤ x ≤ 10000 } default value: 10 |
#/parameters/limitParameter |
Responses
200 | #/responses/PeakSeriesList |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | PeakSeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"content_type": "live",
"content_id": 238589,
"time": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "PeakSeries"
}
]
}
400 | #/responses/BadRequest |
Uses default content-types: application/json
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
Parameter definitions
Response definitions
BadRequest
Bad request
property | type | value(s) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
errors | [object] |
|
ViewList
OK response
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/views?_page=1&_limit=10"
},
"last": {
"href": "/views?_page=10&_limit=10"
},
"next": {
"href": "/views?_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/views?_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"city": "Budapest",
"client_id": "13602851710424434669",
"content_id": "112342345",
"content_type": "live",
"country": "HU",
"finished_at": "2018-07-16T19:20:42+01:00",
"from": 0,
"is_mobile_view": true,
"started_at": "2018-07-16T19:20:30+01:00",
"to": 0,
"view_id": "4bfc69b5-1320-4a44-a8d6-1fe1f397fb94",
"view_session_id": "7f66d911:8b7aa82c",
"view_type": "offsite",
"viewer_identifier": "some.viewer@example.com"
},
"type": "View"
}
]
}
ViewerTrackingViewerList
OK response
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | Viewer | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/views?_page=1&_limit=1"
},
"last": {
"href": "/views?_page=10&_limit=1"
},
"next": {
"href": "/views?_page=2&_limit=1"
},
"prev": null,
"self": {
"href": "/views?_page=1&_limit=1"
}
},
"data": [
{
"attributes": {
"last_activity": "2018-07-16T19:20:30+01:00",
"segments": [
{
"city": "Budapest",
"client_id": "8776986273576598258658",
"content_id": 77569623,
"content_type": "live",
"country": "HU",
"finished_at": "2018-07-16T19:20:40+01:00",
"from": 0,
"id": "4bfc69b5-1320-4a44-a8d6-1fe1f397fb94",
"is_mobile_view": false,
"started_at": "2018-07-16T19:20:30+01:00",
"to": 0,
"view_session_id": "7f66d911:8b7aa82c",
"view_type": "onsite"
}
],
"videos_watched": 10,
"viewer_identifier": "some.viewer@example.com"
},
"type": "Viewer"
}
]
}
SeriesList
OK response
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | SeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"dimension_type": "day",
"point": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "Series"
}
]
}
PeakSeriesList
OK response
property | type | value(s) | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data | [object] | PeakSeriesObject | |||||||||||||||||||||||||||||||||||||||||
pagination | object |
|
Example for application/json
{
"pagination": {
"count": 10,
"first": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
},
"last": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"next": {
"href": "/some-endpoint?granularity=minute&_page=2&_limit=10"
},
"prev": null,
"self": {
"href": "/some-endpoint?granularity=minute&_page=1&_limit=10"
}
},
"data": [
{
"attributes": {
"content_type": "live",
"content_id": 238589,
"time": "1997-07-16T00:00:00+01:00",
"value": 11
},
"type": "PeakSeries"
}
]
}
Schema definitions
DeviceInfo (object)
Device information parsed from the user agent string provided by the viewer's client.
Properties
name | type | data type | description |
---|---|---|---|
browser | object | always present | |
browser.family | string | always present | specifies the User-Agent's family |
browser.major | string | nullable | major version number/info of the browser family |
browser.minor | string | nullable | minor version number/info of the browser family |
browser.patch | string | nullable | patch version number/info of the browser family |
os | object | always present | |
os.family | string | always present | specifies the OS |
os.major | string | nullable | major version number/info of OS |
os.minor | string | nullable | minor version number/info of the OS |
os.patch | string | nullable | patch version number/info of the OS |
os.patch_minor | string | nullable | patchMinor version number/info of the OS |
device | object | always present | |
device.family | string | always present | specifies the device family |
device.brand | string | nullable | brand info of the Device |
device.model | string | nullable | model number/info of the Device |
Example
"browser": {
"family": "Chrome",
"major": "70",
"minor": "0",
"patch": "3538"
},
"device": {
"brand": null,
"family": "Other",
"model": null
},
"os": {
"family": "Mac OS X",
"major": "10",
"minor": "14",
"patch": "1",
"patch_minor": null
}
Segment (object)
One view segment on a content
Properties
name | type | data type | description |
---|---|---|---|
id | string | uuid | |
content_type | string | x ∈ { live , recorded } | Watched content type |
content_id | integer | ||
started_at | string | date-time | Start date and time in ISO8601 format |
finished_at | string | date-time | Finish date and time in ISO8601 format |
from | integer | Start position of the view for videos | |
to | integer | End position of the view for videos | |
client_id | string | Identifier of the player client | |
view_session_id | string | Player session identifier. Every playing session has a different identifier. | |
country | string | ||
city | string | ||
is_mobile_view | boolean | ||
view_type | string | x ∈ { onsite , offsite } | |
device_info | object | DeviceInfo | Device information parsed from the viewer's user agent. |
Example
{
"city": "Budapest",
"client_id": "13602851710424434669",
"content_id": "112342345",
"content_type": "live",
"country": "HU",
"finished_at": "2018-07-16T19:20:42+01:00",
"from": 0,
"id": "4bfc69b5-1320-4a44-a8d6-1fe1f397fb94",
"is_mobile_view": true,
"started_at": "2018-07-16T19:20:30+01:00",
"to": 0,
"view_session_id": "7f66d911:8b7aa82c",
"view_type": "offsite",
"device_info": {
"browser": {
"family": "Chrome",
"major": "70",
"minor": "0",
"patch": "3538"
},
"device": {
"brand": null,
"family": "Other",
"model": null
},
"os": {
"family": "Mac OS X",
"major": "10",
"minor": "14",
"patch": "1",
"patch_minor": null
}
}
}
View (object)
One view segment on a content
Properties
name | type | data type | description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | string | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
attributes | object |
|
Example
{
"attributes": {
"city": "Budapest",
"client_id": "13602851710424434669",
"content_id": "112342345",
"content_type": "live",
"country": "HU",
"finished_at": "2018-07-16T19:20:42+01:00",
"from": 0,
"is_mobile_view": true,
"started_at": "2018-07-16T19:20:30+01:00",
"to": 0,
"view_id": "4bfc69b5-1320-4a44-a8d6-1fe1f397fb94",
"view_session_id": "7f66d911:8b7aa82c",
"view_type": "offsite",
"viewer_identifier": "some.viewer@example.com",
"device_info": {
"browser": {
"family": "Chrome",
"major": "70",
"minor": "0",
"patch": "3538"
},
"device": {
"brand": null,
"family": "Other",
"model": null
},
"os": {
"family": "Mac OS X",
"major": "10",
"minor": "14",
"patch": "1",
"patch_minor": null
}
}
},
"type": "View"
}
Viewer (object)
One view segment on a content
Properties
name | type | data type | description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | string | ||||||||||||||||||||||
attributes | object |
|
Example
{
"attributes": {
"last_activity": "2018-07-16T19:20:30+01:00",
"segments": [
],
"videos_watched": 10,
"viewer_identifier": "some.viewer@example.com"
},
"type": "Viewer"
}