{
    "description": "Just a basic schema.",
    "title": "Basic Object",
    "type": "object",
    "definitions": {
        "id": {
            "description": "Unique identifier.",
            "readOnly": true,
            "format": "uuid",
            "example": "01234567-89ab-cdef-0123-456789abcdef",
            "type": "string",
            "minLength": 1
        },
        "foo": {
            "description": "foo property",
            "readOnly": true,
            "type": "number"
        },
        "bar": {
            "description": "bar property",
            "type": "boolean"
        },
        "address": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A simple address schema",
            "type": "object",
            "definitions": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "postalCode": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                }
            },
            "properties": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "postalCode": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                }
            }
        }
    },
    "properties": {
        "id": {
            "description": "Unique identifier.",
            "readOnly": true,
            "format": "uuid",
            "example": "01234567-89ab-cdef-0123-456789abcdef",
            "type": "string",
            "minLength": 1
        },
        "foo": {
            "description": "foo property",
            "readOnly": true,
            "type": "number"
        },
        "bar": {
            "description": "bar property",
            "type": "boolean"
        },
        "address": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "description": "A simple address schema",
            "type": "object",
            "definitions": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "postalCode": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                }
            },
            "properties": {
                "address1": {
                    "type": "string"
                },
                "address2": {
                    "type": "string"
                },
                "city": {
                    "type": "string"
                },
                "postalCode": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                }
            }
        },
        "created_at": {
            "description": "Creation time.",
            "example": "2014-07-25T19:14:29.503Z",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
        },
        "updated_at": {
            "description": "Update date-time.",
            "example": "2014-07-25T19:14:29.503Z",
            "format": "date-time",
            "readOnly": false,
            "type": "string"
        },
        "email": {
            "description": "Email",
            "format": "email",
            "readOnly": false,
            "type": "string",
            "minLength": 1
        }
    }
}