# ValidateProcessConfig

Checks whether a session configuration is valid, but does not start processing.

Type: synchronous

Parameter | Description | Required
--- | --- | ---
Config | A session configuration to validate (base64 encoded, unless you upload it as multipart form data). | Set `Config`, `ConfigName`, or `ConfigPath`.
ConfigName | The name of a session configuration file to validate, when the file is stored in the ConfigDirectory.
ConfigPath | The path of a session configuration file to validate.

## Example

To validate the configuration `facedetect.cfg`, which is stored in the directory specified by the ConfigDirectory parameter:

       /action=ValidateProcessConfig&ConfigName=facedetect

## Response

An example response appears below.

The `processable` element contains a Boolean value that indicates whether the configuration could be used to start processing. The value `true` indicates that there were no fatal errors. If you have used deprecated configuration parameters or the configuration contains unused parameters these are listed in the `errors` element of the response but are not considered to be fatal errors.

A value of `true` does not guarantee that processing will succeed, because this might depend on the source media and whether resources (such as an IDOL Content component) are available. If the configuration sends records to another Media Server, the action does not validate configurations on the downstream server.

If errors are detected, they are described in the `errors` element of the response.

The `engines` element contains information that a user interface could use to draw the engine graph (the engines used in the session configuration and the connections between them). It also includes an XML schema for each output track. For more detailed information about the data types, use the action GetTypeSchemas.

    <autnresponse>
      <action>VALIDATEPROCESSCONFIG</action>
      <response>SUCCESS</response>
      <responsedata>
        <processable>false</processable>
        <errors>
          <autn:filepath>ConfigErrors.cfg</autn:filepath>
          <autn:section>
            <autn:sectionname>FaceDetect</autn:sectionname>
    	 <autn:comment></autn:comment>
    	 <autn:key>
    	   <autn:keyname>NUMPARALLEL</autn:keyname>
    	   <autn:keyvalue>NOTANINT</autn:keyvalue>
    	   <autn:comment>//Wrong type detected. Expected type: int</autn:comment>
    	 </autn:key>
          </autn:section>
        </errors>
        <validated_fields>
          <autn:filepath>ConfigValid.cfg</autn:filepath>
          <autn:section>
            <autn:sectionname>Ingest</autn:sectionname>
    	 <autn:comment></autn:comment>
    	 <autn:key>
    	   <autn:keyname>IngestEngine</autn:keyname>
    	   <autn:keyvalue>In</autn:keyvalue>
    	   <autn:comment>//Type: string</autn:comment>
    	 </autn:key>
          </autn:section>
          <autn:section>
            <autn:sectionname>In</autn:sectionname>
            <autn:comment></autn:comment>
            <autn:key>
              <autn:keyname>Type</autn:keyname>
              <autn:keyvalue>video</autn:keyvalue>
              <autn:comment>//Type: string</autn:comment>
            </autn:key>
          </autn:section>
          ...
          ...
        </validated_fields>
        <original_config>
          <autn:filepath>C:\mediaserver\configurations\facedetect.cfg</autn:filepath>
          <autn:section>
            <autn:sectionname>Ingest</autn:sectionname>
            <autn:comment></autn:comment>
            <autn:key>
              <autn:keyname>IngestEngine</autn:keyname>
              <autn:keyvalue>In</autn:keyvalue>
    	   <autn:comment></autn:comment>
            </autn:key>
          </autn:section>
          ...
          ...
        </original_config>
        <engines>
          <engine name="Source" type="Video" category="Ingest">
            <outputTrack trackName="Source.Proxy">
               ...
            </outputTrack>
            <outputTrack trackName="Default_Image">
               ...
            </outputTrack>
            <outputTrack trackName="Default_Audio">
               ...
            </outputTrack>
            <outputTrack trackName="Default_Closed_Caption">
               ...
            </outputTrack>
          </engine>
          <engine name="FaceDetection" type="FaceDetect" category="Analysis">
            <inputTrack input="Input" trackName="Default_Image" connectedEngine="Source"></inputTrack>
            <outputTrack trackName="FaceDetection.Data">
              <xs:schema>
                <xs:complexType name="FaceResult" mixed="false" abstract="false">
                  <xs:sequence>
                    <xs:element name="id" type="mediaserver:UUIDData"/>
                    <xs:element name="face" type="mediaserver:FaceData"/>
                  </xs:sequence>
                </xs:complexType>
              </xs:schema>
            </outputTrack>
            <outputTrack trackName="FaceDetection.DataWithSource">
              ...
            </outputTrack>
            ...
          </engine>
          ...
        </engines>
      </responsedata>
    </autnresponse>

## See Also

- You can start processing with the Process action.

_FT_HTML5_bannerTitle.htm