{
	"openapi": "3.0.0",
	"info": {
		"title": "Api.TTSCloud",
		"description": "TTSCloud Api",
		"version": "1.0.0",
		"contact": {
			"email": "ttsdesign@gmail.com"
		},
		"license": {
			"name": "Apache 2.0",
			"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
		}
	},
	"servers": [
		{
			"url": "http://api.ttscloud.net"
		}
	],
	"paths": {

	},
	"modules": [
		{
			"name": "Users",
			"type": "object"
		}
	],
	"components": {
		"schemas": {
			"Value": {
				"type": "string"
			},
			"Attribute": {
				"type": "object",
				"properties": {
					"name": {
						"type": "string"
					},
					"values": {
						"type": "array",
						"items": {"$ref": "#/components/schemas/Value"}
					},
					"value": {
						"type": "string"
					}
				}
			},
			"Property": {
				"type": "object",
				"properties": {
					"name": {
						"type": "string"
					},
					"type": {
						"type": "array",
						"items": {"type": "string"}
					},
					"value": {
						"type": "string"
					}
				}
			},
			"Method": {
				"type": "object",
				"properties": {
					"name": {
						"type": "string"
					},
					"args": {
						"type": "array",
						"items": {"$ref": "#/components/schemas/Property"}
					},
					"returns": {
						"$ref": "#/components/schemas/Property"
					},
					"async": {
						"type": "boolean"
					}
				}
			},
			"Item": {
				"type": "object",
				"properties": {
					"extends": {
						"type": "string",
						"description": "base item it extends from"
					},
					"name": {
						"type": "string"
					},
					"summary": {
						"type": "string"
					},
					"attributes": {
						"type": "array",
						"items": {"$ref": "#/components/schemas/Attribute"}
					},
					"properties": {
						"type": "array",
						"items": {"$ref": "#/components/schemas/Property"}
					},
					"methods": {
						"type": "array",
						"items": {"$ref": "#/components/schemas/Method"}
					}
				}
			},
			"Group": {
				"type": "object",
				"properties": {
					"name": {
						"type": "string"
					},
					"items": {
						"type": "array",
						"items": {
							"anyOf": [
								{"$ref": "#/components/schemas/Item"},
								{"$ref": "#/components/schemas/Group"}
							]
						}
					}
				}
			}
		}
	}
}