{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/blacksky/json-schema/blacksky-status-info-schema.json",
  "title": "statusInfo",
  "description": "Job metadata.\n",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blacksky-processing-api-openapi.yml#/components/schemas/statusInfo",
  "required": [
    "jobID",
    "status",
    "type"
  ],
  "type": "object",
  "properties": {
    "processID": {
      "$ref": "#/$defs/processId"
    },
    "jobID": {
      "type": "string",
      "description": "The job ID.\n"
    },
    "accountID": {
      "type": "string",
      "description": "The account ID.\n"
    },
    "workspaceID": {
      "type": "string",
      "description": "The workspace ID.\n"
    },
    "definition": {
      "$ref": "#/$defs/execute"
    },
    "results": {
      "$ref": "#/$defs/results"
    },
    "status": {
      "$ref": "#/$defs/statusCode"
    },
    "type": {
      "$ref": "#/$defs/jobType"
    },
    "created": {
      "type": "string",
      "description": "The timestamp when the job was created.\n",
      "format": "date-time"
    },
    "updated": {
      "type": "string",
      "description": "The timestamp when the job was last updated.\n",
      "format": "date-time"
    },
    "started": {
      "type": "string",
      "description": "The timestamp when the job was started.\n",
      "format": "date-time"
    },
    "finished": {
      "type": "string",
      "description": "The timestamp when the job was finished.\n",
      "format": "date-time"
    },
    "creditConsumption": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "credits": {
          "type": "integer"
        }
      },
      "description": "The number of consumed credits. If the process has failed, the value is `null`.\n"
    }
  },
  "$defs": {
    "JobPricingbinaryInputValue": {
      "type": "string",
      "format": "byte"
    },
    "bbox": {
      "required": [
        "bbox"
      ],
      "type": "object",
      "properties": {
        "bbox": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "crs": {
          "type": "string",
          "format": "uri",
          "default": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
          "enum": [
            "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
            "http://www.opengis.net/def/crs/OGC/0/CRS84h"
          ]
        }
      }
    },
    "execute": {
      "type": "object",
      "properties": {
        "inputs": {
          "type": "object",
          "additionalProperties": {
            "oneOf": [
              {
                "$ref": "#/$defs/inlineOrRefData"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/inlineOrRefData"
                }
              }
            ]
          },
          "description": "The input parameters. The schemas are different, depending on the selected process.\n"
        },
        "outputs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/output"
          },
          "description": "The output parameters.\n"
        },
        "response": {
          "type": "string",
          "description": "The response type. The only allowed value is `document`.\n",
          "enum": [
            "document"
          ]
        }
      },
      "description": "An implementation of the [OGC Standard](https://docs.ogc.org/is/18-062r2/18-062r2.html), but with different default response values. Results are always provided with permanent links and a job's results field only contains references or errors.\n"
    },
    "format": {
      "type": "object",
      "properties": {
        "mediaType": {
          "type": "string"
        },
        "encoding": {
          "type": "string"
        },
        "schema": {
          "oneOf": [
            {
              "type": "string",
              "format": "url"
            },
            {
              "type": "object"
            }
          ]
        }
      }
    },
    "inlineOrRefData": {
      "oneOf": [
        {
          "$ref": "#/$defs/inputValue"
        },
        {
          "$ref": "#/$defs/qualifiedInputValue"
        },
        {
          "$ref": "#/$defs/link"
        }
      ]
    },
    "inputValue": {
      "oneOf": [
        {
          "$ref": "#/$defs/inputValueNoObject"
        },
        {
          "type": "object"
        }
      ]
    },
    "inputValueNoObject": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "integer"
        },
        {
          "type": "boolean"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "$ref": "#/$defs/JobPricingbinaryInputValue"
        },
        {
          "$ref": "#/$defs/bbox"
        }
      ]
    },
    "jobType": {
      "type": "string",
      "description": "The type of job. The only allowed value is `process`.\n",
      "enum": [
        "process"
      ]
    },
    "link": {
      "required": [
        "href"
      ],
      "type": "object",
      "properties": {
        "href": {
          "type": "string",
          "description": "The URL of the related link.\n"
        },
        "hreflang": {
          "type": "string",
          "description": "The language of the related link.\n"
        },
        "rel": {
          "type": "string",
          "description": "The type of relation of the link in `links.href` to the current job.\n"
        },
        "type": {
          "type": "string",
          "description": "The media type the link returns.\n"
        },
        "title": {
          "type": "string",
          "description": "The link title.\n"
        }
      }
    },
    "output": {
      "type": "object",
      "properties": {
        "format": {
          "$ref": "#/$defs/format"
        },
        "transmissionMode": {
          "$ref": "#/$defs/transmissionMode"
        }
      }
    },
    "processId": {
      "type": "string",
      "description": "The process ID in a name format.\n"
    },
    "qualifiedInputValue": {
      "allOf": [
        {
          "$ref": "#/$defs/format"
        },
        {
          "required": [
            "value"
          ],
          "type": "object",
          "properties": {
            "value": {
              "$ref": "#/$defs/inputValue"
            }
          }
        }
      ]
    },
    "results": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "$ref": "#/$defs/inlineOrRefData"
      },
      "description": "Job results.\n"
    },
    "statusCode": {
      "type": "string",
      "description": "The [job status](https://docs.up42.com/developers/api-processing#job-statuses).",
      "enum": [
        "created",
        "licensed",
        "unlicensed",
        "valid",
        "invalid",
        "accepted",
        "rejected",
        "running",
        "successful",
        "failed",
        "captured",
        "released"
      ]
    },
    "transmissionMode": {
      "type": "string",
      "default": "reference",
      "enum": [
        "value",
        "reference"
      ]
    }
  }
}