JSON Schema 2020-12
Deliverable Manifest
Files, locales and immutable checksums.
Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://sharprod.com/schemas/deliverable-manifest.schema.json",
"title": "SHAR Production Deliverable Manifest Contract",
"type": "object",
"additionalProperties": false,
"properties": {
"project_id": {
"type": "string",
"pattern": "^[a-z0-9-]+$"
},
"deliverables": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"path",
"locale",
"sha256"
],
"properties": {
"path": {
"type": "string",
"pattern": "^[^./][^\\\\]*$"
},
"locale": {
"type": "string",
"pattern": "^[a-z]{2}(?:-[A-Z]{2})?$"
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
}
}
}
},
"required": [
"project_id",
"deliverables"
]
}Verified example
{
"input": {
"project_id": "synthetic-campaign",
"deliverables": [
{
"path": "masters/final.mov",
"locale": "en-US",
"sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
]
},
"result": {
"valid": true,
"errors": []
}
}Rejected example
{
"input": {
"project_id": "synthetic-campaign",
"deliverables": []
},
"result": {
"valid": false,
"errors": [
{
"instancePath": "/deliverables",
"schemaPath": "#/properties/deliverables/minItems",
"keyword": "minItems",
"params": {
"limit": 1
},
"message": "must NOT have fewer than 1 items"
}
]
}
}