{
    "title": "GMP Blob",
    "type": "object",
    "required": ["name", "schema_version", "hashFunction"],
    "additionalProperties": false,
    "properties": {
        "name": {
            "type": "string",
            "description": "Human readable identifier",
            "minLength": 1,
            "maxLength": 100
        },
        "schema_version": {
            "type": "number",
            "description": "Blob identifier number"
        },
        "hashFunction": {
            "type": "string",
            "description": "Hash function of files pointed at (returned in responses generated by this Blob"
        },
        "vendors": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "vendorName": {
                    "type": "object",
                    "required": ["version"],
                    "additionalProperties": false,
                    "properties": {
                        "version": {
                            "type": "string",
                            "description": "Version number of files for this vendor"
                        },
                        "platforms": {
                            "type": "object",
                            "properties": {
                                "platformName": {
                                    "oneOf": [
                                        {
                                            "type": "object",
                                            "required": ["alias"],
                                            "properties": {
                                                "alias": {
                                                    "type": "string",
                                                    "description": "Platform to look for file details in instead of this one. Must match another existing platform name."
                                                }
                                            }
                                        },
                                        {
                                            "type": "object",
                                            "additionalProperties": false,
                                            "required": ["filesize", "hashValue", "fileUrl"],
                                            "properties": {
                                                "filesize": {
                                                    "anyOf": [
                                                        {
                                                            "type": ["string", "number"]
                                                        }
                                                    ],
                                                    "description": ""
                                                },
                                                "hashValue": {
                                                    "type": "string",
                                                    "description": ""
                                                },
                                                "fileUrl": {
                                                    "type": "string",
                                                    "description": "",
                                                    "format": "uri"
                                                }
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

Add JSON Schema for GMP blobs.
Add JSON Schema for GMP blobs.
