{
    "description": "JSON schema (draft 3) for CSL citation objects",
    "id": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json",
    "type": "object",
    "properties": {
        "schema": {
            "type": "string",
            "required": true,
            "enum" : [
                "https://github.com/citation-style-language/schema/raw/master/csl-citation.json" 
            ] 
        },
        "citationID": {
            "type": [
                "string",
                "number" 
            ],
            "required": true 
        },
        "citationItems": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "number" 
                        ],
                        "required": true 
                    },
                    "itemData": {
                        "$ref": "csl-data.json/#/items" 
                    },
                    "prefix": {
                        "type": "string" 
                    },
                    "suffix": {
                        "type": "string" 
                    },
                    "locator": {
                        "type": "string" 
                    },
                    "label": {
                        "type": "string",
                        "enum": [
                            "book",
                            "chapter",
                            "column",
                            "figure",
                            "folio",
                            "issue",
                            "line",
                            "note",
                            "opus",
                            "page",
                            "paragraph",
                            "part",
                            "section",
                            "sub verbo",
                            "verse",
                            "volume" 
                        ] 
                    },
                    "suppress-author": {
                        "type": [
                            "string",
                            "number",
                            "boolean" 
                        ] 
                    },
                    "author-only": {
                        "type": [
                            "string",
                            "number",
                            "boolean" 
                        ] 
                    },
                    "uris": {
                        "type": "array",
                        "items": {
                            "type": "string" 
                        } 
                    } 
                },
                "additionalProperties" : false 
            } 
        },
        "properties": {
            "type": "object",
            "properties": {
                "noteIndex": {
                    "type": "number" 
                } 
            },
            "additionalProperties" : false 
        } 
    },
    "additionalProperties" : false 
}
