{
  "$id": "https://firefox-ci-tc.services.mozilla.com/schemas/object/v1/hashes.json#",
  "$schema": "https://firefox-ci-tc.services.mozilla.com/schemas/common/metaschema.json#",
  "definitions": {
    "download": {
      "additionalProperties": true,
      "description": "Hashes of the content of this object.  The caller should verify all\nhashes present for recognized algorithms, and verify that at least one\nnon-deprecated hash is present.\n",
      "properties": {
        "sha256": {
          "$ref": "#/definitions/upload/properties/sha256"
        },
        "sha512": {
          "$ref": "#/definitions/upload/properties/sha512"
        }
      },
      "required": [],
      "title": "Object Content Hashes For Download",
      "type": "object"
    },
    "upload": {
      "additionalProperties": true,
      "description": "Hashes of the content of this object.  These values will be verified by\nwell-behaved downloaders.  The format is `{alogrithm: value}`.\n\nMultiple calls to `createUpload` or `finishUpload` for the same object\ncan specify additional hashes, but existing hashes cannot be changed;\nthis allows \"amending\" an upload with hashes after the data has been\ntransferred, for example.\n\nAt least one non-deprecated algorithm must be included, preferably the\nmost advanced (SHA512).  Deprecated algorithms may also be included.\n",
      "properties": {
        "sha256": {
          "pattern": "^[a-z0-9]{64}$",
          "title": "SHA256 hash",
          "type": "string"
        },
        "sha512": {
          "pattern": "^[a-z0-9]{128}$",
          "title": "SHA512 hash",
          "type": "string"
        }
      },
      "required": [],
      "title": "Object Content Hashes",
      "type": "object"
    }
  },
  "title": "Hash Methods"
}