{
    "$schema": "http://json-schema.org/draft-04/schema",
    "additionalProperties": false,
    "definitions": {
        "trait_additional_properties_json": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "additionalProperties": {},
            "description": "A grab-bag object for non-validatable data.",
            "title": "Has additional properties",
            "type": "object"
        }
    },
    "description": "What the Washington Post calls a Kicker",
    "patternProperties": {
        "^[a-zA-Z0-9_]*$": {
            "additionalProperties": false,
            "description": "Additional user-defined keyed label objects.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/trait_additional_properties_json"
                },
                "display": {
                    "description": "If false, this label should be hidden.",
                    "type": "boolean"
                },
                "text": {
                    "description": "The text of this label.",
                    "type": "string"
                },
                "url": {
                    "description": "An optional destination url of this label.",
                    "type": "string"
                }
            },
            "required": [
                "text"
            ],
            "type": "object"
        }
    },
    "properties": {
        "basic": {
            "additionalProperties": false,
            "description": "The default label object for this piece of content.",
            "properties": {
                "additional_properties": {
                    "$ref": "#/definitions/trait_additional_properties_json"
                },
                "display": {
                    "description": "If false, this label should be hidden.",
                    "type": "boolean"
                },
                "text": {
                    "description": "The text of this label.",
                    "type": "string"
                },
                "url": {
                    "description": "An optional destination url of this label.",
                    "type": "string"
                }
            },
            "required": [
                "text"
            ],
            "type": "object"
        }
    },
    "title": "Label",
    "type": "object"
}