Skip to content

Error response

Sometimes, when a client makes a request to a Vimond service, it may encounter an error response due to various reasons. For example, the user might not be authenticated, or the request itself could be invalid.

Typically, the Vimond service returns an error response in the following format:

{
"errors": [
{
"title": "ASSET_NOT_FOUND",
"detail": "The asset requested does not exist",
"code": "2000"
}
]
}

While the HTTP status code provides an initial indication of the error, the error response provides more insight into the failure. The error response comprises three fields:

  • title: The name of the error
  • detail: A brief description of the encountered problem.
  • code: An internal error code unique to each specific issue, facilitating robust error handling.

The following error codes and descriptions help developers handle and troubleshoot issues more effectively when interacting with the Vimond API

CodeTitleDescription
0UNKNOWNUnknown error
1000INVALID_AUTHENTICATIONInvalid authentication token
1001MISSING_AUTHENTICATIONMissing authentication token
1002INVALID_QUERY_PARAMEmpty or invalid query parameter
1003INVALID_REQUEST_PARAMEmpty or invalid request parameter
1004SERVICE_UNAVAILABLECould not reach external resources
1005INTERNAL_ERRORInternal server error
1006INVALID_SUBPROFILEInvalid subprofile token
1007INVALID_TENANTInvalid tenant
1008RESOURCE_NOT_FOUNDThe requested resource was not found
1009UNAUTHORIZED_ACCESSUser lacks required admin access
1010INVALID_REQUEST_BODYEmpty or invalid request body
CodeTitleDescription
2000ASSET_NOT_FOUNDThe requested asset does not exist
2001CATEGORY_NOT_FOUNDThe requested category does not exist
2002CONTENT_PANEL_NOT_FOUNDThe requested content panel does not exist
2003SHOW_NOT_FOUNDThe requested show does not exist
2004INVALID_SORT_PARAMInvalid sort parameter
2006EPG_IS_NOT_ENABLEDEPG is not enabled for the requested tenant
2007EPG_DATE_IS_OUT_OF_BOUNDEPG date range for the requested tenant is out of the allowed window
CodeTitleDescription
3000ASSET_NOT_FOUNDThe asset requested does not exist
3001INVALID_LOCALESInvalid locales provided via the Accept-Languages header
3002MISSING_IPThe IP address associated with the request is missing or invalid
3003MISSING_CONTENT_PACKAGEThe user lacks a valid subscription to access this asset (v1 of playback API only).
3003MISSING_ENTITLEMENTThe user does not have valid access to watch this asset (this error is only for v2 of playback API, changed to better reflect the actual cause in the case of missing PPV entitlements as well)
3004INVALID_GEO_LOCATIONThe requested asset is not available in the user’s location.
3005NO_STREAM_AVAILABLENo stream available after applying request filters
3006DEVICE_LIMIT_EXCEEDEDThe user has exceeded the total number of allowed devices.
3007INVALID_STREAM_PROFILEThe requested quality does not match defined qualities.
3008UNSUFFICIENT_QUALITY_ENTITLEMENTThe asset has available streams, but the user lacks sufficient quality entitlements.
3009FAILED_TO_FETCH_LOG_DATA_CONFIGURATIONUnable to retrieve log data configuration
3010FAILED_TO_COMPUTE_LOG_DATA_CONFIGURATIONFailed to compute log data
3011ANONYMOUS_IP_NOT_ALLOWEDThe request IP address is associated with an anonymization service.
3012BAD_STREAMThe stream is invalid or missing required configuration
3013ASSET_NOT_STARTEDThe asset playback has not started yet
3014INVALID_DEVICE_INFORMATIONThe provided device information was missing or not valid.
3015INVALID_UNTIL_ENTITLEMENT_CLAIMThe ‘until’ claim in entitlement is malformed and does not follow the ISO8601 timestamp format.
3016MALFORMED_ENTITLEMENTS_CLAIMThe ‘entitlements’ claim is malformed
CodeTitleDescription
4000UNAUTHORIZED_READUser does not have the required read access
4001UNAUTHORIZED_WRITEUser does not have the required write access
4002SUBPROFILE_NOT_FOUNDUnable to find the requested subprofile
4003INVALID_SUB_PROFILEInvalid subprofile in the request body
4004ERROR_CREATING_TOKENError occurred while creating a subprofile token.
4005SUBPROFILE_ALREADY_EXISTSA subprofile with the given ID already exists
4006SUBPROFILE_LIMIT_EXCEEDEDUser exceeded the maximum subprofile limit.
4007SUBPROFILE_LIMIT_INVALID_CONFIGInvalid subprofile max limit configuration
CodeTitleDescription
5000PLAYLIST_NOT_FOUNDThe requested playlist does not exist
5001PLAYLIST_NOT_VALIDInvalid playlist received
5004MISSING_USER_INFOMissing user information in the request
CodeTitleDescription
6000VIEWING_HISTORY_NOT_FOUNDViewing history for the required asset does not exist.
CodeTitleDescription
7000MALFORMED_EVENTEmpty or malformed event
7001EVENT_MISMATCHThe event does not match the request
7002SESSION_KICKEDOne or more sessions are not allowed to continue playing the stream
7003FAILED_TO_FETCH_LOG_DATA_CONFIGURATIONUnable to retrieve log data configuration
7004EXPIRED_LOGDATAThe log data has expired
7005INVALID_LOGDATAThe log data is invalid
7006VIEWINGSESSION_NOTFOUNDUnable to find the viewing session
CodeTitleDescription
10001USAGE_NOT_FOUNDThe requested usage does not exist
10002USAGE_REPORT_NOT_FOUNDUnable to find usages for the given user
10003DEVICE_DENIEDThe device does not meet the ruleset requirements
10004DEVICE_NOT_FOUNDThe requested device was not found
10005RULESET_NOT_FOUNDThe requested ruleset does not exist
10006DEVICE_DELETION_DENIEDDeletion of the device was denied
10007INVAILD_DEVICEDevice was invalid

These error codes provide valuable information to developers, enabling them to diagnose and handle errors effectively when integrating with Vimond services