Get Premium Zones Manifest Errors

The Premium Zones Manifest Errors API provides manifest server statistics (HTTP return codes) for a time range, including 200, 4xx, and 5xx returns​. This API is meant to debug HTTP errors. This API only provides valid data when an account owner has Premium Zones enabled on their account.

Each return code with a different failure reason will have stats returned. If there is no data for say a 4xx, nothing will be returned​. However, 403 errors with different failure reasons will have its own stats to help debug system issues​.

Records can be requested for the past 48 hours (sliding window) with a maximum window size of five minutes​.

Base URL

Use the following base URL to perform an HTTP GET:

https://services.uplynk.com/api/v4/monitoring/premium-zone/server-stats

Request Parameters

The following table details the required and optional parameters for making a request to the DRM Statistics API:

Parameter

Data Type

Description

Required

period

Integer

Aggregates the data over a defined time interval in seconds, simplifying analysis by grouping data points within consistent time windows.

  • Accepted Values:* 10, 20, 30, 40, 50, 60, 120

Optional; default is None.

start

String

Indicates the date and time (UTC) at which the statistics start period should begin.

Syntax: YYYY-MM-DDThh:mm:ss
Example: 2025-02-12T15:53:00

Either start or end is required. If only start is passed, the system will fill the end based on a 5-minute block.

end

String

Indicates the date and time (UTC) at which the statistics start period should end.

Syntax: YYYY-MM-DDThh:mm:ss
Example: 2025-02-12T15:57:10

Either start or end is required. If only end is passed, the system will fill the start based on a 5-minute block.

page

Integer

Page number of results to return.

Optional; default is 1.

page_size

Integer

Number of items returned per page.

Optional; default is 1000 with maximum of 5000.

force

Boolean

If data for a portion of the date range specified is not yet processed, force=false will return what is available. Otherwise, a 202 response will be returned with the current maximum timestamp available.

Optional; default isfalse.

Sample Request

The code below (Python 3) shows how to retrieve Premium Zone manifest server HTTP codes with error reasons.

This code imports names from the api_auth module for V4 APIs (see below).

import json
import requests
from api_auth import APICredentials, APIParams  

class PZ_ManifestErrors:
    def __init__(self):
        self.host = "https://services.uplynk.com"

    def run(self):
        """
        Get the latest manifest statistics.
        """
        self._get_manifest_errors()

    def _get_manifest_errors(self):
        params = {
            'period': 60,
            'start': '2025-12-30T15:53:00',
            'end': '2025-12-30T15:57:10',
            'page': 1,
            'page_size': 5000,
            'force': False, 
        }
        
        url = f"{self.host}/api/v4/monitoring/premium-zone/manifest-errors"

        response = requests.get(
            url, params={**params, **APIParams(APICredentials()).get_params({})}
        )

        if response.status_code == 200:
            print(json.dumps(response.json(), indent=2))  # Pretty print JSON response
        else:
            print("Error:", response.status_code)
            print(response.json())

if __name__ == "__main__":
    PZ_ManifestErrors().run()

Response Schema

The response returns manifest server HTTP response data.

FieldData TypeDescription
@idStringThe request URL with query parameters included.
@typeStringThe type of response, which is always TimeSeries.
startStringThe start time of the requested statistics range in YYYY-MM-DDThh:mm:ss.SSSZ format.
endStringThe end time of the requested statistics range in YYYY-MM-DDThh:mm:ss.SSSZ format.
itemsArrayList of HTTP return codes and errors (schema below).
total_itemsIntegerThe total number of HTTP return codes with errors returned.
max_pagesIntegerTotal number of pages in the API response.
current_pageIntegerCurrent page number of the API response.

HTTP Return Codes and Errors Item Schema

FieldData TypeDescription
period_timestampStringTimestamp for the requested period interval.
codeStringHTTP return code.
reasonStringReason for HTTP error which is returned when code != 200.
num_recordsStringNumber of records with matching code and reason.

Sample Response

{
  "@id": "/api/v4/monitoring/premium-zone/manifest-errors?period=60&start=2025-12-30T15:53:00&end=2025-12-30T15:57:10&page=1&page_size=5000&force=False",
  "@type": "TimeSeries",
  "start": "2025-12-30T15:53:00.000Z",
  "end": "2025-12-30T15:57:01.000Z",
  "items": [
    {
      "period_timestamp": "2025-12-30T15:53:00+00:00",
      "code": 200,
      "reason": "",
      "num_records": 1261
    },
    {
      "period_timestamp": "2025-12-30T15:54:00+00:00",
      "code": 200,
      "reason": "",
      "num_records": 1350
    },
    {
      "period_timestamp": "2025-12-30T15:55:00+00:00",
      "code": 200,
      "reason": "",
      "num_records": 1205
    },
    {
      "period_timestamp": "2025-12-30T15:56:00+00:00",
      "code": 200,
      "reason": "",
      "num_records": 1194
    }
  ],
  "total_items": 4,
  "current_page": 1
}