{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "avalon-core:asset-2.0",
    "description": "A unit of data",
    "type": "object",
    "additionalProperties": true,
    "required": [
        "schema",
        "type",
        "name",
        "silo",
        "data"
    ],
    "properties": {
        "schema": {
            "description": "Schema identifier for payload",
            "type": "string",
            "enum": [
                "avalon-core:asset-2.0"
            ],
            "example": "avalon-core:asset-2.0"
        },
        "type": {
            "description": "The type of document",
            "type": "string",
            "enum": [
                "asset"
            ],
            "example": "asset"
        },
        "parent": {
            "description": "Unique identifier to parent document",
            "example": "592c33475f8c1b064c4d1696"
        },
        "name": {
            "description": "Name of asset",
            "type": "string",
            "pattern": "^[a-zA-Z0-9_.]*$",
            "example": "Bruce"
        },
        "silo": {
            "description": "Group or container of asset",
            "type": "string",
            "example": "assets"
        },
        "data": {
            "description": "Document metadata",
            "type": "object",
            "example": {
                "key": "value"
            }
        }
    },
    "definitions": {}
}