{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/benchling/main/json-schema/benchling-automation-input-generator-schema.json",
  "title": "AutomationInputGenerator",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/benchling-lab-automation-api-openapi.yml#/components/schemas/AutomationInputGenerator",
  "allOf": [
    {
      "$ref": "#/$defs/AutomationFile"
    },
    {
      "properties": {
        "apiURL": {
          "description": "The canonical url of the Automation Input Generator in the API.",
          "format": "uri",
          "readOnly": true,
          "type": "string"
        },
        "createdAt": {
          "description": "DateTime the Automation Input Generator was last modified",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "modifiedAt": {
          "description": "DateTime the Automation Input Generator was last modified",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "transforms": {
          "items": {
            "allOf": [
              {
                "$ref": "#/$defs/LabAutomationTransform"
              }
            ]
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  ],
  "$defs": {
    "AutomationFile": {
      "properties": {
        "assayRunId": {
          "type": "string"
        },
        "automationFileConfig": {
          "properties": {
            "name": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "file": {
          "allOf": [
            {
              "$ref": "#/$defs/Blob"
            }
          ]
        },
        "id": {
          "type": "string"
        },
        "status": {
          "enum": [
            "SUCCEEDED",
            "FAILED",
            "NOT_STARTED",
            "RUNNING"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Blob": {
      "properties": {
        "id": {
          "description": "The universally unique identifier (UUID) for the blob.",
          "format": "uuid",
          "type": "string"
        },
        "mimeType": {
          "description": "eg. application/jpeg",
          "maxLength": 100,
          "type": "string"
        },
        "name": {
          "description": "Name of the blob",
          "maxLength": 1000,
          "type": "string"
        },
        "type": {
          "description": "One of RAW_FILE or VISUALIZATION. If VISUALIZATION, the blob may be displayed as an image preview.\n",
          "enum": [
            "RAW_FILE",
            "VISUALIZATION"
          ],
          "type": "string"
        },
        "uploadStatus": {
          "enum": [
            "IN_PROGRESS",
            "COMPLETE",
            "ABORTED"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "LabAutomationBenchlingAppErrors": {
      "properties": {
        "topLevelErrors": {
          "items": {
            "properties": {
              "errorMessage": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LabAutomationTransform": {
      "properties": {
        "apiURL": {
          "description": "The canonical url of the transform in the API.",
          "format": "uri",
          "readOnly": true,
          "type": "string"
        },
        "blobId": {
          "format": "uuid",
          "type": [
            "string",
            "null"
          ]
        },
        "customTransformId": {
          "format": "uuid",
          "type": [
            "string",
            "null"
          ]
        },
        "errors": {
          "$ref": "#/$defs/LabAutomationBenchlingAppErrors"
        },
        "id": {
          "type": "string"
        },
        "inputGeneratorId": {
          "type": [
            "string",
            "null"
          ]
        },
        "modifiedAt": {
          "description": "DateTime the transform was last modified.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "outputProcessorId": {
          "type": [
            "string",
            "null"
          ]
        },
        "status": {
          "enum": [
            "NOT_STARTED",
            "RUNNING",
            "FAILED",
            "SUCCEEDED"
          ],
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}