New Documentation


Control-M Automation API Documentation has moved to a new location, with a new design to enhance ease of use.

Build service

The build service allows you to compile definitions of jobs, folders, or calendars and verify that they are valid for your Control-M environment. Control-M validation includes basic Control-M rules such as length of fields, allowed characters, and mandatory fields. Build will also check that the JSON is valid. Definitions will be evaluated against the relevant site standard. build can receive definition files in .json format or packages of multiple definition files in .zip or .tar.gz format.

CLI Syntax

ctm build <definitionsFile> [deployDescriptorFile]





The file or archive that contains code for jobs, folders, or calendars.

Valid formats are:

  • .json format
  • .zip or .tar.gz

Note: Calendar definitions are supported in .json format only.

[deployDescriptorFile](Optional) The file that includes the rules to apply on the original definitionsFile. The rules enable transforming Control-M JSON code properties. For detailed information, see Deploy Descriptor.


See REST API reference.

Example using curl:

curl -H "x-api-key: $token" -X POST  -F "definitionsFile=@examples/AutomationAPISampleFlow.json" -F "deployDescriptorFile=@examples/deployDescriptor.json" "$endpoint/build"

The following example shows  how to use the build command in a Python function :

token = r_login.json()['token']
# -----------------
# Built
uploaded_files = [
        ('definitionsFile', ('Jobs.json', open('examples/AutomationAPISampleFlow.json', 'rb'), 'application/json'))
r = + '/build', files=uploaded_files, headers={'x-api-key': + token}, verify=False)
exit(r.status_code ==


The following example demonstrates a typical response to the build command. The response summarizes the numbers of various elements created (such as folders and jobs), indicates whether a Deploy Descriptor is applied, and provides validation messages if site standards are applied (error messages if validations are strictly enforced, or warning messages if validations are not strictly enforced).

    "deploymentFile": "Folder.json",
    "successfulFoldersCount": 0,
    "successfulSmartFoldersCount": 1,
    "successfulSubFoldersCount": 0,
    "successfulJobsCount": 1,
    "successfulConnectionProfilesCount": 0,
    "successfulDriversCount": 0,
    "isDeployDescriptorValid": false,
    "warnings": [
        "message": "Department has to be from values [HR, DEV, FINANCE] ",
        "id": "Validation10006",
        "file": "Folder.json",
        "line": 3,
        "col": 25
Was this page helpful? Yes No Submitting... Thank you