---
updatedAt: 2025-06-18T02:43:09.000Z
agentTools:
  projectIndex: https://api.encoding.com/llms.txt
---

# Get QC Status

This returns the status of your QC requests.

## Request

```xml
<?xml version="1.0"?>
<query>
    <userid>[UserID]</userid> <!-- required-->
    <userkey>[UserKey]</userkey> <!-- required-->
    <action>GetStatus</action>
    <mediaid>[MediaID]</mediaid> <!-- required -->
    <qc_report_format>[xml|json]</qc_report_format>
    <add_qualify_progress>[yes|no]</add_qualify_progress>
</query>
```
```json
{
    "query": {
        "userid": "[UserID]", // required
        "userkey": "[UserKey]", // required
        "action": "GetQCStatus",
        "mediaid": "[MediaID]", // required
        "qc_report_format": "[xml|json]",
        "add_qualify_progress": "[yes|no]"
    }
}
```

> 📘 Media ID
>
> You can use the ID of original media or the ID of QC-media which you can find by GetStatus request or in UI.

| Parameter                  | Description                               | Allowed Values | Default Value |
| :------------------------- | :---------------------------------------- | :------------- | :------------ |
| **mediaid**                | Child QC media ID.                        | Valid mediaID  | *none*        |
| **qc\_report\_format**     | QC Report Format                          | xml, json      | *none*        |
| **add\_qualify\_progress** | Add Qualify Engine progress into response | yes, no        | no            |

> 📘 For qc\_report\_format
>
> By default, we will display QC report in format that was specified for [notifications](https://api.encoding.com/reference/mainfields-notifications).

## Response

Possible QC Status Response:

| Parameter            | Description                                                                                                                                 |
| :------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |
| **transcoding**      | QC has not started since transcoding job is not finished.                                                                                   |
| **validating**       | QC is in progress.                                                                                                                          |
| **passed**           | QC sucessfully finished. All tests passed.                                                                                                  |
| **quarantined**      | Some QC Tests failed and the error message was sent in the QC report.                                                                       |
| **failed**           | Critical QC Tests failed.                                                                                                                   |
| **stopped**          | QC process was suddenly stopped due to an error in previous QC task or StopMedia request.                                                   |
| **skipped**          | All QC tests in the request were skipped for different reasons (e.g. there was only video qc tests in request, but audio-only output, etc.) |
| **transcodingError** | QC not started because of transcoding error.                                                                                                |

## For Original Media

```xml
<?xml version="1.0"?>
<response>
    <id>[MediaID]</id>
    <userid>[UserID]</userid>
    <!-- media status -->
    <status>[MediaStatus]</status>
    <format>
        <!-- output information -->
        <qc_child_media>[QCMediaID]</qc_child_media>
        <qc_child_media_status>[Passed|Failse|Quarantined]</qc_status>
        <qc_report>[QCReportURL]</qc_report>
    </format>
</response>
```
```json
{
    "response": {
        "id": "[MediaID]",
        "userid": "[UserID]",
        // media status
        "status": "[MediaStatus]",
        "format": {
            // output information
            "qc_child_media": "[QCMediaID]",
            "qc_child_media_status": "[Passed|Failse|Quarantined]",
            "qc_report": "[QCReportURL]"
        }
    }
}
```

## For Child QC-Media

```xml
<?xml version="1.0"?>
<response>
    <id>[MediaID]</id> <!-- Equals to qc_child_media_id in parent media GetStatus response -->
    <userid>[UserID]</userid>
    <!-- media status -->
    <status>[MediaStatus]</status>
    <qc_parent_media>[ParentMediaID]</qc_parent_media>
    <qc_parent_task>[ParentTaskID]</qc_parent_task>
    <qc_status>[Passed|Failse|Quarantined]</qc_status>
    <qc_report>[QCReportURL]</qc_report>
    <progress_qualify>[QualifyEngineProgress]</progress_qualify>
    <format>
        <!-- output information -->
        <id>[ParentTaskID]</id>
        <status>[FormatStatus]</status>
    </format>
</response>
```
```json
{
    "response": {
        "id": "[MediaID]", // Equals to qc_child_media_id in parent media GetStatus response
        "userid": "[UserID]",
        // media status
        "status": "[MediaStatus]",
        "qc_parent_media": "[ParentMediaID]",
        "qc_parent_task": "[ParentTaskID]",
        "qc_status": "[Passed|Failse|Quarantined]",
        "qc_report": "[QCReportURL]",
        "progress_qualify": "[QualifyEngineProgress]",
        "format": {
            // output information
            "id": "[ParentTaskID]",
            "status": "[FormatStatus]"
        }
    }
}
```

## Report

```xml
<?xml version="1.0"?>
<report>
    <mediaID>[MediaID]</mediaID>
    <status>[QCStatus]</status>
    <notices>
        <!-- Skipped Tests -->
        <notice>Skip [TestName] test for [Reason]</notice>
    </notices>
    <passed>
        <test>
            <name>[QCTestName]</name>
            <filesProcessed>[FilesCount]</filesProcessed>
        </test>
        <test>
            <!-- Test params -->
        </test>
    </passed>
    <warnings>
        <!-- Failed Tests with severity set to 'warning' -->
        <warning>
            <streamID>[StreamID]</streamID>
            <testName>[QCTestName]</testName>
            <fileName>[FileName]</fileName>
            <message>[Message]</message>
        </warning>
        <warning>
            <!-- Test warning params -->
        </warning>
    </warnings>
    <errors>
        <!-- Failed Tests with severity set to 'failed' -->
        <error>
            <streamID>[StreamID]</streamID>
            <testName>[QCTestName]</testName>
            <fileName>[FileName]</fileName>
            <message>[Message]</message>
        </error>
        <error>
            <!-- Test failed params -->
        </error>
    </errors>
    <externalReports>
        <externalReport>
            <testName>[QCTestName]</testName>
            <fileName>[FileName]</fileName>
            <message>[ReportURL]</message>
        </externalReport>
        <externalReport>
            <!-- external report fields -->
        </externalReport>
    </externalReports>
</report>
```
```json
{
    "report": {
        "mediaID": "[MediaID]",
        "status": "[QCStatus]",
        "notices": {
            "notice": [
                "Skip [TestName] test for [Reason]"
            ]
        },
        "passed": {
            "test": [{
                    "name": "[QCTestName]",
                    "filesProcessed": "[FilesCount]"
                }
            ]
        },
        "warnings": {
            "warning": [{
                    "streamID": "[StreamID]",
                    "testName": "[QCTestName]",
                    "fileName": "[FileName]",
                    "message": "[Message]"
                }
            ]
        },
        "errors": {
            "error": [{
                    "streamID": "[StreamID]",
                    "testName": "[QCTestName]",
                    "fileName": "[FileName]",
                    "message": "[Message]"
                }
            ]
        },
        "externalReports": {
            "externalReport": [
                {
                    "testName": "[QCTestName]",
                    "fileName": "[FileName]",
                    "reportLink": "[ReportURL]"
                },
                {
                    // external report fields
                }
            ]
        }
    }
}
```