UNPKG

@open-rpc/specification-extension-spec

Version:
89 lines 2.67 kB
{ "$schema": "https://meta.json-schema.tools/", "title": "OpenRPC Specification Extension", "description": "A standard way to define OpenRPC Specification Extensions. This makes it easier to provide support for Specification Extensions in other tools.", "type": "object", "required": [ "name", "schema", "openrpcExtension", "version" ], "properties": { "openrpcExtension": { "title": "openrpcExtensionVersion", "description": "**REQUIRED**. This string MUST be the semantic version number of the Specification that the document uses.", "type": "string", "enum": [ "0.0.0-development" ] }, "name": { "title": "specificationExtensionName", "description": "**REQUIRED** Name of the Specification Extension. MUST start with `x-`", "type": "string", "pattern": "^x-", "examples": [ "x-foobarbaz" ] }, "version": { "title": "specificationExtensionVersion", "description": "**REQUIRED**. The version of the Extension (which is distinct from the `openrpcExtension` version and implementation version).", "type": "string", "examples": [ "0.0.1" ] }, "required": { "title": "specificationExtensionRequired", "type": "boolean", "description": "wether or not this specification extension is required or not" }, "restricted": { "title": "restrictedObjects", "description": "A list of object names to restrict the usage of the specification extension to.", "type": "array", "items": { "title": "restrictedObject", "description": "restricted object", "type": "string" } }, "description": { "title": "specificationExtensionDescription", "type": "string", "description": "Markdown description describing the specification extension." }, "summary": { "title": "specificationExtensionSummary", "type": "string", "description": "A short summary of what the specification extension is." }, "schema": { "$ref": "https://meta.json-schema.tools" }, "externalDocumentation": { "title": "specificationExtensionExternalDocumentationObject", "type": "object", "additionalProperties": false, "description": "Information about specification extension external documentation.", "required": [ "url" ], "properties": { "description": { "title": "specificationExtensionexternalDocumentationObjectDescription", "description": "external documentation description.", "type": "string" }, "url": { "title": "specificationExtensionexternalDocumentationObjectUrl", "description": "external documentation description.", "type": "string", "format": "uri" } } } } }