{
    "id": "https://opendesk.cc/schemata/base/canonical.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Winnow Canonical",
    "type": "object",
    "properties": {
        "source": {
            "type": "string"
        },
        "path": {
            "type": "string"
        },
        "aliases": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "base": {
            "type": "string"
        },
        "version": {
            "type": "array",
            "items": {
                "type": "number"
            },
            "maxItems": 3,
            "minItems": 3
        },
        "changes": {
            "type": "string"
        },
        "costs": {
            "type": "object",
            "patternProperties": {
                "^[/][/.\\w-]{0,254}$": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "value": {
                                "type": "number"
                            },
                            "currency": {
                                "type": "string"
                            },
                            "is_taxable": {
                                "type": "boolean"
                            },
                            "type": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "shortcode": {
            "type": "string"
        },
        "is_default": {
            "type": "boolean"
        },
        "is_public": {
            "type": "boolean"
        },
        "licenses": {
            "type": "array",
            "items": {
                "type": "string"
            }
        }
    },
    "required": [
        "schema",
        "source",
        "path",
        "version",
        "changes"
    ]
}