diff --git a/schema/v1/Do not edit files in this folder b/schema/v1/Do not edit files in this folder
new file mode 100644
index 0000000000..c95c3bfed0
--- /dev/null
+++ b/schema/v1/Do not edit files in this folder
@@ -0,0 +1,2 @@
+If you want to update the meta schema, copy this folder and increase its version
+number instead.
diff --git a/schema/v1/meta.schema.json b/schema/v1/meta.schema.json
new file mode 100644
index 0000000000..0c2c46f1a9
--- /dev/null
+++ b/schema/v1/meta.schema.json
@@ -0,0 +1,29 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "$id": "https://element-hq.github.io/synapse/latest/schema/v1/meta.schema.json",
+ "$vocabulary": {
+ "https://json-schema.org/draft/2020-12/vocab/core": true,
+ "https://json-schema.org/draft/2020-12/vocab/applicator": true,
+ "https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
+ "https://json-schema.org/draft/2020-12/vocab/validation": true,
+ "https://json-schema.org/draft/2020-12/vocab/meta-data": true,
+ "https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
+ "https://json-schema.org/draft/2020-12/vocab/content": true,
+ "https://element-hq.github.io/synapse/latest/schema/v1/vocab/documentation": false
+ },
+ "$ref": "https://json-schema.org/draft/2020-12/schema",
+ "properties": {
+ "io.element.type_name": {
+ "type": "string",
+ "description": "Human-readable type of a schema that is displayed instead of the standard JSON Schema types like `object` or `integer`. In case the JSON Schema type contains `null`, this information should be presented alongside the human-readable type name.",
+ "examples": ["duration", "byte size"]
+ },
+ "io.element.post_description": {
+ "type": "string",
+ "description": "Additional description of a schema, better suited to be placed less prominently in the generated documentation, e.g., at the end of a section after listings of items and properties.",
+ "examples": [
+ "### Advanced uses\n\nThe spent coffee grounds can be added to compost for improving soil and growing plants."
+ ]
+ }
+ }
+}
diff --git a/schema/v1/vocab/documentation.html b/schema/v1/vocab/documentation.html
new file mode 100644
index 0000000000..6a45f4beb3
--- /dev/null
+++ b/schema/v1/vocab/documentation.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta http-equiv="refresh" content="0; URL=../meta.schema.json">
+ <meta charset="UTF-8">
+ <title>Redirecting to ../meta.schema.json…</title>
+ </head>
+ <body>
+ <p>Redirecting to <a href="../meta.schema.json">../meta.schema.json</a>…</p>
+ </body>
+</html>
|