{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Note (Full Representation)",
    "type": "object",
    "properties": {
        "id": {
            "description": "The note's unique identifier",
            "type": "integer"
        },
        "body": {
            "description": "The note's body text",
            "type": "string"
        },
        "tags": {
            "description": "Names of the tags the note is associated with",
            "type": "array",
            "items": {
                "type": "string"
            },
            "_uniqueItems": true
        },
        "created_at": {
            "description": "Time the note was created in ISO 8601 extended format",
            "type": "string",
            "pattern": "^[0-9]{4}-[01][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9][.][0-9]+([+-][0-2][0-9]:[0-5][0-9]|Z)$"
        },
        "updated_at": {
            "description": "Time the note was last updated in ISO 8601 extended format",
            "type": "string",
            "pattern": "^[0-9]{4}-[01][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9][.][0-9]+([+-][0-2][0-9]:[0-5][0-9]|Z)$"
        }
    },
    "required": [
        "id",
        "body",
        "tags",
        "created_at",
        "updated_at"
    ]
}