Skip to content

Stats API

Reference

You can find Swagger's documentation here.

System Status

/ping

Method: GET

Description

Checks if the service is up and running.

Success Response:

200 OK

pong

/ping/db

Method: GET

Description

Checks if the database is up and running.

Success Response:

200 OK

pong

Summary

/summary

Method: GET

Description

Provides information about customer's channels such as throughput, devices and viewing time of each one. The throughput unit is kbps and the viewing time is in seconds. The endpoints can be paginated using the appropriate query parameters.

Required parameters:

Optional parameters:

  • per_page=[numeric]
  • page=[numeric]

Success Response:

200 OK

[
   {
       "channel_id": [string],
       "cdn_throughput": [numeric],
       "p2p_throughput": [numeric],
       "total_throughput": [numeric],
       "cdn_devices": [numeric],
       "p2p_devices": [numeric],
       "not_compatible_devices": [numeric],
       "cdn_viewing_time": [numeric],
       "p2p_viewing_time": [numeric],
       "total_viewing_time": [numeric],
       "total_pretty_viewing_time": [string]
   },
   { ... }
]

Call samples:

/summary?time=live
/summary?time=24h&per_page=5&page=0
...

Response examples:

  • Not paginated:
[
   {
      "channel_id": "1",
      "cdn_throughput": 40000,
      "p2p_throughput": 180000,
      "total_throughput": 220000,
      "cdn_devices": 2,
      "p2p_devices": 9,
      "not_compatible_devices": 0,
      "cdn_viewing_time": 10,
      "p2p_viewing_time": 45,
      "total_viewing_time": 55,
      "total_pretty_viewing_time": "0:00:55"
   },
   { ... }
]
  • Paginated:
[
   {
      "total_pages": 1,
      "page": 0,
      "results": [
         {
            "channel_id": "default channel",
            "cdn_throughput": 40000,
            "p2p_throughput": 180000,
            "total_throughput": 220000,
            "cdn_devices": 2,
            "p2p_devices": 9,
            "not_compatible_devices": 0,
            "cdn_viewing_time": 10,
            "p2p_viewing_time": 45,
            "total_viewing_time": 55
         },
        { ... }
      ]
   }
]
  • Empty response:
[
   {
      "total_pages": 0,
      "page": 0,
      "results": []
   }
]

/channels/{channel_id}/summary

Method: GET

Description

Provides information about channel's streams such as throughput, devices and viewing time of each one. The throughput unit is kbps and the viewing time is in seconds. The endpoint can be paginated using the appropriate query parameters.

Required parameters:

Optional parameters:

  • per_page=[numeric]
  • page=[numeric]

Success Response:

200 OK

[
   {
      "stream_id": [string],
      "stream_uri": [string],
      "cdn_throughput": [numeric],
      "p2p_throughput": [numeric],
      "total_throughput": [numeric],
      "cdn_devices": [numeric],
      "p2p_devices": [numeric],
      "not_compatible_devices": [numeric],
      "cdn_viewing_time": [numeric],
      "p2p_viewing_time": [numeric],
      "total_viewing_time": [numeric],
      "total_pretty_viewing_time": [string]

   },
   { ... }
]

Call samples:

/channels/my_channel/summary?time=live
/channels/my_channel/summary?time=24h&per_page=5&page=0
...

Response example:

  • Not paginated:
[
   {
      "stream_id": "0x78e31cc7",
      "stream_uri": "http://my_manifest.m3u8",
      "cdn_throughput": 40000,
      "p2p_throughput": 180000,
      "total_throughput": 220000,
      "cdn_devices": 2,
      "p2p_devices": 9,
      "not_compatible_devices": 0,
      "cdn_viewing_time": 10,
      "p2p_viewing_time": 45,
      "total_viewing_time": 55,
      "total_pretty_viewing_time": "0:00:55"
   },
   { ... }
]
  • Paginated:
[
    {
        "total_pages": 1,
        "page": 0,
        "results": [
            {
                "stream_id": "0x78e31cc7",
                "stream_uri": "http://my_manifest.m3u8",
                "cdn_throughput": 40000,
                "p2p_throughput": 180000,
                "total_throughput": 220000,
                "cdn_devices": 2,
                "p2p_devices": 9,
                "not_compatible_devices": 0,
                "cdn_viewing_time": 10,
                "p2p_viewing_time": 45,
                "total_viewing_time": 55
            },
            { ... }
        ]
    }
]
  • Empty response:
[
   {
      "total_pages": 0,
      "page": 0,
      "results": []
   }
]

/channels/{channel_id}/streams/{stream_id}/summary

Method: GET

Description

Provides information about stream’s bitrates such as throughput, devices and viewing time of each one. The throughput unit is kbps and the viewing time is in seconds. The endpoint can be paginated using the appropriate query parameters.

Required parameters:

Optional parameters:

  • per_page=[numeric]
  • page=[numeric]
  • bitrate=[string] (not paginated)
  • representation_id=[string] (not paginated)

Success Response:

200 OK

[
   {
      "bitrate": [string],
      "representation_id": [string],
      "cdn_throughput": [numeric],
      "p2p_throughput": [numeric],
      "total_throughput": [numeric],
      "cdn_devices": [numeric],
      "p2p_devices": [numeric],
      "not_compatible_devices": [numeric],
      "cdn_viewing_time": [numeric],
      "p2p_viewing_time": [numeric],
      "total_viewing_time": [numeric],
      "total_pretty_viewing_time": [string]
   },
   { ... }
]

Call samples:

/channels/my_channel/streams/0x78e31cc7/summary?time=live
/channels/my_channel/streams/0x78e31cc7/summary?time=24h&per_page=5&page=0
...

Response example:

  • Not paginated:
[
   {
      "bitrate": "4000",
      "representation_id": "2 of 4",
      "cdn_throughput": 40000,
      "p2p_throughput": 180000,
      "total_throughput": 220000,
      "cdn_devices": 2,
      "p2p_devices": 9,
      "not_compatible_devices": 0,
      "cdn_viewing_time": 10,
      "p2p_viewing_time": 45,
      "total_viewing_time": 55,
      "total_pretty_viewing_time": "0:00:55"
   },
   { ... }
]
  • Paginated:
[
    {
        "total_pages": 1,
        "page": 0,
        "results": [
            {
                "bitrate": "4000",
                "representation_id": "2 of 4",
                "cdn_throughput": 40000,
                "p2p_throughput": 180000,
                "total_throughput": 220000,
                "cdn_devices": 2,
                "p2p_devices": 9,
                "not_compatible_devices": 0,
                "cdn_viewing_time": 10,
                "p2p_viewing_time": 45,
                "total_viewing_time": 55
            },
            { ... }
        ]
    }
]
  • Empty response:
[
   {
      "total_pages": 0,
      "page": 0,
      "results": []
   }
]

/summary/agg

URLs:

/summary/agg
/channels/{channel_id}/summary/agg
/channels/{channel_id}/streams/{stream_id}/summary/agg

Method: GET

Description

Provides aggregated information depending on the endpoint such as throughput, devices and viewing time. The throughput unit is kbps and the viewing time is in seconds.

Required parameters:

Success Response:

200 OK

[
   {
      "aggregate": [string],
      "cdn_throughput": [numeric],
      "p2p_throughput": [numeric],
      "total_throughput": [numeric],
      "cdn_devices": [numeric],
      "p2p_devices": [numeric],
      "not_compatible_devices": [numeric],
      "cdn_viewing_time": [numeric],
      "p2p_viewing_time": [numeric],
      "total_viewing_time": [numeric],
      "total_pretty_viewing_time": [string]
   },
   { ... }
]

Call samples:

/summary/agg?time=live
/summary/agg?time=24h
/channels/my_channel/summary/agg?time=live
/channels/my_channel/streams/0x07777/summary/agg?time=live
...

Response example:

[
   {
      "aggregate": "aggregate",
      "cdn_throughput": 40000,
      "p2p_throughput": 180000,
      "total_throughput": 220000,
      "cdn_devices": 2,
      "p2p_devices": 9,
      "not_compatible_devices": 0,
      "cdn_viewing_time": 10,
      "p2p_viewing_time": 45,
      "total_viewing_time": 55,
      "total_pretty_viewing_time": "0:00:55"
   }
]

System Statistics

stats/throughput/agg

URLs:

/stats/throughput/agg
/stats/throughput/agg/last_point
/channels/{channel_id}/stats/throughput/agg
/channels/{channel_id}/stats/throughput/agg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/throughput/agg
/channels/{channel_id}/streams/{stream_id}/stats/throughput/agg/last_point

Method: GET

Description

Provides information about the aggregated throughput for a customer, specific channel or stream.. Throughput unit is kbps.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "agg_throughput_{source}": [numeric]
   },
   { ... }
]

Call samples:

/throughput/agg?time=live&source=cdn
/throughput/agg/last_point?time=1h&source=p2p
...

Response example:

[
   {
       "datetime": 1543936767000,
       "agg_throughput_cdn": 100000
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.

/stats/buffer_health/avg

URLs:

/stats/buffer_health/avg
/stats/buffer_health/avg/last_point
/channels/{channel_id}/stats/buffer_health/avg
/channels/{channel_id}/stats/buffer_health/avg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/buffer_health/avg
/channels/{channel_id}/streams/{stream_id}/stats/buffer_health/avg/last_point

Method: GET

Description

Provides information about the average buffer health for a customer or specific channel. Buffer health unit is milliseconds.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "avg_buffer_health_{source}": [numeric]
   },
   { ... }
]

Call samples:

/buffer_health/avg?time=live&source=cdn
/buffer_health/avg/last_point?time=1h&source=p2p
...

Response example:

[
   {
       "datetime": 1543936767000,
       "avg_buffer_health_p2p": 100000
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.

/stats/rebuffering/ratio

URLs:

/stats/rebuffering/ratio
/stats/rebuffering/ratio/last_point
/channels/{channel_id}/stats/rebuffering/ratio
/channels/{channel_id}/stats/rebuffering/ratio/last_point
/channels/{channel_id}/streams/{stream_id}/stats/rebuffering/ratio
/channels/{channel_id}/streams/{stream_id}/stats/rebuffering/ratio/last_point

Method: GET

Description

Provides information about the rebuffering ratio for a customer or specific channel.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "rebuffering_ratio": [numeric]
   },
   { ... }
]

Call samples:

/rebuffering/ratio?time=live&source=cdn
/rebuffering/ratio/last_point?time=1h&source=p2p
...

Response example:

[
   {
       "datetime": 1543936767000,
       "rebuffering_ratio": 0.1
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.

/stats/content_request_response_times/avg

URLs:

/stats/content_request_response_times/avg
/stats/content_request_response_time/avg/last_point
/channels/{channel_id}/stats/content_request_response_times/avg
/channels/{channel_id}/stats/content_request_response_time/avg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/content_request_response_times/avg
/channels/{channel_id}/streams/{stream_id}/stats/content_request_response_time/avg/last_point

Method: GET

Description

Provides information about the average content request response times for a customer or specific channel.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "avg_content_request_response_times_{source}": [numeric]
   },
   { ... }
]

Call samples:

/content_request_response_times/avg?time=live&source=cdn
/content_request_response_times/avg/last_point?time=1h&source=p2p
...

Response example:

[
   {
       "datetime": 1543936767000,
       "avg_content_request_response_times_p2p": 1
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.

/stats/buffer_filling_rate/avg

URLs:

/channels/{channel_id}/stats/buffer_filling_rate/avg
/channels/{channel_id}/stats/buffer_filling_rate/avg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/buffer_filling_rate/avg
/channels/{channel_id}/streams/{stream_id}/stats/buffer_filling_rate/avg/last_point

Method: GET

Description

Provides information about the average buffer filling rate for a specific channel.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "avg_buffer_filling_rate_{source}": [numeric]
   },
   { ... }
]

Call samples:

/buffer_filling_rate/avg?time=live&source=cdn
/buffer_filling_rate/avg/last_point?time=1h&source=p2p
...

Response example:

[
   {
       "datetime": 1543936767000,
       "avg_buffer_filling_rate_cdn": 3.4
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.

/stats/dropped_frames/avg

URLs:

/channels/{channel_id}/stats/dropped_frames/avg
/channels/{channel_id}/stats/dropped_frames/avg/last_point
/channels/{channel_id}/streams/{stream_id}/stats/dropped_frames/avg
/channels/{channel_id}/streams/{stream_id}/stats/dropped_frames/avg/last_point

Method: GET

Description

Provides information about the average dropped frames for a specific channel.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "avg_dropped_frames_{source}": [numeric]
   },
   { ... }
]

Call samples:

/dropped_frames/avg?time=live&source=cdn
/dropped_frames/avg/last_point?time=1h&source=p2p
...

Response example:

[
   {
       "datetime": 1543936767000,
       "avg_dropped_frames_p2p": 0
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.

Devices Statistics

/stats/os

URLs:

/stats/os
/stats/os/last_point
/channels/{channel_id}/stats/os
/channels/{channel_id}/stats/os/last_point
/channels/{channel_id}/streams/{stream_id}/stats/os
/channels/{channel_id}/streams/{stream_id}/stats/os/last_point

Method: GET

Description

Provides information about the operating systems and the number of devices of each one for a customer or specific channel.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "operating_systems": [object]
   },
   { ... }
]

Call samples:

/os?time=live
/os/last_point?time=1h
...

Response example:

[
   {
       "datetime": 1543936767000,
       "operating_systems": {
           "MAC": 1,
           "LINUX": 2,
           "WINDOWS": 1
      }
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.

/stats/platforms

URLs:

/stats/platforms
/stats/platforms/last_point
/channels/{channel_id}/stats/platforms
/channels/{channel_id}/stats/platforms/last_point
/channels/{channel_id}/streams/{stream_id}/stats/platforms
/channels/{channel_id}/streams/{stream_id}/stats/platforms/last_point

Method: GET

Description

Provides information about the platforms and the number of devices of each one for a customer or specific channel.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "platforms": [object]
   },
   { ... }
]

Call samples:

/platforms?time=live
/platforms/last_point?time=1h
...

Response example:

[
   {
       "datetime": 1543936767000,
       "platforms": {
           "FIREFOX": 1,
           "CHROME": 2,
           "ANDROID": 1  
      }
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.

/stats/connection_types

URLs:

/stats/connection_types
/stats/connection_types/last_point
/channels/{channel_id}/stats/connection_types
/channels/{channel_id}/stats/connection_types/last_point
/channels/{channel_id}/streams/{stream_id}/stats/connection_types
/channels/{channel_id}/streams/{stream_id}/stats/connection_types/last_point

Method: GET

Description

Provides information about the connection types and the number of devices of each one for a customer or specific channel.

Required parameters:

Optional parameters:

  • bitrate=[string]
  • representation_id=[string]

Success Response:

200 OK

[
   {
      "datetime": [timestamp],
      "connection_types": [object]
   },
   { ... }
]

Call samples:

/connection_types?time=live
/connection_types/last_point?time=1h
...

Response example:

[
   {
       "datetime": 1543936767000,
       "connection_types": {
           "ETHERNET": 1,
           "WIFI": 2,
           "CELLULAR": 1
      }
   }
]

Notes

  • An endpoint with the suffix /last_point: returns only the latest point according to the specified time filter.
  • Without the suffix: returns every data in the database according to the specified time filter.
  • Bitrate and Representation_id query param only apply to the stream filtered endpoint.