{ "$id": "openapi-document.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "OpenAPI Document", "description": "Schema describing the top-level structure of an OpenAPI 3.1.0 document, the industry standard for defining RESTful APIs.", "type": "object", "required": [ "openapi", "info" ], "properties": { "openapi": { "type": "string", "description": "The OpenAPI Specification version. Must be a supported version string.", "pattern": "^3\\.1\\.\\d+$", "examples": [ "3.1.0" ] }, "info": { "$ref": "openapi-info.json" }, "jsonSchemaDialect": { "type": "string", "format": "uri", "description": "The default JSON Schema dialect for Schema Objects in this document.", "default": "https://spec.openapis.org/oas/3.1/dialect/base" }, "servers": { "type": "array", "description": "An array of Server Objects providing connectivity information to target servers.", "items": { "$ref": "openapi-server.json" }, "default": [ { "url": "/" } ] }, "paths": { "$ref": "openapi-paths.json" }, "webhooks": { "type": "object", "description": "Incoming webhooks that may be received by the API provider.", "additionalProperties": { "$ref": "openapi-path-item.json" } }, "components": { "$ref": "openapi-components.json" }, "security": { "type": "array", "description": "A declaration of which security mechanisms can be used across the API.", "items": { "$ref": "openapi-security-requirement.json" } }, "tags": { "type": "array", "description": "A list of tags used by the document with additional metadata.", "items": { "$ref": "openapi-tag.json" } }, "externalDocs": { "$ref": "openapi-external-documentation.json" } }, "patternProperties": { "^x-": {} }, "additionalProperties": false }