{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "errorParameter": {
            "description": "recorded error value",
            "properties": {
                "date": {
                    "_format": "date-time",
                    "type": "string"
                },
                "value": {
                    "type": "number"
                }
            },
            "required": [
                "date",
                "value"
            ],
            "type": "object"
        }
    },
    "description": "QISKit device backend calibration",
    "id": "http://qiskit.org/device-file/calibration-01/schema#",
    "properties": {
        "lastUpdateData": {
            "_format": "date-time",
            "description": "date of last calibration routine",
            "type": "string"
        },
        "multiQubitGates": {
            "items": {
                "properties": {
                    "gateError": {
                        "$ref": "#/definitions/errorParameter"
                    },
                    "name": {
                        "type": "string"
                    },
                    "qubits": {
                        "items": {
                            "minimum": 0,
                            "type": "integer"
                        },
                        "minLength": 2,
                        "type": "array"
                    },
                    "type": {
                        "type": "string"
                    }
                },
                "required": [
                    "name",
                    "gateError",
                    "qubits",
                    "type"
                ],
                "type": "object"
            },
            "minLength": 0,
            "title": "Multi-qubit gate error parameters",
            "type": "array"
        },
        "qubits": {
            "items": {
                "properties": {
                    "gateError": {
                        "$ref": "#/definitions/errorParameter"
                    },
                    "name": {
                        "type": "string"
                    },
                    "readoutError": {
                        "$ref": "#/definitions/errorParameter"
                    }
                },
                "required": [
                    "name",
                    "gateError",
                    "readoutError"
                ],
                "type": "object"
            },
            "minItems": 1,
            "title": "Single-qubit gate error parameters",
            "type": "array"
        }
    },
    "required": [
        "lastUpdateDate",
        "multiQubitGates",
        "qubits"
    ],
    "type": "object"
}