{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "RevisionDocument (v0.0.4)",
    "type": "object",
    "properties": {
        "id": {
            "description": "The revision identifier",
            "type": "number"
        },
        "timestamp": {
            "description": "The time that the revision was saved in YYYY-MM-DDTHH:MM:SSZ format.",
            "type": "string"
        },
        "page": {
            "description": "Metadata about the page the revision was saved to",
            "type": "object",
            "properties": {
                "id": {
                    "description": "The page's identifier",
                    "type": "number"
                },
                "namespace": {
                    "description": "The page's current namespace identifier",
                    "type": "number"
                },
                "title": {
                    "description": "The page's full name (including namespace prefix)",
                    "type": "string"
                },
                "redirect": {
                    "description": "Redirected to page name.  Otherwise, null.",
                    "type": "string"
                },
                "restrictions": {
                    "description": "The protection restrictions applied to this page.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "user": {
            "description": "Metadata about the user who saved the edit.  Might be null if the contributor information was deleted.",
            "type": [
                "object",
                "null"
            ],
            "properties": {
                "id": {
                    "description": "The users's identifier if registered",
                    "type": "number"
                },
                "text": {
                    "description": "The user's user_name if registered or the IP address if anon.",
                    "type": "string"
                }
            }
        },
        "minor": {
            "description": "Is this a minor edit?",
            "type": "boolean"
        },
        "comment": {
            "description": "The revision summary.  Might be null if the summary was deleted.",
            "type": "string"
        },
        "text": {
            "description": "The content of the revision.  Might be null if the revision content was deleted.",
            "type": "string"
        },
        "bytes": {
            "description": "The size of revision content in bytes",
            "type": "number"
        },
        "sha1": {
            "description": "A sha1 hash of the revision content",
            "type": "string"
        },
        "parent_id": {
            "description": "The revision ID of the preceding revision",
            "type": "number"
        },
        "model": {
            "description": "???",
            "type": "string"
        },
        "format": {
            "description": "???",
            "type": "string"
        },
        "deleted": {
            "description": "Represents information about the deleted/suppressed status of a revision and it\u2019s associated data.",
            "type": "object",
            "properties": {
                "text": {
                    "description": "Is the text of this revision deleted/suppressed?",
                    "type": "boolean"
                },
                "comment": {
                    "description": "Is the comment of this revision deleted/suppressed?",
                    "type": "boolean"
                },
                "user": {
                    "description": "Is the user of this revision deleted/suppressed?",
                    "type": "boolean"
                },
                "restricted": {
                    "description": "Is the revision restricted?",
                    "type": "boolean"
                }
            }
        }
    }
}