1{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "$id": "http://json-schema.org/draft-07/schema#",
4 "title": "Core schema meta-schema",
5 "definitions": {
6 "schemaArray": {
7 "type": "array",
8 "minItems": 1,
9 "items": {
10 "$ref": "#"
11 }
12 },
13 "nonNegativeInteger": {
14 "type": "integer",
15 "minimum": 0
16 },
17 "nonNegativeIntegerDefault0": {
18 "allOf": [
19 {
20 "$ref": "#/definitions/nonNegativeInteger"
21 },
22 {
23 "default": 0
24 }
25 ]
26 },
27 "simpleTypes": {
28 "enum": [
29 "array",
30 "boolean",
31 "integer",
32 "null",
33 "number",
34 "object",
35 "string"
36 ]
37 },
38 "stringArray": {
39 "type": "array",
40 "items": {
41 "type": "string"
42 },
43 "uniqueItems": true,
44 "default": []
45 }
46 },
47 "type": [
48 "object",
49 "boolean"
50 ],
51 "properties": {
52 "$id": {
53 "type": "string",
54 "format": "uri-reference"
55 },
56 "$schema": {
57 "type": "string",
58 "format": "uri"
59 },
60 "$ref": {
61 "type": "string",
62 "format": "uri-reference"
63 },
64 "$comment": {
65 "type": "string"
66 },
67 "title": {
68 "type": "string"
69 },
70 "description": {
71 "type": "string"
72 },
73 "default": true,
74 "readOnly": {
75 "type": "boolean",
76 "default": false
77 },
78 "examples": {
79 "type": "array",
80 "items": true
81 },
82 "multipleOf": {
83 "type": "number",
84 "exclusiveMinimum": 0
85 },
86 "maximum": {
87 "type": "number"
88 },
89 "exclusiveMaximum": {
90 "type": "number"
91 },
92 "minimum": {
93 "type": "number"
94 },
95 "exclusiveMinimum": {
96 "type": "number"
97 },
98 "maxLength": {
99 "$ref": "#/definitions/nonNegativeInteger"
100 },
101 "minLength": {
102 "$ref": "#/definitions/nonNegativeIntegerDefault0"
103 },
104 "pattern": {
105 "type": "string",
106 "format": "regex"
107 },
108 "additionalItems": {
109 "$ref": "#"
110 },
111 "items": {
112 "anyOf": [
113 {
114 "$ref": "#"
115 },
116 {
117 "$ref": "#/definitions/schemaArray"
118 }
119 ],
120 "default": true
121 },
122 "maxItems": {
123 "$ref": "#/definitions/nonNegativeInteger"
124 },
125 "minItems": {
126 "$ref": "#/definitions/nonNegativeIntegerDefault0"
127 },
128 "uniqueItems": {
129 "type": "boolean",
130 "default": false
131 },
132 "contains": {
133 "$ref": "#"
134 },
135 "maxProperties": {
136 "$ref": "#/definitions/nonNegativeInteger"
137 },
138 "minProperties": {
139 "$ref": "#/definitions/nonNegativeIntegerDefault0"
140 },
141 "required": {
142 "$ref": "#/definitions/stringArray"
143 },
144 "additionalProperties": {
145 "$ref": "#"
146 },
147 "definitions": {
148 "type": "object",
149 "additionalProperties": {
150 "$ref": "#"
151 },
152 "default": {}
153 },
154 "properties": {
155 "type": "object",
156 "additionalProperties": {
157 "$ref": "#"
158 },
159 "default": {}
160 },
161 "patternProperties": {
162 "type": "object",
163 "additionalProperties": {
164 "$ref": "#"
165 },
166 "propertyNames": {
167 "format": "regex"
168 },
169 "default": {}
170 },
171 "dependencies": {
172 "type": "object",
173 "additionalProperties": {
174 "anyOf": [
175 {
176 "$ref": "#"
177 },
178 {
179 "$ref": "#/definitions/stringArray"
180 }
181 ]
182 }
183 },
184 "propertyNames": {
185 "$ref": "#"
186 },
187 "const": true,
188 "enum": {
189 "type": "array",
190 "items": true,
191 "minItems": 1,
192 "uniqueItems": true
193 },
194 "type": {
195 "anyOf": [
196 {
197 "$ref": "#/definitions/simpleTypes"
198 },
199 {
200 "type": "array",
201 "items": {
202 "$ref": "#/definitions/simpleTypes"
203 },
204 "minItems": 1,
205 "uniqueItems": true
206 }
207 ]
208 },
209 "format": {
210 "type": "string"
211 },
212 "contentMediaType": {
213 "type": "string"
214 },
215 "contentEncoding": {
216 "type": "string"
217 },
218 "if": {
219 "$ref": "#"
220 },
221 "then": {
222 "$ref": "#"
223 },
224 "else": {
225 "$ref": "#"
226 },
227 "allOf": {
228 "$ref": "#/definitions/schemaArray"
229 },
230 "anyOf": {
231 "$ref": "#/definitions/schemaArray"
232 },
233 "oneOf": {
234 "$ref": "#/definitions/schemaArray"
235 },
236 "not": {
237 "$ref": "#"
238 }
239 },
240 "default": true
241}
View as plain text