General behavior
- When multiple validation errors occur, they are returned together in a single response.
Common errors
The following errors may be returned by any NextGen Live API endpoint.
| Error | Sub code | Message | Description |
|---|---|---|---|
400 BAD_REQUEST |
– |
Bad Request | The request could not be understood by the server. |
400 BAD_REQUEST |
BAD_PAYLOAD |
invalid payload, failed to parse | The request body could not be parsed. |
400 BAD_REQUEST |
CLIENT_GONE |
client has broken the connection | The client closed the connection before the server could respond. |
401 UNAUTHORIZED |
– |
Unauthorized | The request requires authentication. Ensure a valid access token is included. |
403 ACCESS_DENIED |
– |
Forbidden | The credentials provided do not have permission to access the requested resource. |
404 RESOURCE_NOT_FOUND |
– |
The designated resource was not found | The requested resource does not exist. |
405 NOT_ALLOWED |
– |
Method Not Allowed | The HTTP method used is not supported for this endpoint. |
409 CONFLICT |
– |
Conflict | The request conflicts with the current state of the resource. |
422 UNPROCESSABLE_ENTITY |
– |
Unprocessable Entity | The request was well-formed but could not be processed. |
500 SERVER_ERROR |
– |
An undetermined backend server error occurred | An unexpected error occurred while processing the request. |
Configure error message reference
| Error | Sub code | Message | Description |
|---|---|---|---|
200 OK |
– |
Success | The request was successfully processed. |
400 BAD_REQUEST |
VALIDATION_ERROR |
invalid input protocol | The specified input protocol is not supported. |
400 BAD_REQUEST |
VALIDATION_ERROR |
invalid whitelist CIDR block | One or more CIDR blocks in the whitelist are not in a valid format. |
400 BAD_REQUEST |
VALIDATION_ERROR |
output variant[x] invalid video codec | The specified video codec for output variant x is not supported. |
400 BAD_REQUEST |
VALIDATION_ERROR |
output variant[x] invalid video codec profile | The specified video codec profile for output variant x is not supported. |
400 BAD_REQUEST |
VALIDATION_ERROR |
output variant[x] invalid video codec level | The specified video codec level for output variant x is not supported. |
400 BAD_REQUEST |
VALIDATION_ERROR |
specified sample_aspect_ratio is not valid | The sample_aspect_ratio value in the request is not valid. |
400 BAD_REQUEST |
VALIDATION_ERROR |
output variant[x] invalid audio codec | The specified audio codec for output variant x is not supported. |
400 BAD_REQUEST |
VALIDATION_ERROR |
specified H.264 level X for label Y is not sufficient to support encoding at A x B resolution | The specified H.264 level does not support encoding at the given resolution (A×B) for label Y. |
400 BAD_REQUEST |
VALIDATION_ERROR |
specified H.264 profile and level are not sufficient to support encoding with HDR maximum bitrate set at X bps | The specified profile and level do not support the configured HDR maximum bitrate. |
400 BAD_REQUEST |
VALIDATION_ERROR |
specified H.264 profile and level are not sufficient to support encoding with HDR decoder buffer set at X bits | The specified profile and level do not support the configured HDR decoder buffer size. |
400 BAD_REQUEST |
VALIDATION_ERROR |
invalid segment container format | The segment container format is not compatible with the selected manifest type. |
400 BAD_REQUEST |
VALIDATION_ERROR |
supported characters are A-Z, a-z, 0-9, and - (hyphen) for manifest.name | Manifest names may contain only A–Z, a–z, 0–9, and hyphens (-). |
400 BAD_REQUEST |
VALIDATION_ERROR |
invalid manifest config, required either hls or dash | Either hls or dash must be specified in the manifest configuration. |
400 BAD_REQUEST |
VALIDATION_ERROR |
invalid HLS Playlist Type | The specified HLS playlist type is not supported. |
400 BAD_REQUEST |
VALIDATION_ERROR |
invalid start over window seconds | The specified start-over window value is not valid. |
400 BAD_REQUEST |
VALIDATION_ERROR |
playlist_groups[x].name can’t be same as manifest.name | playlist_groups[x].name must be different from manifest.name. |
400 BAD_REQUEST |
VALIDATION_ERROR |
supported characters are A-Z, a-z, 0-9, and - (hyphen) for playlist_groups[x].name | Playlist group names may contain only A–Z, a–z, 0–9, and hyphens (-). |
400 BAD_REQUEST |
VALIDATION_ERROR |
specify at least one of the other fields for playlist_groups[x] other than name | At least one field other than name must be specified for playlist_groups[x]. |
400 BAD_REQUEST |
VALIDATION_ERROR |
maintenance window: invalid Day of the week | The specified day of the week is not valid. |
400 BAD_REQUEST |
VALIDATION_ERROR |
maintenance window: invalid start time, must be format HH:MM | Start time must be specified in HH:MM format. |
400 BAD_REQUEST |
VALIDATION_ERROR |
maintenance window: invalid start time hours | The hour value in the start time is not valid. |
400 BAD_REQUEST |
VALIDATION_ERROR |
maintenance window: invalid start time minutes | The minute value in the start time is not valid. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X is invalid, must be unique | The value provided for field X must be unique. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X is required | A value must be provided for field X. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X is required if Y is not provided | Field X is required if field Y is not specified. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X did not meet minimum limit of Y | The value for field X must be greater than or equal to Y. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X exceeded maximum limit of Y | The value for field X must be less than or equal to Y. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X with invalid CIDR block format | The value for field X must be a valid IPv4 CIDR block. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X is invalid, valid option(s) Y | The value for field X must be one of the supported options (Y). |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X is required if Y is provided | Field X must be specified if field Y is present. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X doesn’t require Y as suffix | The value for field X must not end with Y. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X can’t be set as Y | The value Y cannot be set for field X. |
400 BAD_REQUEST |
VALIDATION_ERROR |
field X can’t be set along with Y | Field X cannot be set together with field Y. |
400 BAD_REQUEST |
FEATURE_NOT_ENABLED |
failed to get account override fixed_ingest_ip_enabled | The requested feature is not enabled for this account. |
400 BAD_REQUEST |
FEATURE_NOT_ENABLED |
incorrect type for setting ‘fixed_ingest_ip_enabled’ account_id X | The provided feature configuration value has an invalid type. |
400 BAD_REQUEST |
FEATURE_NOT_ENABLED |
parsing failed for fixed_ingest_ip_enabled setting account_id X | The provided feature configuration value could not be parsed. |
400 BAD_REQUEST |
FEATURE_NOT_ENABLED |
account X not enabled for fixed ingest ip | Fixed ingest IP is not enabled for this account. |
422 RESOURCE_LIMIT_REACHED |
QUOTA_ERROR |
unable to reserve capacity | The request could not be completed because a quota limit has been reached. |
500 SERVER_ERROR |
– |
an undetermined backend server error occurred | An unexpected error occurred while processing the request. |
Start error message reference
| Error | Sub code | Message | Description |
|---|---|---|---|
200 OK |
– |
Success | The request was successfully processed. |
400 BAD_REQUEST |
INVALID_ID |
invalid job id | The job ID must be provided and cannot be empty. |
400 BAD_REQUEST |
INVALID_STATE |
job is not in a valid state to start | The job is not in a state that can be started. |
403 ACCESS_DENIED |
– |
access not allowed to job with id | You do not have permission to access the specified job. |
404 RESOURCE_NOT_FOUND |
– |
no job found with id ‘abc’ | No job was found for the specified job ID. |
409 CONFLICT |
– |
job ‘abc’ is in transition, try later | The job is currently transitioning between states. Try again later. |
409 CONFLICT |
JOB_STARTED |
job is already in ON state | No action was taken because the job is already running. |
422 RESOURCE_LIMIT_REACHED |
QUOTA_ERROR |
unable to reserve capacity to start job | The request could not be completed because a quota limit has been reached. |
500 SERVER_ERROR |
– |
an undetermined backend server error occurred | An unexpected error occurred while processing the request. |
Stop error message reference
| Error | Sub code | Message | Description |
|---|---|---|---|
200 OK |
– |
Success | The request was successfully processed. |
400 BAD_REQUEST |
INVALID_ID |
invalid job id | The job ID must be provided and cannot be empty. |
400 BAD_REQUEST |
INVALID_STATE |
job is not in a valid state to stop | The job is not in a state that can be stopped. |
403 ACCESS_DENIED |
– |
access not allowed to job with id | You do not have permission to access the specified job. |
404 RESOURCE_NOT_FOUND |
– |
no job found with id ‘abc’ | No job was found for the specified job ID. |
409 CONFLICT |
– |
job ‘abc’ is in transition, try later | The job is currently transitioning between states. Try again later. |
409 CONFLICT |
JOB_STOPPED |
job is already in OFF state | No action was taken because the job is already stopped. |
500 SERVER_ERROR |
– |
an undetermined backend server error occurred | An unexpected error occurred while processing the request. |
Finish error message reference
| Error | Sub code | Message | Description |
|---|---|---|---|
200 OK |
– |
Success | The request was successfully processed. |
400 BAD_REQUEST |
INVALID_ID |
invalid Job ID | The job ID must be provided and cannot be empty. |
400 BAD_REQUEST |
INVALID_STATE |
job is not in a valid state to finish | The job is not in a state that can be finished. |
403 ACCESS_DENIED |
– |
access not allowed to job with id | You do not have permission to access the specified job. |
404 RESOURCE_NOT_FOUND |
– |
no job found with id ‘abc’ | No job was found for the specified job ID. |
409 CONFLICT |
– |
job ‘abc’ is in transition, try later | The job is currently transitioning between states. Try again later. |
409 CONFLICT |
JOB_FINISHED |
job is already in finished state | No action was taken because the job is already finished. |
500 SERVER_ERROR |
– |
an undetermined backend server error occurred | An unexpected error occurred while processing the request. |
Read error message reference
| Error | Sub code | Message | Description |
|---|---|---|---|
200 OK |
– |
Success | The request was successfully processed. |
400 BAD_REQUEST |
INVALID_ID |
invalid Job ID | The job ID must be provided and cannot be empty. |
400 BAD_REQUEST |
INVALID_ID |
invalid Account ID | The account ID must be provided and cannot be empty. |
403 ACCESS_DENIED |
– |
access not allowed to job with id | You do not have permission to access the specified job. |
404 RESOURCE_NOT_FOUND |
– |
no job found with id ‘abc’ | No job was found for the specified job ID. |
500 SERVER_ERROR |
– |
an undetermined backend server error occurred | An unexpected error occurred while processing the request. |
Update error message reference
Update errors include all configuration validation errors listed above, plus the update-specific errors below.
| Error | Sub code | Message | Description |
|---|---|---|---|
200 OK |
– |
Success | The request was successfully processed. |
400 BAD_REQUEST |
INVALID_ID |
invalid Job ID | The job ID must be provided and cannot be empty. |
400 BAD_REQUEST |
INVALID_STATE |
job is not in a valid state to update | The job is not in a state that can be updated. |
400 BAD_REQUEST |
VALIDATION_ERROR |
region must be same as the old configuration | The region value in the update request must match the existing job configuration. |
400 BAD_REQUEST |
VALIDATION_ERROR |
type must be same as the old configuration | The type value in the update request must match the existing job configuration. |
400 BAD_REQUEST |
VALIDATION_ERROR |
manifest update is not supported | Updating the manifest configuration is not supported. |
400 BAD_REQUEST |
VALIDATION_ERROR |
updating the ingest IP config is not supported | Updating the ingest IP configuration is not supported. |
400 BAD_REQUEST |
VALIDATION_ERROR |
protocol cannot be updated when the ingest IP is fixed | Input protocol cannot be updated when ingest IP is fixed. |
403 ACCESS_DENIED |
– |
access not allowed to job with id | You do not have permission to access the specified job. |
404 RESOURCE_NOT_FOUND |
– |
no job found with id ‘abc’ | No job was found for the specified job ID. |
409 CONFLICT |
– |
job ‘abc’ is in transition, try later | The job is currently transitioning between states. Try again later. |
500 SERVER_ERROR |
– |
an undetermined backend server error occurred | An unexpected error occurred while processing the request. |
Note: For update requests, the API may also return any of the validation errors listed in Configure Errors.
Clip error message reference
| Error | Sub code | Message | Description |
|---|---|---|---|
200 OK |
– |
Success | The request was successfully processed. |
400 BAD_REQUEST |
INVALID_ID |
invalid Job ID | The job ID must be provided and cannot be empty. |
400 BAD_REQUEST |
BAD_PAYLOAD |
invalid start time | The requested start time is not valid for the configured start-over window. |
400 BAD_REQUEST |
BAD_PAYLOAD |
invalid start and end time, start can’t be greater than end time | The start time must be less than or equal to the end time. |
400 BAD_REQUEST |
BAD_PAYLOAD |
invalid start time, can’t be 0 or missing | The start time must be provided and must be greater than 0. |
400 BAD_REQUEST |
BAD_PAYLOAD |
invalid end time, end time can’t be in future | The end time must not be in the future. |
400 BAD_REQUEST |
BAD_PAYLOAD |
invalid start and end time, clippable duration too large | The requested clip duration is too large and is not allowed. |
400 BAD_REQUEST |
BAD_PAYLOAD |
invalid start time, start time can’t be in future | The start time must not be in the future. |
400 BAD_REQUEST |
BAD_PAYLOAD |
invalid start time, clippable duration too large | The requested clip duration is too large and is not allowed. |
404 RESOURCE_NOT_FOUND |
– |
no job found with id ‘abc’ | No job was found for the specified job ID. |
500 SERVER_ERROR |
– |
an undetermined backend server error occurred | An unexpected error occurred while processing the request. |