{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "id": "https://w3id.org/blockcerts/schema/1.2/issuer-id-1.2.json",
    "properties": {
        "email": {
            "_format": "email",
            "description": "Contact address for the individual or organization.",
            "type": "string"
        },
        "id": {
            "_format": "uri",
            "description": "The URL of the issuer's website or homepage",
            "type": "string"
        },
        "image": {
            "description": "Data URI; a base-64 encoded png image of the issuer's image. https://en.wikipedia.org/wiki/Data_URI_scheme",
            "pattern": "data:image/png;base64,",
            "type": "string"
        },
        "introductionURL": {
            "_format": "uri",
            "description": "The URL hosting the issuer's introduction endpoint",
            "type": "string"
        },
        "issuerKeys": {
            "description": "list of issuer keys, listed in descending date order (most recent first). V1.2 change: renamed from issuer_key, added optional invalidated field.",
            "items": {
                "additionalProperties": false,
                "properties": {
                    "date": {
                        "_format": "date-time",
                        "description": "ISO-8601 formatted date time the key was activated.",
                        "type": "string"
                    },
                    "invalidated": {
                        "_format": "date-time",
                        "description": "Optional ISO-8601 formatted date time the key was invalidated.",
                        "type": "string"
                    },
                    "key": {
                        "description": "Bitcoin address (compressed public key, usually 24 characters) that the issuer uses to issue the certificates.",
                        "type": "string"
                    }
                },
                "required": [
                    "date",
                    "key"
                ],
                "type": "object"
            },
            "type": "array"
        },
        "name": {
            "description": "Human-readable name of the issuing entity",
            "type": "string"
        },
        "revocationKeys": {
            "description": "list of revocation keys, listed in descending date order (most recent first). V1.2 changes: renamed from revocation_key, added optional invalidated field.",
            "items": {
                "additionalProperties": false,
                "properties": {
                    "date": {
                        "_format": "date-time",
                        "description": "ISO-8601 formatted date time the key was activated.",
                        "type": "string"
                    },
                    "invalidated": {
                        "_format": "date-time",
                        "description": "Optional ISO-8601 formatted date time the key was invalidated.",
                        "type": "string"
                    },
                    "key": {
                        "description": "Bitcoin address (compressed public key, usually 24 characters) that the issuer uses to revoke the certificates.",
                        "type": "string"
                    }
                },
                "required": [
                    "date",
                    "key"
                ],
                "type": "object"
            },
            "type": "array"
        },
        "url": {
            "_format": "uri",
            "description": "The URL where the issuer's certificates can be found",
            "type": "string"
        }
    },
    "required": [
        "issuerKeys",
        "revocationKeys",
        "id",
        "name",
        "email",
        "url",
        "introductionURL",
        "image"
    ],
    "type": "object"
}