{
    "definitions": {
        "app": {
            "definitions": {
                "array_data": {
                    "properties": {
                        "datetime_array": {
                            "items": {
                                "$ref": "#/definitions/app/definitions/update_time"
                            },
                            "type": "array"
                        },
                        "integer_array": {
                            "items": {
                                "$ref": "#/definitions/app/definitions/per_page"
                            },
                            "type": "array"
                        },
                        "nested_coercer_array": {
                            "items": {
                                "$ref": "#/definitions/app/definitions/nested_coercer_object"
                            },
                            "type": "array"
                        },
                        "nested_coercer_object": {
                            "$ref": "#/definitions/app/definitions/nested_coercer_object"
                        },
                        "nested_no_coercer_array": {
                            "items": {
                                "$ref": "#/definitions/app/definitions/nested_no_coercer_object"
                            },
                            "type": "array"
                        },
                        "nested_no_coercer_object": {
                            "$ref": "#/definitions/app/definitions/nested_no_coercer_object"
                        },
                        "per_page": {
                            "$ref": "#/definitions/app/definitions/per_page"
                        },
                        "threshold": {
                            "$ref": "#/definitions/app/definitions/threshold"
                        },
                        "update_time": {
                            "$ref": "#/definitions/app/definitions/update_time"
                        }
                    },
                    "type": "object"
                },
                "deleted": {
                    "description": "Whether deleted apps should be listed",
                    "example": true,
                    "type": [
                        "boolean"
                    ]
                },
                "maintenance": {
                    "default": false,
                    "description": "maintenance status of app",
                    "example": false,
                    "type": [
                        "boolean"
                    ]
                },
                "name": {
                    "description": "unique name of app",
                    "example": "example",
                    "pattern": "^[a-z][a-z0-9-]{3,30}$",
                    "type": [
                        "string"
                    ]
                },
                "nested_coercer_object": {
                    "properties": {
                        "threshold": {
                            "$ref": "#/definitions/app/definitions/threshold"
                        },
                        "update_time": {
                            "$ref": "#/definitions/app/definitions/update_time"
                        }
                    },
                    "type": "object"
                },
                "nested_no_coercer_object": {
                    "properties": {
                        "per_page": {
                            "$ref": "#/definitions/app/definitions/per_page"
                        },
                        "threshold": {
                            "$ref": "#/definitions/app/definitions/threshold"
                        }
                    },
                    "type": "object"
                },
                "per_page": {
                    "description": "Number of items per page",
                    "example": 10,
                    "type": [
                        "integer"
                    ]
                },
                "threshold": {
                    "description": "Number of items per page",
                    "example": 3.5,
                    "type": [
                        "null",
                        "number"
                    ]
                },
                "update_time": {
                    "description": "last update time",
                    "example": "2016-04-01T16:00:00+09:00",
                    "format": "date-time",
                    "type": [
                        "string"
                    ]
                }
            },
            "description": "An app represents the program that you would like to deploy and run on a PAAS.",
            "id": "schema/app",
            "links": [
                {
                    "description": "Create a new app.",
                    "href": "/apps",
                    "method": "POST",
                    "rel": "create",
                    "schema": {
                        "properties": {
                            "array_property": {
                                "items": {
                                    "$ref": "#/definitions/app/definitions/array_data"
                                },
                                "type": "array"
                            },
                            "name": {
                                "$ref": "#/definitions/app/definitions/name"
                            },
                            "update_time": {
                                "$ref": "#/definitions/app/definitions/update_time"
                            }
                        }
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/app"
                    },
                    "title": "Create"
                },
                {
                    "description": "Delete an existing app.",
                    "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fname)}",
                    "method": "DELETE",
                    "rel": "destroy",
                    "targetSchema": {
                        "$ref": "#/definitions/app"
                    },
                    "title": "Delete"
                },
                {
                    "description": "Info for existing app.",
                    "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fname)}",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#/definitions/app"
                    },
                    "title": "Info"
                },
                {
                    "description": "List existing apps.",
                    "href": "/apps",
                    "method": "GET",
                    "rel": "instances",
                    "targetSchema": {
                        "items": {
                            "$ref": "#/definitions/app"
                        },
                        "type": "array"
                    },
                    "title": "List"
                },
                {
                    "description": "List archived apps.",
                    "href": "/apps/archived",
                    "method": "GET",
                    "rel": "instances",
                    "targetSchema": {
                        "$ref": "#/definitions/app"
                    },
                    "title": "List archived"
                },
                {
                    "description": "Search through apps.",
                    "href": "/search/apps",
                    "method": "GET",
                    "rel": "instances",
                    "schema": {
                        "properties": {
                            "array_property": {
                                "items": {
                                    "$ref": "#/definitions/app/definitions/array_data"
                                },
                                "type": "array"
                            },
                            "deleted": {
                                "$ref": "#/definitions/app/definitions/deleted"
                            },
                            "per_page": {
                                "$ref": "#/definitions/app/definitions/per_page"
                            },
                            "query": {
                                "$ref": "#/definitions/app/definitions/name"
                            },
                            "threshold": {
                                "$ref": "#/definitions/app/definitions/threshold"
                            },
                            "update_time": {
                                "$ref": "#/definitions/app/definitions/update_time"
                            }
                        },
                        "required": [
                            "query"
                        ]
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/app"
                    },
                    "title": "Search"
                },
                {
                    "description": "Update an existing app.",
                    "href": "/apps/{(%23%2Fdefinitions%2Fapp%2Fdefinitions%2Fname)}",
                    "method": "PATCH",
                    "rel": "update",
                    "schema": {
                        "properties": {
                            "maintenance": {
                                "$ref": "#/definitions/app/definitions/maintenance"
                            },
                            "name": {
                                "$ref": "#/definitions/app/definitions/name"
                            }
                        }
                    },
                    "targetSchema": {
                        "$ref": "#/definitions/app"
                    },
                    "title": "Update"
                },
                {
                    "description": "match path",
                    "href": "/apps/abc",
                    "method": "GET",
                    "rel": "self",
                    "targetSchema": {
                        "$ref": "#/definitions/app"
                    },
                    "title": "abc"
                }
            ],
            "properties": {
                "maintenance": {
                    "$ref": "#/definitions/app/definitions/maintenance"
                },
                "name": {
                    "$ref": "#/definitions/app/definitions/name"
                }
            },
            "title": "Apps",
            "type": [
                "object"
            ]
        }
    },
    "description": "The platform API empowers developers to automate and extend a generic PAAAS service.",
    "properties": {
        "app": {
            "$ref": "#/definitions/app"
        }
    },
    "title": "PAAS Platform API",
    "type": [
        "object"
    ]
}