{
    "definitions": {
        "comment": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "definitions": {
                "comment_object": {
                    "description": "default comment object",
                    "properties": {
                        "content": {
                            "$ref": "#/definitions/comment/definitions/content"
                        },
                        "id": {
                            "$ref": "#/definitions/comment/definitions/id"
                        },
                        "post": {
                            "$ref": "#/definitions/comment/definitions/post_object"
                        },
                        "user": {
                            "$ref": "#/definitions/comment/definitions/user_object"
                        }
                    },
                    "required": [
                        "content",
                        "id"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "content": {
                    "description": "unique name of comment",
                    "example": "Some comment",
                    "type": [
                        "string"
                    ]
                },
                "created_at": {
                    "description": "when comment was created",
                    "format": "date-time",
                    "type": [
                        "string"
                    ]
                },
                "errors_object": {
                    "description": "comment errors object",
                    "properties": {
                        "errors": {
                            "properties": {
                                "content": {
                                    "type": [
                                        "array"
                                    ]
                                }
                            },
                            "type": [
                                "object"
                            ]
                        }
                    },
                    "type": [
                        "object"
                    ]
                },
                "id": {
                    "description": "unique identifier of comment",
                    "example": "42",
                    "type": [
                        "number"
                    ]
                },
                "identity": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/comment/definitions/id"
                        }
                    ]
                },
                "post_object": {
                    "description": "short post object",
                    "properties": {
                        "id": {
                            "$ref": "#/definitions/post/definitions/identity"
                        }
                    },
                    "type": [
                        "object"
                    ]
                },
                "request_object_default": {
                    "description": "default request object",
                    "properties": {
                        "comment": {
                            "properties": {
                                "content": {
                                    "$ref": "#/definitions/comment/definitions/content"
                                }
                            },
                            "required": [
                                "content"
                            ],
                            "type": [
                                "object"
                            ]
                        }
                    },
                    "required": [
                        "comment"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_only_object": {
                    "description": "default response by comment",
                    "properties": {
                        "comment": {
                            "$ref": "#/definitions/comment"
                        }
                    },
                    "required": [
                        "comment"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_with_list": {
                    "description": "response_with_list",
                    "properties": {
                        "comments": {
                            "items": {
                                "$ref": "#/definitions/comment/definitions/comment_object"
                            },
                            "type": [
                                "array"
                            ]
                        },
                        "meta": {
                            "$ref": "#/definitions/shared/definitions/default_meta"
                        }
                    },
                    "required": [
                        "comments",
                        "meta"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_with_single": {
                    "description": "response_with_single",
                    "properties": {
                        "comment": {
                            "$ref": "#/definitions/comment/definitions/comment_object"
                        }
                    },
                    "required": [
                        "comment"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "updated_at": {
                    "description": "when comment was updated",
                    "format": "date-time",
                    "type": [
                        "string"
                    ]
                },
                "user_object": {
                    "description": "short user object",
                    "properties": {
                        "login": {
                            "$ref": "#/definitions/user/definitions/login"
                        }
                    },
                    "type": [
                        "object"
                    ]
                }
            },
            "description": "Comments description",
            "links": [
                {
                    "description": "Info for existing comment.",
                    "href": "/comments/{(%23%2Fdefinitions%2Fcomment%2Fdefinitions%2Fidentity)}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#/definitions/comment/definitions/response_with_single"
                    },
                    "title": "Info"
                },
                {
                    "description": "List existing comments.",
                    "href": "/comments",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "$ref": "#/definitions/shared/definitions/request_object_lite"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/comment/definitions/response_with_list"
                    },
                    "title": "List"
                },
                {
                    "description": "Update an existing comment.",
                    "href": "/comments/{(%23%2Fdefinitions%2Fcomment%2Fdefinitions%2Fidentity)}",
                    "method": "PUT",
                    "rel": "update",
                    "schema": {
                        "$ref": "#/definitions/comment/definitions/request_object_default"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/comment/definitions/response_only_object"
                    },
                    "title": "Update"
                },
                {
                    "description": "Delete an existing comment.",
                    "href": "/comments/{(%23%2Fdefinitions%2Fcomment%2Fdefinitions%2Fidentity)}",
                    "method": "DELETE",
                    "rel": "destroy",
                    "targetSchema": {
                        "$ref": "#/definitions/shared/definitions/default_success_boolean"
                    },
                    "title": "Delete"
                },
                {
                    "description": "List existing comments for existing post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}/comments",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "$ref": "#/definitions/shared/definitions/request_object_lite"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/comment/definitions/response_with_list"
                    },
                    "title": "List"
                },
                {
                    "description": "Create a new comment for post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}/comments",
                    "method": "POST",
                    "rel": "create",
                    "schema": {
                        "$ref": "#/definitions/comment/definitions/request_object_default"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/comment/definitions/response_only_object"
                    },
                    "title": "Create"
                }
            ],
            "properties": {
                "content": {
                    "$ref": "#/definitions/comment/definitions/content"
                },
                "id": {
                    "$ref": "#/definitions/comment/definitions/id"
                }
            },
            "stability": "prototype",
            "strictProperties": true,
            "title": "Comment",
            "type": [
                "object"
            ]
        },
        "post": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "definitions": {
                "comments_array": {
                    "description": "post comments",
                    "items": {
                        "$ref": "#/definitions/comment"
                    },
                    "type": [
                        "array"
                    ]
                },
                "content": {
                    "description": "post content",
                    "example": "Lorem ipsum dolor sit amet, consectetur adipiscing elit ...",
                    "type": [
                        "string"
                    ]
                },
                "content_short": {
                    "description": "post content",
                    "example": "Short content",
                    "maxLength": 255,
                    "type": [
                        "string"
                    ]
                },
                "created_at": {
                    "description": "when post was created",
                    "format": "date-time",
                    "type": [
                        "string"
                    ]
                },
                "errors_object": {
                    "description": "post errors object",
                    "properties": {
                        "errors": {
                            "properties": {
                                "content": {
                                    "type": [
                                        "array"
                                    ]
                                },
                                "slug": {
                                    "type": [
                                        "array"
                                    ]
                                },
                                "title": {
                                    "type": [
                                        "array"
                                    ]
                                }
                            },
                            "type": [
                                "object"
                            ]
                        }
                    },
                    "type": [
                        "object"
                    ]
                },
                "id": {
                    "description": "unique identifier of post",
                    "example": "some-post",
                    "readOnly": true,
                    "type": [
                        "string"
                    ]
                },
                "identity": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/post/definitions/id"
                        },
                        {
                            "$ref": "#/definitions/post/definitions/slug"
                        }
                    ]
                },
                "meta_desc": {
                    "description": "post meta description",
                    "example": "Meta description",
                    "type": [
                        "string"
                    ]
                },
                "meta_keywords": {
                    "description": "post meta keywords",
                    "example": "Meta keywords",
                    "type": [
                        "string"
                    ]
                },
                "owner_object": {
                    "description": "post owner",
                    "properties": {
                        "login": {
                            "$ref": "#/definitions/user/definitions/login"
                        }
                    },
                    "type": [
                        "object"
                    ]
                },
                "post_list_object": {
                    "description": "post list object",
                    "properties": {
                        "content": {
                            "$ref": "#/definitions/post/definitions/content_short"
                        },
                        "id": {
                            "$ref": "#/definitions/post/definitions/id"
                        },
                        "meta_desc": {
                            "$ref": "#/definitions/post/definitions/meta_desc"
                        },
                        "meta_keywords": {
                            "$ref": "#/definitions/post/definitions/meta_keywords"
                        },
                        "owner": {
                            "$ref": "#/definitions/post/definitions/owner_object"
                        },
                        "slug": {
                            "$ref": "#/definitions/post/definitions/slug"
                        },
                        "status": {
                            "$ref": "#/definitions/post/definitions/status"
                        },
                        "title": {
                            "$ref": "#/definitions/post/definitions/title"
                        }
                    },
                    "required": [
                        "content",
                        "title",
                        "slug",
                        "id"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "post_object": {
                    "description": "post object",
                    "properties": {
                        "content": {
                            "$ref": "#/definitions/post/definitions/content"
                        },
                        "id": {
                            "$ref": "#/definitions/post/definitions/id"
                        },
                        "meta_desc": {
                            "$ref": "#/definitions/post/definitions/meta_desc"
                        },
                        "meta_keywords": {
                            "$ref": "#/definitions/post/definitions/meta_keywords"
                        },
                        "owner": {
                            "$ref": "#/definitions/post/definitions/owner_object"
                        },
                        "slug": {
                            "$ref": "#/definitions/post/definitions/slug"
                        },
                        "status": {
                            "$ref": "#/definitions/post/definitions/status"
                        },
                        "title": {
                            "$ref": "#/definitions/post/definitions/title"
                        }
                    },
                    "required": [
                        "content",
                        "id"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "request_object_default": {
                    "description": "default request object",
                    "properties": {
                        "post": {
                            "properties": {
                                "content": {
                                    "$ref": "#/definitions/post/definitions/content"
                                },
                                "meta_desc": {
                                    "$ref": "#/definitions/post/definitions/meta_desc"
                                },
                                "meta_keywords": {
                                    "$ref": "#/definitions/post/definitions/meta_keywords"
                                },
                                "slug": {
                                    "$ref": "#/definitions/post/definitions/slug"
                                },
                                "status": {
                                    "$ref": "#/definitions/post/definitions/status"
                                },
                                "title": {
                                    "$ref": "#/definitions/post/definitions/title"
                                }
                            },
                            "required": [
                                "title",
                                "content"
                            ],
                            "type": [
                                "object"
                            ]
                        }
                    },
                    "required": [
                        "post"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_only_object": {
                    "description": "default response by post",
                    "properties": {
                        "post": {
                            "$ref": "#/definitions/post"
                        }
                    },
                    "required": [
                        "post"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_with_list": {
                    "description": "response_with_list",
                    "properties": {
                        "meta": {
                            "$ref": "#/definitions/shared/definitions/default_meta"
                        },
                        "posts": {
                            "items": {
                                "$ref": "#/definitions/post/definitions/post_list_object"
                            },
                            "type": [
                                "array"
                            ]
                        }
                    },
                    "required": [
                        "posts",
                        "meta"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_with_single": {
                    "description": "response_with_single",
                    "properties": {
                        "post": {
                            "$ref": "#/definitions/post/definitions/post_object"
                        }
                    },
                    "required": [
                        "post"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "slug": {
                    "description": "name of the post",
                    "example": "post-title",
                    "type": [
                        "string"
                    ]
                },
                "status": {
                    "description": "status of the post",
                    "enum": [
                        "published",
                        "unpublished"
                    ],
                    "example": "published",
                    "type": [
                        "string"
                    ]
                },
                "title": {
                    "description": "name of the post",
                    "example": "Post title",
                    "type": [
                        "string"
                    ]
                },
                "updated_at": {
                    "description": "when post was updated",
                    "format": "date-time",
                    "type": [
                        "string"
                    ]
                }
            },
            "description": "FIXME",
            "links": [
                {
                    "description": "Create a new post.",
                    "href": "/posts",
                    "method": "POST",
                    "rel": "create",
                    "schema": {
                        "$ref": "#/definitions/post/definitions/request_object_default"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/post/definitions/response_only_object"
                    },
                    "title": "Create"
                },
                {
                    "description": "Follow post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}/follow",
                    "method": "POST",
                    "rel": "update",
                    "targetSchema": {
                        "$ref": "#/definitions/post/definitions/response_only_object"
                    },
                    "title": "Follow"
                },
                {
                    "description": "Unfollow post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}/unfollow",
                    "method": "POST",
                    "rel": "update",
                    "targetSchema": {
                        "$ref": "#/definitions/post/definitions/response_only_object"
                    },
                    "title": "Unfollow"
                },
                {
                    "description": "Publish post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}/publish",
                    "method": "POST",
                    "rel": "update",
                    "targetSchema": {
                        "$ref": "#/definitions/post/definitions/response_only_object"
                    },
                    "title": "Publish"
                },
                {
                    "description": "Unpublish post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}/unpublish",
                    "method": "POST",
                    "rel": "update",
                    "targetSchema": {
                        "$ref": "#/definitions/post/definitions/response_only_object"
                    },
                    "title": "Unpublish"
                },
                {
                    "description": "Delete an existing post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}",
                    "method": "DELETE",
                    "rel": "destroy",
                    "targetSchema": {
                        "$ref": "#/definitions/shared/definitions/default_success_boolean"
                    },
                    "title": "Delete"
                },
                {
                    "description": "Info for existing post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#/definitions/post/definitions/response_with_single"
                    },
                    "title": "Info"
                },
                {
                    "description": "List existing posts.",
                    "href": "/posts",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "$ref": "#/definitions/shared/definitions/request_object_lite"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/post/definitions/response_with_list"
                    },
                    "title": "List"
                },
                {
                    "description": "Update an existing post.",
                    "href": "/posts/{(%23%2Fdefinitions%2Fpost%2Fdefinitions%2Fidentity)}",
                    "method": "PUT",
                    "rel": "update",
                    "schema": {
                        "$ref": "#/definitions/post/definitions/request_object_default"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/post/definitions/response_only_object"
                    },
                    "title": "Update"
                }
            ],
            "properties": {
                "content": {
                    "$ref": "#/definitions/post/definitions/content"
                },
                "id": {
                    "$ref": "#/definitions/post/definitions/id"
                },
                "meta_desc": {
                    "$ref": "#/definitions/post/definitions/meta_desc"
                },
                "meta_keywords": {
                    "$ref": "#/definitions/post/definitions/meta_keywords"
                },
                "slug": {
                    "$ref": "#/definitions/post/definitions/slug"
                },
                "status": {
                    "$ref": "#/definitions/post/definitions/status"
                },
                "title": {
                    "$ref": "#/definitions/post/definitions/title"
                }
            },
            "stability": "prototype",
            "strictProperties": true,
            "title": "FIXME - Post",
            "type": [
                "object"
            ]
        },
        "shared": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "definitions": {
                "default_error_string": {
                    "description": "default error wrapper",
                    "properties": {
                        "error": {
                            "example": "Page not found",
                            "type": [
                                "string"
                            ]
                        }
                    },
                    "required": [
                        "error"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "default_meta": {
                    "description": "default meta",
                    "properties": {
                        "current_page": {
                            "example": 1,
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "next_page": {
                            "example": 2,
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "prev_page": {
                            "example": 1,
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "total_count": {
                            "example": 10,
                            "type": [
                                "number",
                                "null"
                            ]
                        },
                        "total_pages": {
                            "example": 5,
                            "type": [
                                "number",
                                "null"
                            ]
                        }
                    },
                    "type": [
                        "object"
                    ]
                },
                "default_success_boolean": {
                    "description": "default success wrapper",
                    "properties": {
                        "success": {
                            "example": true,
                            "type": [
                                "boolean"
                            ]
                        }
                    },
                    "required": [
                        "success"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "identity": {},
                "page": {
                    "description": "page number",
                    "example": 1,
                    "type": [
                        "integer"
                    ]
                },
                "request_object_lite": {
                    "description": "lite request object",
                    "properties": {
                        "page": {
                            "$ref": "#/definitions/shared/definitions/page"
                        }
                    },
                    "type": [
                        "object"
                    ]
                }
            },
            "description": "Shared data for our schemas",
            "links": [],
            "properties": {},
            "stability": "prototype",
            "strictProperties": true,
            "title": "Shared",
            "type": [
                "object"
            ]
        },
        "token": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "definitions": {
                "access_token": {
                    "description": "unique token identifier of user",
                    "readOnly": true,
                    "type": [
                        "string"
                    ]
                },
                "identity": {}
            },
            "description": "Token description",
            "links": [
                {
                    "description": "Get a new token.",
                    "href": "/tokens",
                    "method": "PUT",
                    "rel": "update",
                    "schema": {
                        "properties": {},
                        "type": [
                            "object"
                        ]
                    },
                    "title": "Update"
                }
            ],
            "properties": {
                "access_token": {
                    "$ref": "#/definitions/token/definitions/access_token"
                }
            },
            "stability": "prototype",
            "strictProperties": true,
            "title": "Token",
            "type": [
                "object"
            ]
        },
        "user": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "definitions": {
                "created_at": {
                    "description": "when user was created",
                    "format": "date-time",
                    "type": [
                        "string"
                    ]
                },
                "email": {
                    "description": "unique email of user",
                    "example": "aa@bb.ru",
                    "format": "email",
                    "type": [
                        "string"
                    ]
                },
                "errors_object": {
                    "description": "user errors object",
                    "properties": {
                        "errors": {
                            "properties": {
                                "email": {
                                    "type": [
                                        "array"
                                    ]
                                },
                                "login": {
                                    "type": [
                                        "array"
                                    ]
                                },
                                "password": {
                                    "type": [
                                        "array"
                                    ]
                                },
                                "password_confirmation": {
                                    "type": [
                                        "array"
                                    ]
                                }
                            },
                            "type": [
                                "object"
                            ]
                        }
                    },
                    "type": [
                        "object"
                    ]
                },
                "followings_object": {
                    "description": "followed posts",
                    "properties": {
                        "content": {
                            "$ref": "#/definitions/post/definitions/content_short"
                        },
                        "id": {
                            "$ref": "#/definitions/post/definitions/id"
                        },
                        "slug": {
                            "$ref": "#/definitions/post/definitions/slug"
                        },
                        "status": {
                            "$ref": "#/definitions/post/definitions/status"
                        },
                        "title": {
                            "$ref": "#/definitions/post/definitions/title"
                        }
                    },
                    "type": [
                        "object"
                    ]
                },
                "id": {
                    "description": "unique identifier of user",
                    "example": 44,
                    "readOnly": true,
                    "type": [
                        "integer"
                    ]
                },
                "identity": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/user/definitions/id"
                        },
                        {
                            "$ref": "#/definitions/user/definitions/login"
                        }
                    ]
                },
                "login": {
                    "description": "unique login of user",
                    "example": "user-login",
                    "type": [
                        "string"
                    ]
                },
                "request_object_default": {
                    "description": "default request object",
                    "properties": {
                        "user": {
                            "properties": {
                                "email": {
                                    "$ref": "#/definitions/user/definitions/email"
                                },
                                "login": {
                                    "$ref": "#/definitions/user/definitions/login"
                                },
                                "role": {
                                    "$ref": "#/definitions/user/definitions/role"
                                }
                            },
                            "required": [
                                "login",
                                "email"
                            ],
                            "type": [
                                "object"
                            ]
                        }
                    },
                    "required": [
                        "user"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_only_object": {
                    "description": "default response by user",
                    "properties": {
                        "user": {
                            "$ref": "#/definitions/user"
                        }
                    },
                    "required": [
                        "user"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_with_list": {
                    "description": "response_with_list",
                    "properties": {
                        "meta": {
                            "$ref": "#/definitions/shared/definitions/default_meta"
                        },
                        "users": {
                            "items": {
                                "$ref": "#/definitions/user"
                            },
                            "type": [
                                "array"
                            ]
                        }
                    },
                    "required": [
                        "users",
                        "meta"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "response_with_single": {
                    "description": "response_with_single",
                    "properties": {
                        "user": {
                            "$ref": "#/definitions/user/definitions/user_object"
                        }
                    },
                    "required": [
                        "user"
                    ],
                    "type": [
                        "object"
                    ]
                },
                "role": {
                    "description": "role of user",
                    "enum": [
                        "guest",
                        "user",
                        "admin"
                    ],
                    "example": "guest",
                    "type": [
                        "string"
                    ]
                },
                "updated_at": {
                    "description": "when user was updated",
                    "format": "date-time",
                    "type": [
                        "string"
                    ]
                },
                "user_object": {
                    "description": "user object",
                    "properties": {
                        "email": {
                            "$ref": "#/definitions/user/definitions/email"
                        },
                        "followings": {
                            "items": {
                                "$ref": "#/definitions/user/definitions/followings_object"
                            },
                            "type": [
                                "array"
                            ]
                        },
                        "id": {
                            "$ref": "#/definitions/user/definitions/id"
                        },
                        "login": {
                            "$ref": "#/definitions/user/definitions/login"
                        },
                        "role": {
                            "$ref": "#/definitions/user/definitions/role"
                        }
                    },
                    "type": [
                        "object"
                    ]
                }
            },
            "description": "Something about user resource",
            "links": [
                {
                    "description": "Create a new user.",
                    "href": "/users",
                    "method": "POST",
                    "rel": "create",
                    "schema": {
                        "$ref": "#/definitions/user/definitions/request_object_default"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/user/definitions/response_only_object"
                    },
                    "title": "Create"
                },
                {
                    "description": "Delete an existing user.",
                    "href": "/users/{(%23%2Fdefinitions%2Fuser%2Fdefinitions%2Fidentity)}",
                    "method": "DELETE",
                    "rel": "destroy",
                    "targetSchema": {
                        "$ref": "#/definitions/shared/definitions/default_success_boolean"
                    },
                    "title": "Delete"
                },
                {
                    "description": "Info for existing user.",
                    "href": "/users/{(%23%2Fdefinitions%2Fuser%2Fdefinitions%2Fidentity)}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#/definitions/user/definitions/response_with_single"
                    },
                    "title": "Info"
                },
                {
                    "description": "List existing users.",
                    "href": "/users",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "$ref": "#/definitions/shared/definitions/request_object_lite"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/user/definitions/response_with_list"
                    },
                    "title": "List"
                },
                {
                    "description": "Update an existing user.",
                    "href": "/users/{(%23%2Fdefinitions%2Fuser%2Fdefinitions%2Fidentity)}",
                    "method": "PUT",
                    "rel": "update",
                    "schema": {
                        "$ref": "#/definitions/user/definitions/request_object_default"
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/user/definitions/response_only_object"
                    },
                    "title": "Update"
                }
            ],
            "properties": {
                "email": {
                    "$ref": "#/definitions/user/definitions/email"
                },
                "id": {
                    "$ref": "#/definitions/user/definitions/id"
                },
                "login": {
                    "$ref": "#/definitions/user/definitions/login"
                },
                "role": {
                    "$ref": "#/definitions/user/definitions/role"
                }
            },
            "stability": "prototype",
            "strictProperties": true,
            "title": "User",
            "type": [
                "object"
            ]
        }
    },
    "description": "Mysterious Blog API",
    "links": [
        {
            "href": "https://mysterious.com/api/v1",
            "rel": "self"
        }
    ],
    "properties": {
        "comment": {
            "$ref": "#/definitions/comment"
        },
        "post": {
            "$ref": "#/definitions/post"
        },
        "shared": {
            "$ref": "#/definitions/shared"
        },
        "token": {
            "$ref": "#/definitions/token"
        },
        "user": {
            "$ref": "#/definitions/user"
        }
    },
    "title": "Mysterious Blog API",
    "type": [
        "object"
    ]
}