{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-amplify/json-schema/amazon-amplify-start-job-request-schema.json",
  "title": "StartJobRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-amplify-jobs-api-openapi.yml#/components/schemas/StartJobRequest",
  "type": "object",
  "properties": {
    "appId": {
      "type": "string",
      "description": "The unique ID for an Amplify app."
    },
    "branchName": {
      "type": "string",
      "description": "The name of the branch to use for the job."
    },
    "jobId": {
      "type": "string",
      "description": "The unique ID for an existing job. This is required if the value of jobType is RETRY."
    },
    "jobType": {
      "type": "string",
      "enum": [
        "RELEASE",
        "RETRY",
        "MANUAL",
        "WEB_HOOK"
      ],
      "description": "Describes the type for the job. The job type RELEASE starts a new job with the latest change from the specified branch. This value is available only for apps that are connected to a repository. The job type RETRY retries an existing job. If the job type value is RETRY, the jobId is also required."
    },
    "jobReason": {
      "type": "string",
      "description": "A descriptive reason for starting the job."
    },
    "commitId": {
      "type": "string",
      "description": "The commit ID from a third-party repository provider for the job."
    },
    "commitMessage": {
      "type": "string",
      "description": "The commit message from a third-party repository provider for the job."
    },
    "commitTime": {
      "type": "string",
      "format": "date-time",
      "description": "The commit date and time for the job."
    }
  },
  "required": [
    "appId",
    "branchName",
    "jobType"
  ]
}