{
  "$id": "https://firefox-ci-tc.services.mozilla.com/schemas/object/v1/create-upload-response.json#",
  "$schema": "https://firefox-ci-tc.services.mozilla.com/schemas/common/metaschema.json#",
  "additionalProperties": false,
  "description": "A response from the `createUpload` method, either agreeing to an upload method or\nrejecting the proposal.\n",
  "properties": {
    "expires": {
      "format": "date-time",
      "title": "Expiration",
      "type": "string"
    },
    "projectId": {
      "maxLength": 500,
      "minLength": 1,
      "pattern": "^([a-zA-Z0-9._/-]*)$",
      "title": "Project Identifier",
      "type": "string"
    },
    "uploadId": {
      "pattern": "^[A-Za-z0-9_-]{8}[Q-T][A-Za-z0-9_-][CGKOSWaeimquy26-][A-Za-z0-9_-]{10}[AQgw]$",
      "title": "Upload ID",
      "type": "string"
    },
    "uploadMethod": {
      "additionalProperties": false,
      "description": "The selected upload method, from those contained in the request.  At most one\nproperty will be set, indicating the selected method.  If no properties are set,\nthen none of the proposed methods were selected.\n",
      "maxProperties": 1,
      "minProperties": 0,
      "properties": {
        "dataInline": {
          "$ref": "upload-method-data-inline.json#/definitions/response"
        },
        "putUrl": {
          "$ref": "upload-method-put-url.json#/definitions/response"
        }
      },
      "required": [],
      "title": "Selected Upload Method (or none)",
      "type": "object"
    }
  },
  "required": [
    "projectId",
    "uploadId",
    "expires",
    "uploadMethod"
  ],
  "title": "Create Upload Response",
  "type": "object"
}