

# List of MediaConvert EventBridge events
List of MediaConvert EventBridge events

AWS Elemental MediaConvert emits an event to Amazon EventBridge when the status of a job changes. You can create [EventBridge rules](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) for any of these events. 

Most jobs will only emit a few of these events, with the most common being: `INPUT_INFORMATION`, `PROGRESSING`, and `COMPLETE`.

For more information about each event type, choose the link in the **Event** column.


**MediaConvert events**  

| Event | Sent when | Contains | 
| --- | --- | --- | 
|  [INPUT\$1INFORMATION](ev_status_input_information.md)  |  Soon after MediaConvert begins processing the job.  |  Media information, such as frame height and width, frame rate, and codec. Information from MediaConvert about all inputs in a single event.  | 
|  [PROGRESSING](ev_status_progressing.md)  |  A job moves from the `SUBMITTED` state to the `PROGRESSING` state.   |  Basic job details.  | 
| [STATUS\$1UPDATE](ev_status_status_update.md) | Approximately one minute after MediaConvert begins processing the job. Sent approximately every minute after that, until the job is completed or encounters an error. | Job progress expressed in the number of frames transcoded since the beginning of the job. | 
|  [COMPLETE](ev_status_complete.md)  |  A job is completed and MediaConvert writes all outputs successfully without errors.  |  Warnings and output information about the completed job.  | 
| [CANCELED](ev_status_canceled.md) | A job is canceled. | Basic job details. | 
|  [ERROR](ev_status_error.md)  |  A job has an error. At least one output has an error.  |  The error code or codes and any messages. Includes any other ephemeral job information about the job's error status.   | 
|  [NEW\$1WARNING](ev_status_new_warning.md)  |  A warning condition arises.  |  The warning code or codes and any warning messages.  | 
|  [QUEUE\$1HOP](ev_status_queue_hop.md)  |  When a job hops queues.  |  The ARNs for both queues and the job's priority within the queue.   | 

**Note**  
MediaConvert does not emit a `SUBMITTED` event. To receive an EventBridge event any time you make an API call, including calls from the MediaConvert console, you must create a AWS CloudTrail trail. For more information, see [Accessing AWS service events via AWS CloudTrail](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html) and [Working with CloudTrail trails](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-getting-started.html).

When MediaConvert sends an event to EventBridge, the following fields are present in the resulting JSON.
+ **version** — Currently 0 (zero) for all events.
+ **id** — A Version 4 UUID generated for every event.
+ **detail-type** — The type of event that's being sent.
+ **source** — Identifies the service that generated the event.
+ **account** — The 12-digit AWS account ID that ran the job.
+ **time** — The time the event occurred.
+ **region** — Identifies the AWS Region of the job.
+ **resources** — A JSON array that contains the Amazon Resource Name (ARN) of the job.
+ **detail** — A JSON object that contains information about the job.

The following sections contain event message details, JSON responses, and event patterns for every EventBridge event that MediaConvert emits.

**Topics**
+ [

# Events with INPUT\$1INFORMATION status
](ev_status_input_information.md)
+ [

# Events with PROGRESSING status
](ev_status_progressing.md)
+ [

# Events with STATUS\$1UPDATE status
](ev_status_status_update.md)
+ [

# Events with COMPLETE status
](ev_status_complete.md)
+ [

# Events with CANCELED status
](ev_status_canceled.md)
+ [

# Events with ERROR status
](ev_status_error.md)
+ [

# Events with NEW\$1WARNING status
](ev_status_new_warning.md)
+ [

# Events with QUEUE\$1HOP status
](ev_status_queue_hop.md)

# Events with INPUT\$1INFORMATION status
INPUT\$1INFORMATION

MediaConvert sends the event for `INPUT_INFORMATION` after a job begins processing and after MediaConvert reads information about your input. The event primarily contains media information about your input, such as frame height and width, frame rate, and codec.

 MediaConvert includes information about all of your inputs in a single event.

The following JSON is an example event containing the `INPUT_INFORMATION` status for a job with a single input.

```
{
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2022-12-19T19:07:12Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1671476818694-phptj0"
    ],
    "detail": {
        "timestamp": 1671476832075,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1671476818694-phptj0",
        "status": "INPUT_INFORMATION",
        "userMetadata": {},
        "inputDetails": [
            {
                "id": 1,
                "uri": "s3://amzn-s3-demo-bucket/file/file.mp4",
                "audio": [
                    {
                        "channels": 2,
                        "codec": "AAC",
                        "language": "UND",
                        "sampleRate": 44100,
                        "streamId": 2
                    }
                ],
                "video": [
                    {
                        "bitDepth": 8,
                        "codec": "H_264",
                        "colorFormat": "YUV_420",
                        "fourCC": "avc1",
                        "frameRate": 24,
                        "height": 1080,
                        "interlaceMode": "PROGRESSIVE",
                        "sar": "1:1",
                        "standard": "UNSPECIFIED",
                        "streamId": 1,
                        "width": 1920
                    }
                ]
            }
        ]
    }
}
```

You can use the following sample JSON to create an EventBridge event pattern for jobs with a status of `INPUT_INFORMATION`.

```
{
  "source": ["aws.mediaconvert"],
  "detail-type": ["MediaConvert Job State Change"],
  "detail": {
    "status": ["INPUT_INFORMATION"]
  }
}
```

# Events with PROGRESSING status
PROGRESSING

MediaConvert sends the event for `PROGRESSING` when a job moves from the `SUBMITTED` state to the `PROGRESSING` state.

**Note**  
After a job has been in the `PROGRESSING` status for 48 hours, the service puts it into an `ERROR` state and stops working on it. You are not billed for jobs that end in an `ERROR` state.

The following JSON is an example event containing the `PROGRESSING` status for a job.

```
{
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2022-12-19T19:20:21Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1671477617078-2886ye"
    ],
    "detail": {
        "timestamp": 1671477621654,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1671477617078-2886ye",
        "status": "PROGRESSING",
        "userMetadata": {}
    }
}
```

You can use the following sample JSON to create an EventBridge event pattern for jobs with a status of `PROGRESSING`.

```
{
    "source": ["aws.mediaconvert"],
    "detail-type": ["MediaConvert Job State Change"],
    "detail": {
        "status": ["PROGRESSING"]
    }
}
```

# Events with STATUS\$1UPDATE status
STATUS\$1UPDATE

MediaConvert sends the event for `STATUS_UPDATE` approximately one minute after it begins processing a job. By default, updates are sent approximately every minute after that, until the service finishes transcoding or encounters an error.

You can optionally specify a different update frequency in your job, with the **Status update interval** setting. For more frequent updates, you can choose 10, 12, 15, 20, or 30 seconds. For fewer updates, you can choose anywhere from 2 to 10 minutes, in increments of one minute. For more information, see [Adjust the status update interval](adjusting-the-status-update-interval.md).

A `STATUS_UPDATE` event contains information about your job's current phase. When available, it contains job and phase percent completion.

Job phases are as follows:
+ During `PROBING`, the service reads information about the input while it prepares to transcode. 
+ During `TRANSCODING`, the service demuxes, decodes, encodes, and remuxes your content. In some jobs, the service begins uploading outputs to your output Amazon S3 bucket during this phase, as well. The phase ends when all transcoding is complete.
+ During `UPLOADING`, the service uploads the remaining transcoded outputs to your Amazon S3 bucket.

The following JSON is an example event containing the `STATUS_UPDATE` status for a job.

```
{
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2022-12-19T19:21:21Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1671477617078-2886ye"
    ],
    "detail": {
        "timestamp": 1671477681737,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1671477617078-2886ye",
        "status": "STATUS_UPDATE",
        "userMetadata": {},
        "framesDecoded": 353,
        "jobProgress": {
            "phaseProgress": {
                "PROBING": {
                    "status": "COMPLETE",
                    "percentComplete": 100
                },
                "TRANSCODING": {
                    "status": "PROGRESSING",
                    "percentComplete": 2
                },
                "UPLOADING": {
                    "status": "PENDING",
                    "percentComplete": 0
                }
            },
            "jobPercentComplete": 7,
            "currentPhase": "TRANSCODING",
            "retryCount": 0
        }
    }
}
```

You can use the following sample JSON to create an EventBridge event pattern for jobs with a status of `STATUS_UPDATE`.

```
{
    "source": ["aws.mediaconvert"],
    "detail-type": ["MediaConvert Job State Change"],
    "detail": {
        "status": ["STATUS_UPDATE"]
    }
}
```

# Adjust the status update interval


By default, AWS Elemental MediaConvert sends `STATUS_UPDATE` events to Amazon EventBridge approximately once per minute. These status updates provide information about how your job is progressing. You can adjust the status update interval by specifying a different update frequency in your job.

**To specify the STATUS\$1UPDATE frequency**

1. On the **Create job** page, in the **Job** pane on the left, in the **Job settings** section, choose **AWS integration**.

1. In the **AWS integration** section on the right, for **Status update interval (sec)**, choose **interval, in seconds, between updates**.

If you use the API or an SDK, you can find this setting in the JSON file of your job. The setting name is [statusUpdateInterval](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-createjobrequest-statusupdateinterval).

# Events with COMPLETE status
COMPLETE

MediaConvert sends the event for `COMPLETE` when all outputs are written to Amazon S3 without errors. It contains both warnings and output information for the completed job. For more information about output file names and paths, see [Output file names and paths](output-file-names-and-paths.md).

The following JSON is an example event containing the `COMPLETE` status for a job.

```
{
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2022-12-19T19:07:12Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2::jobs/1671476818694-phptj0"
    ],
    "detail": {
        "timestamp": 1671476832124,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1671476818694-phptj0",
        "status": "COMPLETE",
        "userMetadata": {},
        "warnings": [
            {
                "code": 000000,
                "count": 1
            }
        ],
        "outputGroupDetails": [
            {
                "outputDetails": [
                    {
                        "outputFilePaths": [
                            "s3://amzn-s3-demo-bucket/file/file.mp4"
                        ],
                        "durationInMs": 30041,
                        "videoDetails": {
                            "widthInPx": 1920,
                            "heightInPx": 1080,
                            "qvbrAvgQuality": 7.38,
                            "qvbrMinQuality": 7,
                            "qvbrMaxQuality": 8,
                            "qvbrMinQualityLocation": 2168,
                            "qvbrMaxQualityLocation": 25025
                        }
                    }
                ],
                "type": "FILE_GROUP"
            }
        ],
        "paddingInserted": 0,
        "blackVideoDetected": 10,
        "blackSegments": [
            {
                "start": 0,
                "end": 10
            }
        ]
    }
}
```

`COMPLETE` events contain additional information about your job and outputs. The following table lists and describes the different properties available in job event message details.


**COMPLETE event message details**  

| Property | Data type | Details | 
| --- | --- | --- | 
|  `paddingInserted`  |  integer  | The total duration of blank frames MediaConvert inserted across all outputs in your job, in milliseconds. Video padding inserts blank frames to help keep audio and video durations aligned. Large `paddingInserted` values show that more blank frames were inserted. These values also show to what extend your input audio tracks start late, or end early, or both. | 
|  `qvbrAvgQuality`  |  float  |  The average video quality of your Quality-Defined Variable Bitrate (QVBR) output. Included for QVBR outputs only.  | 
|  `qvbrMinQuality`  |  float  |  The minimum video quality detected in your QVBR output.  Included for QVBR outputs only.  | 
|  `qvbrMaxQuality`  |  float  |  The maximum video quality detected in your QVBR output. Included for QVBR outputs only.  | 
|  `qvbrMinQualityLocation`  |  integer  |  The location in your output where `qvbrMinQuality` was detected, in milliseconds. You can use `qvbrMinQualityLocation` while reviewing your output video quality and bandwidth usage. Included for QVBR outputs only.  | 
|  `qvbrMaxQualityLocation`  |  integer  |  The location in your output where `qvbrMaxQuality` was detected, in milliseconds. You can use `qvbrMaxQualityLocation` while reviewing your output video quality and bandwidth usage. Included for QVBR outputs only.  | 
|  `warnings`  code  count  |  array integer integer  |  Any warning codes seen in the job and the number of times they occurred. For more information, see [Warning codes](warning_codes.md).  | 
|  `blackVideoDetected`  |  integer  |  The total duration of black video frames in your outputs that are also present in your inputs, in milliseconds. `blackVideoDetected` does not include any black frames inserted by MediaConvert.  | 
|  `blackVideoSegments`  `start`  `end`  |  array integer integer  |  The location or locations in your output where black video frames were detected. Each segment of black video in your output is shown with its own start and end. `blackVideoSegments` does not include any black frames inserted by MediaConvert.  | 
|  `averageBitrate`  |  integer  |  The average bitrate of your video output, calculated by dividing the duration by the total bits.  | 

You can use the following sample JSON to create an EventBridge event pattern for jobs with a status of `COMPLETE`.

```
{
  "source": ["aws.mediaconvert"],
  "detail-type": ["MediaConvert Job State Change"],
  "detail": {
    "status": ["COMPLETE"]
  }
}
```

# Output file names and paths
Output file names and pathsFind output file names and paths in EventBridge notifications

You can receive output file names and paths, including manifest and media file outputs, by using Amazon EventBridge with AWS Elemental MediaConvert jobs.

The EventBridge job `COMPLETE` notification includes details about your output in JSON. This information includes the file names and paths for the outputs of the job—including manifests and media assets.

The files that AWS Elemental MediaConvert creates depends on the output groups that you set up in the job. For example, DASH ISO packages contain an .mpd manifest and .mp4 media fragment files.

You can find output file name and path information in the following properties:

`playlistFilePaths`  
A list of the Amazon S3 file paths to the multivariant playlists.

`outputFilePaths`  
The file path to either the media or the manifest, depending on the output group type.

`type`  
The type of output group, which determines what files are listed in the `playlistFilePaths` and `outputFilePaths`.

The following table summarizes the values for these properties, depending on the output group type.


| Type | playlistFilePaths | outputFilePaths | 
| --- | --- | --- | 
| FILE\$1GROUP (standard output) | not returned |  File name and path of the media file. Example: `s3://amzn-s3-demo-bucket/file/file.mp4`  | 
| FILE\$1GROUP (with additional frame capture output) | not returned |  File name and path of the final captured image. Example: `s3://amzn-s3-demo-bucket/frameoutput/file.0000036.jpg`  | 
| HLS\$1GROUP |  File name and path of the multivariant playlist. Example: `s3://amzn-s3-demo-bucket/hls/main.m3u8`  |  File name and path of the manifests for the individual outputs. Examples: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/mediaconvert/latest/ug/output-file-names-and-paths.html)  | 
| DASH\$1ISO\$1GROUP |  File name and path of the manifest. Example: `s3://amzn-s3-demo-bucket/dash/1.mpd`  | not returned | 
| CMAF\$1GROUP |  File name and path for each of the top-level manifests. Examples: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/mediaconvert/latest/ug/output-file-names-and-paths.html)  | not returned | 
| MS\$1SMOOTH\$1GROUP |  File name and path of the server-side manifest. Example: `s3://amzn-s3-demo-bucket/smooth/1.ism`  |  File name and path of the video manifests for each of the individual outputs. Examples: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/mediaconvert/latest/ug/output-file-names-and-paths.html)  | 

For sample responses in JSON for each output group type, see the following topics:

**Topics**
+ [

# File group
](file-group.md)
+ [

# File group with a frame capture output
](file-group-with-frame-capture-output.md)
+ [

# Apple HLS group
](apple-hls-group.md)
+ [

# DASH ISO group
](dash-iso-group.md)
+ [

# CMAF group
](cmaf-group.md)
+ [

# Microsoft Smooth Streaming group
](microsoft-smooth-streaming-group.md)

# File group
File group

The following is an Amazon EventBridge sample event for a job with a `COMPLETE` status. The example includes output file path information for a file group.

```
{
    "detail": {
        "status": "COMPLETE",
        "paddingInserted": 0,
        "blackVideoDetected": 10,
        "blackSegments": [
            "start": 0,
            "end": 10
        ],
        "outputGroupDetails": [
            {
                "outputDetails": [
                    {
                        "outputFilePaths": [
                            "s3://amzn-s3-demo-bucket/file/file.mp4"
                        ],
                        "durationInMs": 180041,
                        "videoDetails": {
                            "averageBitrate": 200000,
                            "widthInPx": 1280,
                            "heightInPx": 720,
                            "qvbrAvgQuality": 7.38,
                            "qvbrMinQuality": 7,
                            "qvbrMaxQuality": 8,
                            "qvbrMinQualityLocation": 2168,
                            "qvbrMaxQualityLocation": 25025
                        },
                    }
                ],
                "type": "FILE_GROUP"
            }
        ],
        "timestamp": 1536964380391,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1536964333549-opn151",
        "userMetadata": {},
        "warnings": [
            {
                "code": 000000,
                "count": 1
            }
        ],
    },
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-09-14T21:54:31Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1536961999428-kxngbl"
    ]
}
```

**Note**  
QVBR statistics are only available when your video output uses Quality-Defined Variable Bitrate (QVBR) rate control.

# File group with a frame capture output
File group with frame capture output

This guide provides an Amazon EventBridge example event for a job with a `COMPLETE` status. It also shows output file path information for a file group with a frame capture output. 

A *frame capture output* is an output that you set up to create still images of video. You set it up similar to a regular **File group** output group. However, you remove the audio component, choose **No container** for the container, and then choose **Frame capture to JPEG** for the video codec.

**Note**  
You can create frame capture outputs only in jobs that also have a regular audio and video output. MediaConvert doesn't support jobs that consist only of a frame capture output.

When you create a frame capture output, the `COMPLETE` status includes the `outputFilePaths` property. This tells you the file name and path of the final captured image. 

**Tip**  
Because the service includes automatic numbering in the frame capture file names, you can infer all the image names from the final one. For example, if your `outputFilePaths` value is `s3://amzn-s3-demo-bucket/frameoutput/file.0000036.jpg`, you can infer that there are 35 other images in the same location, named `file.0000001`, `file.0000002`, and so on.

The following is an EventBridge sample event for a job with a `COMPLETE` status. It includes output file path information for a file group with a frame capture output. 

```
{
    "detail": {
        "status": "COMPLETE",
        "paddingInserted": 0,
        "blackVideoDetected": 10,
        "blackSegments": [
                {
                    "start": 0,
                    "end": 10
                }
        ],
        "outputGroupDetails": [
            {
                "outputDetails": [
                    {
                        "outputFilePaths": [
                            "s3://amzn-s3-demo-bucket/frameoutput/file.0000036.jpg"
                        ],
                        "durationInMs": 185000,
                        "videoDetails": {
                            "widthInPx": 1280,
                            "heightInPx": 720
                        }
                    }
                ],
                "type": "FILE_GROUP"
            },
            {
                "outputDetails": [
                    {
                        "outputFilePaths": [
                            "s3://amzn-s3-demo-bucket/file/file.mp4"
                        ],
                        "durationInMs": 180041,
                        "blackVideoDurationInMs": 0,
                        "videoDetails": {
                            "widthInPx": 1280,
                            "heightInPx": 720,
                            "averageQVBRScore": 7.38,
                            "minimumQVBRScore": 7,
                            "maximumQVBRScore": 8,
                            "minimumQVBRScoreLocationInMs": 2168,
                            "maximumQVBRScoreLocationInMs": 25025
                        }
                    }
                ],
                "type": "FILE_GROUP"
            }
        ],
        "timestamp": 1536964380391,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1536964333549-opn151",
        "userMetadata": {},
        "warnings": [
            {
                "code": 000000,
                "count": 1
            }
        ]
    },
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-09-14T21:54:31Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1536961999428-kxngbl"
    ]
}
```

**Note**  
Quality-Defined Variable Bitrate (QVBR) statistics are only available when your video output uses QVBR rate control.

# Apple HLS group
Apple HLS group

The following is an Amazon EventBridge sample event for a job with a `COMPLETE` status. It includes output file path information for an Apple HLS group.

```
{
    "detail": {
        "status": "COMPLETE",
        "paddingInserted": 0,
        "blackVideoDetected": 10,
        "blackSegments": [
            {
                "start": 0,
                "end": 10
            }
        ],
        "outputGroupDetails": [
            {
                "outputDetails": [
                    {
                        "outputFilePaths": [
                            "s3://amzn-s3-demo-bucket/hls/mainv2.m3u8"
                        ],
                        "durationInMs": 180041,
                        "blackVideoDurationInMs": 0,
                        "videoDetails": {
                            "widthInPx": 426,
                            "heightInPx": 240,
                            "averageQVBRScore": 7.38,
                            "minimumQVBRScore": 7,
                            "maximumQVBRScore": 8,
                            "minimumQVBRScoreLocationInMs": 2168,
                            "maximumQVBRScoreLocationInMs": 25025
                        }
                    },
                    {
                        "outputFilePaths": [
                            "s3://amzn-s3-demo-bucket/hls/mainv1.m3u8"
                        ],
                        "durationInMs": 180041,
                        "blackVideoDurationInMs": 0,
                        "videoDetails": {
                            "widthInPx": 1280,
                            "heightInPx": 720,
                            "averageQVBRScore": 7.38,
                            "minimumQVBRScore": 7,
                            "maximumQVBRScore": 8,
                            "minimumQVBRScoreLocationInMs": 2168,
                            "maximumQVBRScoreLocationInMs": 25025
                        }
                    }
                ],
                "type": "HLS_GROUP",
                "playlistFilePaths": [
                    "s3://amzn-s3-demo-bucket/hls/main.m3u8"
                ]
            }
        ],
        "timestamp": 1536964380391,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1536964333549-opn151",
        "userMetadata": {},
        "warnings": [
            {
                "code": 000000,
                "count": 1
            }
        ]
    },
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-09-14T21:54:31Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1536961999428-kxngbl"
    ]
}
```

**Note**  
Quality-Defined Variable Bitrate (QVBR) statistics are only available when your video output uses QVBR rate control.

# DASH ISO group
DASH ISO group

The following is an Amazon EventBridge sample event for a job with a `COMPLETE` status. It includes output file path information for a DASH ISO group.

```
{
    "detail": {
        "status": "COMPLETE",
        "paddingInserted": 0,
        "blackVideoDetected": 10,
        "blackSegments": [
            {
                "start": 0,
                "end": 10
            }
        ],
        "outputGroupDetails": [
            {
                "outputDetails": [
                    {
                        "durationInMs": 180041,
                        "blackVideoDurationInMs": 0,
                        "videoDetails": {
                            "widthInPx": 1280,
                            "heightInPx": 720,
                            "averageQVBRScore": 7.38,
                            "minimumQVBRScore": 7,
                            "maximumQVBRScore": 8,
                            "minimumQVBRScoreLocationInMs": 2168,
                            "maximumQVBRScoreLocationInMs": 25025
                        }
                    }
                ],
                "type": "DASH_ISO_GROUP",
                "playlistFilePaths": [
                    "s3://amzn-s3-demo-bucket/dash/1.mpd"
                ]
            }
        ],
        "timestamp": 1536964380391,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1536964333549-opn151",
        "userMetadata": {},
        "warnings": [
            {
                "code": 000000,
                "count": 1
            }
        ]
    },
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-09-14T21:54:31Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1536961999428-kxngbl"
    ]
}
```

**Note**  
Quality-Defined Variable Bitrate (QVBR) statistics are only available when your video output uses QVBR rate control.

# CMAF group
CMAF group

The following is an EventBridge sample event for a job with a `COMPLETE` status. It includes output file path information for a CMAF group.

```
{
    "detail": {
        "status": "COMPLETE",
        "paddingInserted": 0,
        "blackVideoDetected": 10,
        "blackSegments": [
            {
                "start": 0,
                "end": 10
            }
        ],
        "outputGroupDetails": [
            {
                "outputDetails": [
                    {
                            "durationInMs": 180041,
                            "blackVideoDurationInMs": 0,
                            "videoDetails": {
                                "widthInPx": 1280,
                                "heightInPx": 720,
                                "averageQVBRScore": 7.38,
                                "minimumQVBRScore": 7,
                                "maximumQVBRScore": 8,
                                "minimumQVBRScoreLocationInMs": 2168,
                                "maximumQVBRScoreLocationInMs": 25025
                            }
                    }
                ],
                "type": "CMAF_GROUP",
                "playlistFilePaths": [
                    "s3://amzn-s3-demo-bucket/cmaf/1.mpd",
                    "s3://amzn-s3-demo-bucket/cmaf/1.m3u8"
                ]
            }
        ],
        "timestamp": 1536964380391,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1536964333549-opn151",
        "userMetadata": {},
        "warnings": [
            {
                "code": 000000,
                "count": 1
            }
        ]
    },
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-09-14T21:54:31Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1536961999428-kxngbl"
    ]
}
```

**Note**  
Quality-Defined Variable Bitrate (QVBR) statistics are only available when your video output uses QVBR rate control.

# Microsoft Smooth Streaming group
Microsoft Smooth Streaming group

The following is an EventBridge sample event for a job with a `COMPLETE` status. It includes output file path information for a Microsoft Smooth Streaming group.

```
{
    "detail": {
        "status": "COMPLETE",
        "paddingInserted": 0,
        "blackVideoDetected": 10,
        "blackSegments": [
            {
                "start": 0,
                "end": 10
            }
        ],
        "outputGroupDetails": [
            {
                "outputDetails": [
                    {
                        "outputFilePaths": [
                            "s3://amzn-s3-demo-bucket/smooth/1_va.ismv"
                        ],
                        "durationInMs": 180041,
                        "blackVideoDurationInMs": 0,
                        "videoDetails": {
                            "widthInPx": 1280,
                            "heightInPx": 534,
                            "averageQVBRScore": 7.38,
                            "minimumQVBRScore": 7,
                            "maximumQVBRScore": 8,
                            "minimumQVBRScoreLocationInMs": 2168,
                            "maximumQVBRScoreLocationInMs": 25025
                        }
                    }
                ],
                "type": "MS_SMOOTH_GROUP",
                "playlistFilePaths": [
                    "s3://amzn-s3-demo-bucket/smooth/1.ism"
                ]
            }
        ],
        "timestamp": 1536964380391,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1536964333549-opn151",
        "userMetadata": {},
        "warnings": [
            {
                "code": 000000,
                "count": 1
            }
        ]
    },
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-09-14T21:54:31Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:mediaconvert:us-west-2:111122223333:jobs/1536961999428-kxngbl"
    ]
}
```

**Note**  
Quality-Defined Variable Bitrate (QVBR) statistics are only available when your video output uses QVBR rate control.

# Events with CANCELED status
CANCELED

MediaConvert sends the event for `CANCELED` when the job is canceled. It contains basic job details including `timestamp`, `accountID`, `queue`, `jobId`, and `userMetadata`.

The following JSON is an example event containing the `CANCELED` status for a job.

```
{
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-01-07T23:35:20Z",
    "region": "us-west-2",
    "resources": ["arn:aws:mediaconvert:us-west-2:111122223333:jobs/1515368087458-qnoxtd"],
    "detail": {
        "timestamp": 1515368120764,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1515368087458-qnoxtd",
        "status": "CANCELED",
        "userMetadata": {}
    }
}
```

You can use the following sample JSON to create an EventBridge event pattern for jobs with a status of `CANCELED`.

```
{
    "source": ["aws.mediaconvert"],
    "detail-type": ["MediaConvert Job State Change"],
    "detail": {
        "status": ["CANCELED"]
    }
}
```

# Events with ERROR status
ERROR

MediaConvert sends the event for `ERROR` when at least one output has an error. It contains the error code or codes, messages, and warnings or other ephemeral job information about the job's error status. For more information about error codes, see [Error codes](mediaconvert_error_codes.md).

The following JSON is an example event containing the `ERROR` status for a job.

```
{
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-01-07T23:35:20Z",
    "region": "us-west-2",
    "resources": ["arn:aws:mediaconvert:us-west-2:111122223333:jobs/1515368087458-qnoxtd"],
    "detail": {
        "timestamp": 1515368120764,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1515368087458-qnoxtd",
        "status": "ERROR",
        "errorCode": 1040,
        "errorMessage": "Example error message",
        "userMetadata": {}
    }
}
```

You can use the following sample JSON to create an EventBridge event pattern for jobs with a status of `ERROR`.

```
{
    "source": ["aws.mediaconvert"],
    "detail-type": ["MediaConvert Job State Change"],
    "detail": {
        "status": ["ERROR"]
    }
}
```

# Events with NEW\$1WARNING status
NEW\$1WARNING

MediaConvert sends an event for `NEW_WARNING` when a warning condition arises. A warning condition doesn't stop the job from running. It contains the submission queue ARN, the job ID, and a warning message. Warning messages inform you about conditions that don't stop the job but might indicate that the job is not progressing as you planned.

For example, a job that you set up to hop queues reaches the wait time that you specified, but can't hop.

`NEW_WARNING` only contains the most recent warning message. It doesn't report previous warnings, even if those warning conditions are still in effect.

For more information about warning messages, see [Warning codes](warning_codes.md).

The following JSON is an example event containing the `NEW_WARNING` status for a job.

```
{
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-01-07T23:35:20Z",
    "region": "us-west-2",
    "resources": ["arn:aws:mediaconvert:us-west-2:111122223333:jobs/1515368087458-qnoxtd"],
    "detail": {
        "timestamp": 1515368120764,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "jobId": "1515368087458-qnoxtd",
        "status": "NEW_WARNING",
        "warningCode": "000000",
        "warningMessage": "Example warning message",
        "userMetadata": {}
    }
}
```

You can use the following sample JSON to create an EventBridge event pattern for jobs with a status of `NEW_WARNING`.

```
{
  "source": ["aws.mediaconvert"],
  "detail-type": ["MediaConvert Job State Change"],
  "detail": {
    "status": ["NEW_WARNING"]
  }
}
```

# Events with QUEUE\$1HOP status
QUEUE\$1HOP

MediaConvert sends the `QUEUE_HOP` event when a job hops queues. It contains the ARNs for both queues and the job's priority within the queues.

Both `priority` and `previousPriority` will be the same unless the queue hopping configuration specifies a new priority to give to the job as it hops queues.

The following JSON is an example event containing the `QUEUE_HOP` status for a job.

```
{
    "version": "0",
    "id": "1234abcd-12ab-34cd-56ef-1234567890ab",
    "detail-type": "MediaConvert Job State Change",
    "source": "aws.mediaconvert",
    "account": "111122223333",
    "time": "2018-01-07T23:35:20Z",
    "region": "us-west-2",
    "resources": ["arn:aws:mediaconvert:us-west-2:111122223333:jobs/1515368087458-qnoxtd"],
    "detail": {
        "timestamp": 1515368120764,
        "accountId": "111122223333",
        "queue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Default",
        "previousQueue": "arn:aws:mediaconvert:us-west-2:111122223333:queues/Alternate",
        "priority": 0,
        "previousPriority": 0,
        "jobId": "1515368087458-qnoxtd",
        "status": "QUEUE_HOP",
        "userMetadata": {}
    }
}
```

You can use the following sample JSON to create an EventBridge event pattern for jobs with a status of `QUEUE_HOP`.

```
{
    "source": ["aws.mediaconvert"],
    "detail-type": ["MediaConvert Job State Change"],
    "detail": {
        "status": ["QUEUE_HOP"]
    }
}
```

