{ "openapi": "3.0.2", "info": { "title": "Unified Model API", "version": "1.0.0", "description": "Data models for the Apitomy Unified Model Generator.", "license": { "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0" } }, "paths": {}, "components": { "schemas": { "Property": { "title": "Root Type for Property", "description": "", "required": [ "name", "type" ], "type": "object", "properties": { "name": { "type": "string" }, "type": { "type": "string" }, "collection": { "description": "", "type": "string" }, "discriminator": { "description": " ", "type": "string" }, "unionRules": { "description": "", "type": "array", "items": { "$ref": "#/components/schemas/UnionRule" } } }, "example": { "name": "host", "type": "string" } }, "Entity": { "title": "Root Type for SpecificationEntity", "description": "", "required": [ "properties", "name", "propertyOrder" ], "type": "object", "properties": { "name": { "type": "string" }, "properties": { "type": "array", "items": { "$ref": "#/components/schemas/Property" } }, "traits": { "type": "array", "items": { "type": "string" } }, "root": { "description": "", "type": "boolean" }, "propertyOrder": { "description": "", "type": "array", "items": { "type": "string" } } }, "example": { "name": "Info", "traits": [ "ReferenceableTrait", "ExtensibleTrait" ], "properties": [ { "name": "title", "type": "string" }, { "name": "description", "type": "string" }, { "name": "unique", "type": "boolean" } ], "propertyOrder": [ "title", "description", "unique" ] } }, "Trait": { "title": "Root Type for SpecificationEntity", "description": "", "required": [ "properties", "name" ], "type": "object", "properties": { "name": { "type": "string" }, "transparent": { "type": "boolean" }, "properties": { "type": "array", "items": { "$ref": "#/components/schemas/Property" } } }, "example": { "name": "ReferenceableTrait", "transparent": false, "properties": [ { "name": "$ref", "type": "string" } ] } }, "SpecificationVersion": { "title": "Root Type for Specification", "description": "", "required": [ "entities", "namespace" ], "type": "object", "properties": { "version": { "type": "string" }, "versions": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/Version" } }, "name": { "type": "string" }, "prefix": { "type": "string" }, "entities": { "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/Entity" } }, "traits": { "description": "", "uniqueItems": true, "type": "array", "items": { "$ref": "#/components/schemas/Trait" } }, "namespace": { "description": "", "type": "string" }, "majorVersionPrefix": { "description": "", "type": "string" }, "majorVersionNamespace": { "description": "", "type": "string" } }, "example": { "specification": "OpenAPI", "version": "2.0.x", "versions": [ { "version": "2.0", "url": "https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md" } ], "name": "OpenAPI 2.0.x", "namespace": "io.apitomy.datamodels.openapi", "prefix": "Oai20x", "traits": [], "entities": [] } }, "Version": { "title": "Root Type for SpecVersion", "description": "", "type": "object", "properties": { "version": { "type": "string" }, "url": { "type": "string" } }, "example": { "version": "2.0", "url": "https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md" } }, "Specification": { "description": "", "required": [ "versions", "prefix", "namespace", "name" ], "type": "object", "properties": { "prefix": { "description": "", "type": "string" }, "namespace": { "description": "", "type": "string" }, "name": { "description": "", "type": "string" }, "description": { "description": "", "type": "string" }, "versions": { "description": "", "type": "array", "items": { "$ref": "#/components/schemas/SpecificationVersionRef" } }, "url": { "description": "", "type": "string" } }, "example": { "name": "Anonymous Syndicated Typhoon Modeling Language", "prefix": "Ast", "namespace": "org.example.models.ast", "versions": [ { "$ref": "./v1.0.yaml" }, { "$ref": "./v2.0.yaml" } ] } }, "SpecificationVersionRef": { "title": "Root Type for SpecificationRef", "description": "", "required": [ "$ref" ], "type": "object", "properties": { "$ref": { "type": "string" }, "name": { "description": "", "type": "string" } }, "example": { "$ref": "./foo.yaml" } }, "UnionRuleType": { "description": "", "enum": [ "propertyValue", "propertyExists" ], "type": "string", "example": "\"propertyExists\"" }, "UnionRule": { "title": "Root Type for UnionRule", "description": "", "type": "object", "properties": { "unionType": { "type": "string" }, "ruleType": { "$ref": "#/components/schemas/UnionRuleType" }, "propertyName": { "type": "string" }, "propertyValue": { "type": "string" } }, "example": { "unionType": "Widget", "ruleType": "propertyValue", "propertyName": "type", "propertyValue": "widget" } } } } }