{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/JobDetailsResponse",
  "title": "JobDetailsResponse",
  "type": "object",
  "required": [
    "id",
    "trackingId",
    "sourceUserId",
    "sourceCustomerId",
    "targetCustomerId",
    "instanceId",
    "latestExecutionStatus",
    "counts"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL0pPQl9JRC9mZjBlN2Q2Ni05MDRlLTRkZGItYjJlNS05ZGM0ODk0ZDY5OTk",
      "description": "Unique identifier of the job."
    },
    "trackingId": {
      "type": "string",
      "example": "ROUTER_ebb52b5b-d060-4164-9757-48b383423d73",
      "description": "Unique identifier to track the flow of HTTP requests."
    },
    "sourceUserId": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS85YzJhMDUxMC0wOTUwLTQ1MmYtODFmZi05YTVkMjM2OTJkZTY",
      "description": "Unique identifier to identify which user has run the job."
    },
    "sourceCustomerId": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wMjEyNGVlZi04YWY3LTQ4OWMtODA1Yi0zNjNjYzY0MDE4OTM",
      "description": "Unique identifier to identify the customer who has run the job."
    },
    "targetCustomerId": {
      "type": "string",
      "example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi8wMjEyNGVlZi04YWY3LTQ4OWMtODA1Yi0zNjNjYzY0MDE4OTM",
      "description": "Unique identifier to identify the customer for which the job was run."
    },
    "instanceId": {
      "type": "number",
      "example": 10,
      "description": "Unique identifier to identify the instance of the job."
    },
    "jobExecutionStatus": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/JobExecutionStatusObject"
      },
      "description": "Displays the most recent step's execution status. Contains execution statuses of all the steps involved in the execution of the job."
    },
    "latestExecutionStatus": {
      "type": "string",
      "enum": [
        "STARTING",
        "STARTED",
        "COMPLETED",
        "FAILED",
        "UNKNOWN",
        "ABANDONED"
      ],
      "description": "Most recent status of the job at the time of invocation.\n * `STARTING` - Job has started.\n * `STARTED` - Job is in progress.\n * `COMPLETED` - Job has completed.\n * `FAILED` - Job has failed.\n * `UNKNOWN` - Job status is unknown.\n * `ABANDONED` - Job has been abandoned (manually stopped).\n"
    },
    "latestExecutionExitCode": {
      "type": "string",
      "enum": [
        "UNKNOWN",
        "COMPLETED",
        "FAILED",
        "STOPPED",
        "COMPLETED_WITH_ERRORS",
        "COMPLETED_WITH_PENDING_ORDERS"
      ],
      "description": "Most recent exit code of the job at the time of invocation.\n * `UNKNOWN` - Job is in progress.\n * `COMPLETED` - Job has completed successfully.\n * `FAILED` - Job has failed.\n * `STOPPED` - Job has been stopped.\n * `COMPLETED_WITH_ERRORS` - Job has completed with errors.\n * `COMPLETED_WITH_PENDING_ORDERS` - Job has completed with pending number orders.\n"
    },
    "counts": {
      "$ref": "#/components/schemas/CountObject",
      "description": "Job statistics."
    },
    "csvFile": {
      "type": "string",
      "example": "02124eef-7be6-489c-805b-363cc6401893/cbf865e9-d069-4004-bb57-2a39f5bfb5fe_d1fde6bf944c40ed8ffbab14e6ca6a12",
      "description": "Reference ID for the file that holds the errors and impacts."
    },
    "csvFileExpiryTime": {
      "type": "string",
      "example": "2023-07-12T12:20:33.503Z",
      "description": "Date and time with seconds, the file expires in UTC format."
    },
    "fileFormat": {
      "type": "string",
      "example": "text/csv",
      "description": "Format of the file generated."
    }
  }
}