@redocly/openapi-core 0.0.0-snapshot.1768999175 → 0.0.0-snapshot.1769012238
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/oas-types.d.ts +190 -0
- package/lib/oas-types.d.ts.map +1 -1
- package/lib/types/arazzo.d.ts.map +1 -1
- package/lib/types/arazzo.js +210 -44
- package/lib/types/arazzo.js.map +1 -1
- package/lib/types/asyncapi2.d.ts.map +1 -1
- package/lib/types/asyncapi2.js +385 -57
- package/lib/types/asyncapi2.js.map +1 -1
- package/lib/types/asyncapi3.d.ts.map +1 -1
- package/lib/types/asyncapi3.js +228 -47
- package/lib/types/asyncapi3.js.map +1 -1
- package/lib/types/index.d.ts +18 -2
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +4 -2
- package/lib/types/index.js.map +1 -1
- package/lib/types/oas2.d.ts +22 -0
- package/lib/types/oas2.d.ts.map +1 -1
- package/lib/types/oas3.d.ts +44 -0
- package/lib/types/oas3.d.ts.map +1 -1
- package/lib/types/oas3.js +345 -71
- package/lib/types/oas3.js.map +1 -1
- package/lib/types/oas3_1.d.ts +46 -0
- package/lib/types/oas3_1.d.ts.map +1 -1
- package/lib/types/oas3_1.js +38 -29
- package/lib/types/oas3_1.js.map +1 -1
- package/lib/types/oas3_2.d.ts +46 -0
- package/lib/types/oas3_2.d.ts.map +1 -1
- package/lib/types/oas3_2.js +101 -23
- package/lib/types/oas3_2.js.map +1 -1
- package/lib/types/openrpc.d.ts +32 -0
- package/lib/types/openrpc.d.ts.map +1 -1
- package/lib/types/openrpc.js +215 -46
- package/lib/types/openrpc.js.map +1 -1
- package/lib/types/overlay.d.ts.map +1 -1
- package/lib/types/overlay.js +34 -7
- package/lib/types/overlay.js.map +1 -1
- package/lib/types/redocly-yaml.d.ts.map +1 -1
- package/lib/types/redocly-yaml.js +132 -22
- package/lib/types/redocly-yaml.js.map +1 -1
- package/package.json +1 -1
package/lib/types/oas3.js
CHANGED
|
@@ -17,70 +17,129 @@ const Root = {
|
|
|
17
17
|
},
|
|
18
18
|
required: ['openapi', 'paths', 'info'],
|
|
19
19
|
extensionsPrefix: 'x-',
|
|
20
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/openapi#openapi',
|
|
21
|
+
description: 'REQUIRED. This string MUST be the semantic version number of the OpenAPI Specification version that the OpenAPI document uses. The openapi field SHOULD be used by tooling specifications and clients to interpret the OpenAPI document. This is not related to the API info.version string.',
|
|
20
22
|
};
|
|
21
23
|
const Tag = {
|
|
22
24
|
properties: {
|
|
23
|
-
name: {
|
|
24
|
-
|
|
25
|
+
name: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'REQUIRED. The name of the tag.',
|
|
28
|
+
},
|
|
29
|
+
description: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
description: 'A description for the tag.',
|
|
32
|
+
},
|
|
25
33
|
externalDocs: 'ExternalDocs',
|
|
26
34
|
'x-traitTag': { type: 'boolean' },
|
|
27
35
|
'x-displayName': { type: 'string' },
|
|
28
36
|
},
|
|
29
37
|
required: ['name'],
|
|
30
38
|
extensionsPrefix: 'x-',
|
|
39
|
+
description: `The Tag Object represents a tag used by the OAS. It is not mandatory to have a tag object per tag used by the OAS but each tag object can contain additional metadata.`,
|
|
40
|
+
documentationLink: `https://spec.openapis.org/oas/v3.1.0#tag-object`,
|
|
31
41
|
};
|
|
32
42
|
const TagGroup = {
|
|
33
43
|
properties: {
|
|
34
|
-
name: {
|
|
35
|
-
|
|
44
|
+
name: {
|
|
45
|
+
type: 'string',
|
|
46
|
+
description: 'The display name for the tag, used in the navigation bar and as a section heading.',
|
|
47
|
+
},
|
|
48
|
+
tags: {
|
|
49
|
+
type: 'array',
|
|
50
|
+
description: 'List of tags to include in this group.',
|
|
51
|
+
items: { type: 'string' },
|
|
52
|
+
},
|
|
36
53
|
},
|
|
37
54
|
extensionsPrefix: 'x-',
|
|
55
|
+
description: 'The x-tagGroups extension is used at the top level of an OpenAPI description.',
|
|
56
|
+
documentationLink: 'https://redocly.com/docs/realm/content/api-docs/openapi-extensions/x-tag-groups#taggroup-object',
|
|
38
57
|
};
|
|
39
58
|
const ExternalDocs = {
|
|
40
59
|
properties: {
|
|
41
|
-
description: {
|
|
42
|
-
|
|
60
|
+
description: {
|
|
61
|
+
type: 'string',
|
|
62
|
+
description: 'A description of the target documentation. Used as the link anchor text in Redocly. If not provided, the url is used as the link anchor text.',
|
|
63
|
+
},
|
|
64
|
+
url: {
|
|
65
|
+
type: 'string',
|
|
66
|
+
description: 'REQUIRED. The URL for the target documentation.',
|
|
67
|
+
},
|
|
43
68
|
},
|
|
44
69
|
required: ['url'],
|
|
45
70
|
extensionsPrefix: 'x-',
|
|
71
|
+
description: 'Additional external documentation for this operation.',
|
|
72
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/external-docs',
|
|
46
73
|
};
|
|
47
74
|
const Server = {
|
|
48
75
|
properties: {
|
|
49
|
-
url: {
|
|
50
|
-
|
|
76
|
+
url: {
|
|
77
|
+
type: 'string',
|
|
78
|
+
description: 'REQUIRED. A URL to the target host. This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the OpenAPI document is being served. Variable substitutions are made when a variable is named in { curly braces }.',
|
|
79
|
+
},
|
|
80
|
+
description: {
|
|
81
|
+
type: 'string',
|
|
82
|
+
description: 'An optional string describing the host designated by the URL.',
|
|
83
|
+
},
|
|
51
84
|
variables: 'ServerVariablesMap',
|
|
52
85
|
},
|
|
53
86
|
required: ['url'],
|
|
54
87
|
extensionsPrefix: 'x-',
|
|
88
|
+
description: 'A server object to be used by the target operation.',
|
|
55
89
|
};
|
|
56
90
|
const ServerVariable = {
|
|
57
91
|
properties: {
|
|
58
92
|
enum: {
|
|
59
93
|
type: 'array',
|
|
60
94
|
items: { type: 'string' },
|
|
95
|
+
description: 'An enumeration of string values to be used if the substitution options are from a limited set. The array MUST NOT be empty. If defined, the array MUST contain the default value.',
|
|
96
|
+
},
|
|
97
|
+
default: {
|
|
98
|
+
type: 'string',
|
|
99
|
+
description: `REQUIRED. The default value to use for substitution, which SHALL be sent if an alternate value is not supplied. Note this behavior is different than the Schema Object's treatment of default values, because in those cases parameter values are optional. If the enum is defined, the value MUST exist in the enum's values.`,
|
|
100
|
+
},
|
|
101
|
+
description: {
|
|
102
|
+
type: 'string',
|
|
103
|
+
description: 'An optional description for the server variable.',
|
|
61
104
|
},
|
|
62
|
-
default: { type: 'string' },
|
|
63
|
-
description: { type: 'string' },
|
|
64
105
|
},
|
|
65
106
|
required: ['default'],
|
|
66
107
|
extensionsPrefix: 'x-',
|
|
108
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/server-variables#server-variables',
|
|
109
|
+
description: 'Server variables are used when you need to make a substitution into the server URL such as when the subdomain is unique per tenant.',
|
|
67
110
|
};
|
|
68
111
|
const SecurityRequirement = {
|
|
69
112
|
properties: {},
|
|
70
113
|
additionalProperties: { type: 'array', items: { type: 'string' } },
|
|
114
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/security#security-requirement-object',
|
|
115
|
+
description: 'A declaration of which security mechanisms can be used across the API. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. Individual operations can override this definition. To make security optional, an empty security requirement ({}) can be included in the array.',
|
|
71
116
|
};
|
|
72
117
|
const Info = {
|
|
73
118
|
properties: {
|
|
74
|
-
title: {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
119
|
+
title: {
|
|
120
|
+
type: 'string',
|
|
121
|
+
description: 'REQUIRED. The title of the API.',
|
|
122
|
+
},
|
|
123
|
+
version: {
|
|
124
|
+
type: 'string',
|
|
125
|
+
description: 'REQUIRED. The version of the OpenAPI document (which is distinct from the OpenAPI Specification version or the API implementation version).',
|
|
126
|
+
},
|
|
127
|
+
description: {
|
|
128
|
+
type: 'string',
|
|
129
|
+
description: 'RECOMMENDED. A description of the API (Markdown may be used).',
|
|
130
|
+
},
|
|
131
|
+
termsOfService: {
|
|
132
|
+
type: 'string',
|
|
133
|
+
description: 'A URL to the Terms of Service for the API.',
|
|
134
|
+
},
|
|
78
135
|
contact: 'Contact',
|
|
79
136
|
license: 'License',
|
|
80
137
|
'x-logo': 'Logo',
|
|
81
138
|
},
|
|
82
139
|
required: ['title', 'version'],
|
|
83
140
|
extensionsPrefix: 'x-',
|
|
141
|
+
description: 'REQUIRED. Provides metadata about the API. The metadata MAY be used by tooling as required.',
|
|
142
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/info#info',
|
|
84
143
|
};
|
|
85
144
|
const Logo = {
|
|
86
145
|
properties: {
|
|
@@ -89,38 +148,72 @@ const Logo = {
|
|
|
89
148
|
backgroundColor: { type: 'string' },
|
|
90
149
|
href: { type: 'string' },
|
|
91
150
|
},
|
|
151
|
+
documentationLink: 'https://redocly.com/docs-legacy/api-reference-docs/specification-extensions/x-logo#x-logo',
|
|
152
|
+
description: 'A commonly used specification extension containing the information about the API logo.',
|
|
92
153
|
};
|
|
93
154
|
const Contact = {
|
|
94
155
|
properties: {
|
|
95
|
-
name: {
|
|
96
|
-
|
|
97
|
-
|
|
156
|
+
name: {
|
|
157
|
+
type: 'string',
|
|
158
|
+
description: 'The identifying name of the contact person or organization.',
|
|
159
|
+
},
|
|
160
|
+
url: {
|
|
161
|
+
type: 'string',
|
|
162
|
+
description: 'The URL pointing to the contact information.',
|
|
163
|
+
},
|
|
164
|
+
email: {
|
|
165
|
+
type: 'string',
|
|
166
|
+
description: 'The email address of the contact person or organization.',
|
|
167
|
+
},
|
|
98
168
|
},
|
|
99
169
|
extensionsPrefix: 'x-',
|
|
170
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/contact',
|
|
171
|
+
description: 'The contact information for the exposed API.',
|
|
100
172
|
};
|
|
101
173
|
const License = {
|
|
102
174
|
properties: {
|
|
103
|
-
name: {
|
|
104
|
-
|
|
175
|
+
name: {
|
|
176
|
+
type: 'string',
|
|
177
|
+
description: 'REQUIRED. The license name used for the API.',
|
|
178
|
+
},
|
|
179
|
+
url: {
|
|
180
|
+
type: 'string',
|
|
181
|
+
description: 'The URL pointing to the contact information.',
|
|
182
|
+
},
|
|
105
183
|
},
|
|
106
184
|
required: ['name'],
|
|
107
185
|
extensionsPrefix: 'x-',
|
|
186
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/license#license',
|
|
187
|
+
description: 'The license information for the exposed API.',
|
|
108
188
|
};
|
|
109
189
|
const Paths = {
|
|
110
190
|
properties: {},
|
|
111
191
|
additionalProperties: (_value, key) => key.startsWith('/') ? 'PathItem' : undefined,
|
|
192
|
+
description: 'The Paths Object is a map of a paths to the path item object. A path starts with a /.',
|
|
193
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/paths#paths-object',
|
|
112
194
|
};
|
|
113
195
|
const WebhooksMap = {
|
|
114
196
|
properties: {},
|
|
115
197
|
additionalProperties: () => 'PathItem',
|
|
198
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/webhooks#types',
|
|
116
199
|
};
|
|
117
200
|
const PathItem = {
|
|
118
201
|
properties: {
|
|
119
|
-
$ref: {
|
|
202
|
+
$ref: {
|
|
203
|
+
type: 'string',
|
|
204
|
+
description: 'Allows for a referenced definition of this path item. The referenced structure MUST be in the form of a Path Item Object. In case a Path Item Object field appears both in the defined object and the referenced object, the behavior is undefined. See the rules for resolving Relative References.',
|
|
205
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/reference',
|
|
206
|
+
}, // TODO: verify special $ref handling for Path Item
|
|
120
207
|
servers: 'ServerList',
|
|
121
208
|
parameters: 'ParameterList',
|
|
122
|
-
summary: {
|
|
123
|
-
|
|
209
|
+
summary: {
|
|
210
|
+
type: 'string',
|
|
211
|
+
description: 'An optional, string summary, intended to apply to all operations in this path.',
|
|
212
|
+
},
|
|
213
|
+
description: {
|
|
214
|
+
type: 'string',
|
|
215
|
+
description: 'An optional, string description, intended to apply to all operations in this path.',
|
|
216
|
+
},
|
|
124
217
|
get: 'Operation',
|
|
125
218
|
put: 'Operation',
|
|
126
219
|
post: 'Operation',
|
|
@@ -129,23 +222,49 @@ const PathItem = {
|
|
|
129
222
|
head: 'Operation',
|
|
130
223
|
patch: 'Operation',
|
|
131
224
|
trace: 'Operation',
|
|
132
|
-
'x-query': 'Operation',
|
|
133
225
|
},
|
|
134
226
|
extensionsPrefix: 'x-',
|
|
227
|
+
description: 'Describes the operations available on a single path. A Path Item MAY be empty, due to ACL constraints. The path itself is still exposed to the documentation viewer but they will not know which operations and parameters are available.',
|
|
228
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/path-item#path-item-object',
|
|
135
229
|
};
|
|
136
230
|
const Parameter = {
|
|
137
231
|
properties: {
|
|
138
|
-
name: {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
232
|
+
name: {
|
|
233
|
+
type: 'string',
|
|
234
|
+
description: 'REQUIRED. The name of the parameter. Parameter names are case sensitive.',
|
|
235
|
+
},
|
|
236
|
+
in: {
|
|
237
|
+
enum: ['query', 'header', 'path', 'cookie'],
|
|
238
|
+
description: 'REQUIRED. The location of the parameter. Possible values are "query", "header", "path", or "cookie".',
|
|
239
|
+
},
|
|
240
|
+
description: {
|
|
241
|
+
type: 'string',
|
|
242
|
+
description: 'A brief description of the parameter. This could contain examples of use.',
|
|
243
|
+
},
|
|
244
|
+
required: {
|
|
245
|
+
type: 'boolean',
|
|
246
|
+
description: 'Determines whether this parameter is mandatory. If the parameter location is "path", this property is REQUIRED and its value MUST be true. Otherwise, the property MAY be included and its default value is false.',
|
|
247
|
+
},
|
|
248
|
+
deprecated: {
|
|
249
|
+
type: 'boolean',
|
|
250
|
+
description: 'Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is false.',
|
|
251
|
+
},
|
|
252
|
+
allowEmptyValue: {
|
|
253
|
+
type: 'boolean',
|
|
254
|
+
description: 'Sets the ability to pass empty-valued parameters. This is valid only for query parameters and allows sending a parameter with an empty value. Default value is false. If style is used, and if behavior is n/a (cannot be serialized), the value of allowEmptyValue SHALL be ignored. Use of this property is NOT RECOMMENDED, as it is likely to be removed in a later revision.',
|
|
255
|
+
},
|
|
144
256
|
style: {
|
|
145
257
|
enum: ['form', 'simple', 'label', 'matrix', 'spaceDelimited', 'pipeDelimited', 'deepObject'],
|
|
258
|
+
description: 'Describes how the parameter value will be serialized depending on the type of the parameter value. Default values (based on value of in): for query - form; for path - simple; for header - simple; for cookie - form.',
|
|
259
|
+
},
|
|
260
|
+
explode: {
|
|
261
|
+
type: 'boolean',
|
|
262
|
+
description: 'When this is true, parameter values of type array or object generate separate parameters for each value of the array or key-value pair of the map. For other types of parameters this property has no effect. When style is form, the default value is true. For all other styles, the default value is false.',
|
|
263
|
+
},
|
|
264
|
+
allowReserved: {
|
|
265
|
+
type: 'boolean',
|
|
266
|
+
description: `Determines whether the parameter value SHOULD allow reserved characters, as defined by RFC3986 :/?#[]@!$&'()*+,;= to be included without percent-encoding. This property only applies to parameters with an in value of query. The default value is false.`,
|
|
146
267
|
},
|
|
147
|
-
explode: { type: 'boolean' },
|
|
148
|
-
allowReserved: { type: 'boolean' },
|
|
149
268
|
schema: 'Schema',
|
|
150
269
|
example: { isExample: true },
|
|
151
270
|
examples: 'ExamplesMap',
|
|
@@ -154,17 +273,32 @@ const Parameter = {
|
|
|
154
273
|
required: ['name', 'in'],
|
|
155
274
|
requiredOneOf: ['schema', 'content'],
|
|
156
275
|
extensionsPrefix: 'x-',
|
|
276
|
+
description: 'Describes a request parameter, which excludes the request body. A unique parameter is defined by a unique combination of the name and in values.',
|
|
277
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/parameter',
|
|
157
278
|
};
|
|
158
279
|
const Operation = {
|
|
159
280
|
properties: {
|
|
160
281
|
tags: {
|
|
161
282
|
type: 'array',
|
|
162
283
|
items: { type: 'string' },
|
|
284
|
+
description: 'A list of tags for API documentation control. Tags can be used for logical grouping of operations by resources or any other qualifier.',
|
|
285
|
+
},
|
|
286
|
+
summary: {
|
|
287
|
+
type: 'string',
|
|
288
|
+
description: 'A short summary of what the operation does.',
|
|
289
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/operation#summary',
|
|
290
|
+
},
|
|
291
|
+
description: {
|
|
292
|
+
type: 'string',
|
|
293
|
+
description: 'A verbose explanation of the operation behavior.',
|
|
294
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/operation#description',
|
|
163
295
|
},
|
|
164
|
-
summary: { type: 'string' },
|
|
165
|
-
description: { type: 'string' },
|
|
166
296
|
externalDocs: 'ExternalDocs',
|
|
167
|
-
operationId: {
|
|
297
|
+
operationId: {
|
|
298
|
+
type: 'string',
|
|
299
|
+
description: 'The operationId is path segment or path fragment in deep links to a specific operation.',
|
|
300
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/operation#operationid',
|
|
301
|
+
},
|
|
168
302
|
parameters: 'ParameterList',
|
|
169
303
|
security: 'SecurityRequirementList',
|
|
170
304
|
servers: 'ServerList',
|
|
@@ -178,6 +312,8 @@ const Operation = {
|
|
|
178
312
|
},
|
|
179
313
|
required: ['responses'],
|
|
180
314
|
extensionsPrefix: 'x-',
|
|
315
|
+
description: `The Operation Object describes a single API operation on a path, including its parameters, responses, and request body (if applicable). Each path can support more than one operation, but those operations must be unique. A unique operation is a combination of a path and an HTTP method, so two GET or two POST methods for the same path are not allowed.`,
|
|
316
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/operation',
|
|
181
317
|
};
|
|
182
318
|
const XCodeSample = {
|
|
183
319
|
properties: {
|
|
@@ -185,76 +321,130 @@ const XCodeSample = {
|
|
|
185
321
|
label: { type: 'string' },
|
|
186
322
|
source: { type: 'string' },
|
|
187
323
|
},
|
|
324
|
+
documentationLink: 'https://redocly.com/docs/realm/content/api-docs/openapi-extensions/x-code-samples',
|
|
325
|
+
description: 'Code samples are snippets of code shown alongside API operations in reference documentation, giving users a quick way to start to interact with an API from their own code. The x-codeSamples addition to OpenAPI allows you to add or override any existing code samples for a particular language or endpoint.',
|
|
188
326
|
};
|
|
189
327
|
const RequestBody = {
|
|
190
328
|
properties: {
|
|
191
|
-
description: {
|
|
192
|
-
|
|
329
|
+
description: {
|
|
330
|
+
type: 'string',
|
|
331
|
+
description: 'A brief description of the request body. This could contain examples of use.',
|
|
332
|
+
},
|
|
333
|
+
required: {
|
|
334
|
+
type: 'boolean',
|
|
335
|
+
description: 'Determines if the request body is required in the request. Defaults to false.',
|
|
336
|
+
},
|
|
193
337
|
content: 'MediaTypesMap',
|
|
194
338
|
},
|
|
195
339
|
required: ['content'],
|
|
196
340
|
extensionsPrefix: 'x-',
|
|
341
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/request-body',
|
|
342
|
+
description: 'The request body is defined inside of operations (including paths and webhooks). The request body can also be defined inside of the named requestBodies object in components.',
|
|
197
343
|
};
|
|
198
344
|
const MediaTypesMap = {
|
|
199
345
|
properties: {},
|
|
200
346
|
additionalProperties: 'MediaType',
|
|
347
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/media-type#types',
|
|
201
348
|
};
|
|
202
349
|
const MediaType = {
|
|
203
350
|
properties: {
|
|
204
351
|
schema: 'Schema',
|
|
205
|
-
example: {
|
|
352
|
+
example: {
|
|
353
|
+
isExample: true,
|
|
354
|
+
description: 'Example of the media type. The example object SHOULD be in the correct format as specified by the media type. The example field is mutually exclusive of the examples field. Furthermore, if referencing a schema which contains an example, the example value SHALL override the example provided by the schema.',
|
|
355
|
+
},
|
|
206
356
|
examples: 'ExamplesMap',
|
|
207
357
|
encoding: 'EncodingMap',
|
|
208
358
|
},
|
|
209
359
|
extensionsPrefix: 'x-',
|
|
360
|
+
description: 'The Media Type Object is one of the important building blocks of OpenAPI.',
|
|
361
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/media-type',
|
|
210
362
|
};
|
|
211
363
|
const Example = {
|
|
212
364
|
properties: {
|
|
213
|
-
value: {
|
|
365
|
+
value: {
|
|
366
|
+
resolvable: false,
|
|
367
|
+
description: 'Embedded literal example. The value field and externalValue field are mutually exclusive. To represent examples of media types that cannot naturally represented in JSON or YAML, use a string value to contain the example, escaping where necessary.',
|
|
368
|
+
},
|
|
214
369
|
summary: { type: 'string' },
|
|
215
|
-
description: { type: 'string' },
|
|
216
|
-
externalValue: {
|
|
370
|
+
description: { type: 'string', description: 'Long description for the example.' },
|
|
371
|
+
externalValue: {
|
|
372
|
+
type: 'string',
|
|
373
|
+
description: 'A URL that points to the literal example. This provides the capability to reference examples that cannot easily be included in JSON or YAML documents. The value field and externalValue field are mutually exclusive.',
|
|
374
|
+
},
|
|
217
375
|
},
|
|
218
376
|
extensionsPrefix: 'x-',
|
|
377
|
+
description: 'Example of the media type. The example object SHOULD be in the correct format as specified by the media type. The example field is mutually exclusive of the examples field. Furthermore, if referencing a schema which contains an example, the example value SHALL override the example provided by the schema.',
|
|
378
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/example',
|
|
219
379
|
};
|
|
220
380
|
const Encoding = {
|
|
221
381
|
properties: {
|
|
222
|
-
contentType: {
|
|
382
|
+
contentType: {
|
|
383
|
+
type: 'string',
|
|
384
|
+
description: `The Content-Type for encoding a specific property. Default value depends on the property type: for string with format being binary – application/octet-stream; for other primitive types – text/plain; for object - application/json; for array – the default is defined based on the inner type. The value can be a specific media type (e.g. application/json), a wildcard media type (e.g. image/*), or a comma-separated list of the two types.`,
|
|
385
|
+
},
|
|
223
386
|
headers: 'HeadersMap',
|
|
224
387
|
style: {
|
|
225
388
|
enum: ['form', 'simple', 'label', 'matrix', 'spaceDelimited', 'pipeDelimited', 'deepObject'],
|
|
389
|
+
description: 'Describes how a specific property value will be serialized depending on its type. See Parameter Object for details on the style property. The behavior follows the same values as query parameters, including default values. This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded.',
|
|
390
|
+
},
|
|
391
|
+
explode: {
|
|
392
|
+
type: 'boolean',
|
|
393
|
+
description: 'When this is true, property values of type array or object generate separate parameters for each value of the array, or key-value-pair of the map. For other types of properties this property has no effect. When style is form, the default value is true. For all other styles, the default value is false. This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded.',
|
|
394
|
+
},
|
|
395
|
+
allowReserved: {
|
|
396
|
+
type: 'boolean',
|
|
397
|
+
description: `Determines whether the parameter value SHOULD allow reserved characters, as defined by [RFC3986] Section 2.2 :/?#[]@!$&'()*+,;= to be included without percent-encoding. The default value is false. This property SHALL be ignored if the request body media type is not application/x-www-form-urlencoded.`,
|
|
226
398
|
},
|
|
227
|
-
explode: { type: 'boolean' },
|
|
228
|
-
allowReserved: { type: 'boolean' },
|
|
229
399
|
},
|
|
230
400
|
extensionsPrefix: 'x-',
|
|
401
|
+
description: 'A single encoding definition applied to a single schema property.',
|
|
402
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/encoding#types',
|
|
231
403
|
};
|
|
232
404
|
const EnumDescriptions = {
|
|
233
405
|
properties: {},
|
|
234
406
|
additionalProperties: { type: 'string' },
|
|
407
|
+
description: 'The enum (short for "enumeration") fields in OpenAPI allow you to restrict the value of a field to a list of allowed values. These values need to be short and machine-readable, but that can make them harder for humans to parse and work with.',
|
|
408
|
+
documentationLink: 'https://redocly.com/docs/realm/content/api-docs/openapi-extensions/x-enum-descriptions',
|
|
235
409
|
};
|
|
236
410
|
const Header = {
|
|
237
411
|
properties: {
|
|
238
|
-
description: {
|
|
239
|
-
|
|
412
|
+
description: {
|
|
413
|
+
type: 'string',
|
|
414
|
+
description: 'A brief description of the parameter. This could contain examples of use. CommonMark syntax MAY be used for rich text representation.',
|
|
415
|
+
},
|
|
416
|
+
required: {
|
|
417
|
+
type: 'boolean',
|
|
418
|
+
description: 'Determines whether this parameter is mandatory. Its default value is false.',
|
|
419
|
+
},
|
|
240
420
|
deprecated: { type: 'boolean' },
|
|
241
|
-
allowEmptyValue: {
|
|
421
|
+
allowEmptyValue: {
|
|
422
|
+
type: 'boolean',
|
|
423
|
+
description: 'Specifies that a parameter is deprecated and SHOULD be transitioned out of usage. Default value is false.',
|
|
424
|
+
},
|
|
242
425
|
style: {
|
|
243
426
|
enum: ['form', 'simple', 'label', 'matrix', 'spaceDelimited', 'pipeDelimited', 'deepObject'],
|
|
244
427
|
},
|
|
245
428
|
explode: { type: 'boolean' },
|
|
246
429
|
allowReserved: { type: 'boolean' },
|
|
247
430
|
schema: 'Schema',
|
|
248
|
-
example: {
|
|
431
|
+
example: {
|
|
432
|
+
isExample: true,
|
|
433
|
+
description: `Example of the header's potential value. The example SHOULD match the specified schema and encoding properties if present. The example field is mutually exclusive of the examples field. Furthermore, if referencing a schema that contains an example, the example value SHALL override the example provided by the schema. To represent examples of media types that cannot naturally be represented in JSON or YAML, a string value can contain the example with escaping where necessary.`,
|
|
434
|
+
},
|
|
249
435
|
examples: 'ExamplesMap',
|
|
250
436
|
content: 'MediaTypesMap',
|
|
251
437
|
},
|
|
252
438
|
requiredOneOf: ['schema', 'content'],
|
|
253
439
|
extensionsPrefix: 'x-',
|
|
440
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/header#header-object',
|
|
441
|
+
description: 'The header object is used to describe a response header in the headers map.',
|
|
254
442
|
};
|
|
255
443
|
const Responses = {
|
|
256
444
|
properties: { default: 'Response' },
|
|
257
445
|
additionalProperties: (_v, key) => responseCodeRegexp.test(key) ? 'Response' : undefined,
|
|
446
|
+
description: 'The list of possible responses as they are returned from executing this operation.',
|
|
447
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/named-responses',
|
|
258
448
|
};
|
|
259
449
|
const Response = {
|
|
260
450
|
properties: {
|
|
@@ -262,28 +452,45 @@ const Response = {
|
|
|
262
452
|
headers: 'HeadersMap',
|
|
263
453
|
content: 'MediaTypesMap',
|
|
264
454
|
links: 'LinksMap',
|
|
265
|
-
'x-summary': {
|
|
455
|
+
'x-summary': {
|
|
456
|
+
type: 'string',
|
|
457
|
+
documentationLink: 'https://redocly.com/docs/realm/content/api-docs/openapi-extensions/x-summary#openapi-extension-x-summary',
|
|
458
|
+
description: 'Use x-summary to add a short custom text to describe the response in the API documentation.',
|
|
459
|
+
},
|
|
266
460
|
},
|
|
267
461
|
required: ['description'],
|
|
268
462
|
extensionsPrefix: 'x-',
|
|
463
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/response',
|
|
464
|
+
description: 'The response object describes a single response in the Responses Map.',
|
|
269
465
|
};
|
|
270
466
|
const Link = {
|
|
271
467
|
properties: {
|
|
272
|
-
operationRef: {
|
|
273
|
-
|
|
468
|
+
operationRef: {
|
|
469
|
+
type: 'string',
|
|
470
|
+
description: 'A relative or absolute reference to an OAS operation. This field is mutually exclusive of the operationId field, and MUST point to an Operation Object. Relative operationRef values MAY be used to locate an existing Operation Object in the OpenAPI definition.',
|
|
471
|
+
},
|
|
472
|
+
operationId: {
|
|
473
|
+
type: 'string',
|
|
474
|
+
description: 'The name of an existing, resolvable OAS operation, as defined with a unique operationId. This field is mutually exclusive of the operationRef field.',
|
|
475
|
+
},
|
|
274
476
|
parameters: null, // TODO: figure out how to describe/validate this
|
|
275
477
|
requestBody: null, // TODO: figure out how to describe/validate this
|
|
276
|
-
description: { type: 'string' },
|
|
478
|
+
description: { type: 'string', description: 'A description of the link.' },
|
|
277
479
|
server: 'Server',
|
|
278
480
|
},
|
|
279
481
|
extensionsPrefix: 'x-',
|
|
482
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/links',
|
|
483
|
+
description: 'The Link object represents a possible design-time link for a response. The presence of a link does not guarantee the caller’s ability to successfully invoke it, rather it provides a known relationship and traversal mechanism between responses and other operations.',
|
|
280
484
|
};
|
|
281
485
|
// draft-00
|
|
282
486
|
const Schema = {
|
|
283
487
|
properties: {
|
|
284
488
|
externalDocs: 'ExternalDocs',
|
|
285
489
|
discriminator: 'Discriminator',
|
|
286
|
-
title: {
|
|
490
|
+
title: {
|
|
491
|
+
type: 'string',
|
|
492
|
+
description: 'Value MUST be a string. Multiple types via an array are not supported.',
|
|
493
|
+
},
|
|
287
494
|
multipleOf: { type: 'number', minimum: 0 },
|
|
288
495
|
maximum: { type: 'number' },
|
|
289
496
|
minimum: { type: 'number' },
|
|
@@ -291,7 +498,10 @@ const Schema = {
|
|
|
291
498
|
exclusiveMinimum: { type: 'boolean' },
|
|
292
499
|
maxLength: { type: 'integer', minimum: 0 },
|
|
293
500
|
minLength: { type: 'integer', minimum: 0 },
|
|
294
|
-
pattern: {
|
|
501
|
+
pattern: {
|
|
502
|
+
type: 'string',
|
|
503
|
+
description: '(This string SHOULD be a valid regular expression, according to the Ecma-262 Edition 5.1 regular expression dialect)',
|
|
504
|
+
},
|
|
295
505
|
maxItems: { type: 'integer', minimum: 0 },
|
|
296
506
|
minItems: { type: 'integer', minimum: 0 },
|
|
297
507
|
uniqueItems: { type: 'boolean' },
|
|
@@ -301,10 +511,17 @@ const Schema = {
|
|
|
301
511
|
enum: { type: 'array' },
|
|
302
512
|
type: {
|
|
303
513
|
enum: ['object', 'array', 'string', 'number', 'integer', 'boolean'],
|
|
514
|
+
description: 'Value MUST be a string. Multiple types via an array are not supported.',
|
|
304
515
|
},
|
|
305
|
-
allOf: listOf('Schema'
|
|
306
|
-
|
|
307
|
-
|
|
516
|
+
allOf: listOf('Schema', {
|
|
517
|
+
description: 'Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.',
|
|
518
|
+
}),
|
|
519
|
+
anyOf: listOf('Schema', {
|
|
520
|
+
description: 'Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.',
|
|
521
|
+
}),
|
|
522
|
+
oneOf: listOf('Schema', {
|
|
523
|
+
description: 'Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.',
|
|
524
|
+
}),
|
|
308
525
|
not: 'Schema',
|
|
309
526
|
properties: 'SchemaProperties',
|
|
310
527
|
items: (value) => {
|
|
@@ -323,8 +540,14 @@ const Schema = {
|
|
|
323
540
|
return 'Schema';
|
|
324
541
|
}
|
|
325
542
|
},
|
|
326
|
-
description: {
|
|
327
|
-
|
|
543
|
+
description: {
|
|
544
|
+
type: 'string',
|
|
545
|
+
description: 'CommonMark syntax MAY be used for rich text representation.',
|
|
546
|
+
},
|
|
547
|
+
format: {
|
|
548
|
+
type: 'string',
|
|
549
|
+
description: `See Data Type Formats for further details. While relying on JSON Schema's defined formats, the OAS offers a few additional predefined formats.`,
|
|
550
|
+
},
|
|
328
551
|
default: null,
|
|
329
552
|
nullable: { type: 'boolean' },
|
|
330
553
|
readOnly: { type: 'boolean' },
|
|
@@ -337,6 +560,8 @@ const Schema = {
|
|
|
337
560
|
'x-explicitMappingOnly': { type: 'boolean' },
|
|
338
561
|
},
|
|
339
562
|
extensionsPrefix: 'x-',
|
|
563
|
+
description: 'The schema defining the content of the request, response, or parameter.',
|
|
564
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/schemas',
|
|
340
565
|
};
|
|
341
566
|
const Xml = {
|
|
342
567
|
properties: {
|
|
@@ -347,6 +572,7 @@ const Xml = {
|
|
|
347
572
|
wrapped: { type: 'boolean' },
|
|
348
573
|
},
|
|
349
574
|
extensionsPrefix: 'x-',
|
|
575
|
+
description: 'This MAY be used only on properties schemas. It has no effect on root schemas. Adds additional metadata to describe the XML representation of this property.',
|
|
350
576
|
};
|
|
351
577
|
const SchemaProperties = {
|
|
352
578
|
properties: {},
|
|
@@ -362,14 +588,20 @@ const DiscriminatorMapping = {
|
|
|
362
588
|
return { type: 'string' };
|
|
363
589
|
}
|
|
364
590
|
},
|
|
591
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/discriminator#types',
|
|
365
592
|
};
|
|
366
593
|
const Discriminator = {
|
|
367
594
|
properties: {
|
|
368
|
-
propertyName: {
|
|
595
|
+
propertyName: {
|
|
596
|
+
type: 'string',
|
|
597
|
+
description: 'REQUIRED. The name of the property in the payload that will hold the discriminator value.',
|
|
598
|
+
},
|
|
369
599
|
mapping: 'DiscriminatorMapping',
|
|
370
600
|
},
|
|
371
601
|
required: ['propertyName'],
|
|
372
602
|
extensionsPrefix: 'x-',
|
|
603
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/discriminator#discriminator-object',
|
|
604
|
+
description: 'When request bodies or response payloads may be one of a number of different schemas, a discriminator object can be used to aid in serialization, deserialization, and validation. The discriminator is a specific object in a schema which is used to inform the consumer of the document of an alternative schema based on the value associated with it.',
|
|
373
605
|
};
|
|
374
606
|
const Components = {
|
|
375
607
|
properties: {
|
|
@@ -384,6 +616,7 @@ const Components = {
|
|
|
384
616
|
callbacks: 'NamedCallbacks',
|
|
385
617
|
},
|
|
386
618
|
extensionsPrefix: 'x-',
|
|
619
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/components#components',
|
|
387
620
|
};
|
|
388
621
|
const ImplicitFlow = {
|
|
389
622
|
properties: {
|
|
@@ -393,6 +626,7 @@ const ImplicitFlow = {
|
|
|
393
626
|
},
|
|
394
627
|
required: ['authorizationUrl', 'scopes'],
|
|
395
628
|
extensionsPrefix: 'x-',
|
|
629
|
+
description: 'Configuration for the OAuth Implicit flow.',
|
|
396
630
|
};
|
|
397
631
|
const PasswordFlow = {
|
|
398
632
|
properties: {
|
|
@@ -402,6 +636,7 @@ const PasswordFlow = {
|
|
|
402
636
|
},
|
|
403
637
|
required: ['tokenUrl', 'scopes'],
|
|
404
638
|
extensionsPrefix: 'x-',
|
|
639
|
+
description: 'Object Configuration for the OAuth Resource Owner Password flow.',
|
|
405
640
|
};
|
|
406
641
|
const ClientCredentials = {
|
|
407
642
|
properties: {
|
|
@@ -411,6 +646,7 @@ const ClientCredentials = {
|
|
|
411
646
|
},
|
|
412
647
|
required: ['tokenUrl', 'scopes'],
|
|
413
648
|
extensionsPrefix: 'x-',
|
|
649
|
+
description: 'Configuration for the OAuth Client Credentials flow. Previously called application in OpenAPI 2.0.',
|
|
414
650
|
};
|
|
415
651
|
const AuthorizationCode = {
|
|
416
652
|
properties: {
|
|
@@ -429,6 +665,7 @@ const AuthorizationCode = {
|
|
|
429
665
|
},
|
|
430
666
|
required: ['authorizationUrl', 'tokenUrl', 'scopes'],
|
|
431
667
|
extensionsPrefix: 'x-',
|
|
668
|
+
description: 'Configuration for the OAuth Authorization Code flow. Previously called accessCode in OpenAPI 2.0.',
|
|
432
669
|
};
|
|
433
670
|
const OAuth2Flows = {
|
|
434
671
|
properties: {
|
|
@@ -438,17 +675,40 @@ const OAuth2Flows = {
|
|
|
438
675
|
authorizationCode: 'AuthorizationCode',
|
|
439
676
|
},
|
|
440
677
|
extensionsPrefix: 'x-',
|
|
678
|
+
description: 'Configuration details for a supported OAuth Flow.',
|
|
441
679
|
};
|
|
442
680
|
const SecurityScheme = {
|
|
443
681
|
properties: {
|
|
444
|
-
type: {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
682
|
+
type: {
|
|
683
|
+
enum: ['apiKey', 'http', 'oauth2', 'openIdConnect'],
|
|
684
|
+
description: 'REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "oauth2", "openIdConnect".',
|
|
685
|
+
},
|
|
686
|
+
description: {
|
|
687
|
+
type: 'string',
|
|
688
|
+
description: 'A short description for security scheme.',
|
|
689
|
+
},
|
|
690
|
+
name: {
|
|
691
|
+
type: 'string',
|
|
692
|
+
description: 'REQUIRED. The name of the header, query or cookie parameter to be used.',
|
|
693
|
+
},
|
|
694
|
+
in: {
|
|
695
|
+
type: 'string',
|
|
696
|
+
enum: ['query', 'header', 'cookie'],
|
|
697
|
+
description: 'REQUIRED. The location of the API key. Valid values are "query", "header" or "cookie".',
|
|
698
|
+
},
|
|
699
|
+
scheme: {
|
|
700
|
+
type: 'string',
|
|
701
|
+
description: 'A short description for security scheme.',
|
|
702
|
+
},
|
|
703
|
+
bearerFormat: {
|
|
704
|
+
type: 'string',
|
|
705
|
+
description: 'A hint to the client to identify how the bearer token is formatted. Bearer tokens are usually generated by an authorization server, so this information is primarily for documentation purposes.',
|
|
706
|
+
},
|
|
450
707
|
flows: 'OAuth2Flows',
|
|
451
|
-
openIdConnectUrl: {
|
|
708
|
+
openIdConnectUrl: {
|
|
709
|
+
type: 'string',
|
|
710
|
+
description: 'REQUIRED. OpenId Connect URL to discover OAuth2 configuration values. This MUST be in the form of a URL.',
|
|
711
|
+
},
|
|
452
712
|
'x-defaultClientId': { type: 'string' },
|
|
453
713
|
},
|
|
454
714
|
required(value) {
|
|
@@ -486,18 +746,28 @@ const XUsePkce = {
|
|
|
486
746
|
disableManualConfiguration: { type: 'boolean' },
|
|
487
747
|
hideClientSecretInput: { type: 'boolean' },
|
|
488
748
|
},
|
|
749
|
+
description: 'The x-usePkce allows you to enable Proof Key for Code Exchange (PKCE) for the Oauth2 or OpenID Connect authorization code flow in the Replay.',
|
|
750
|
+
documentationLink: 'https://redocly.com/docs/realm/content/api-docs/openapi-extensions/x-use-pkce#openapi-extension-x-usepkce',
|
|
489
751
|
};
|
|
490
752
|
export const Oas3Types = {
|
|
491
753
|
Root,
|
|
492
754
|
Tag,
|
|
493
|
-
TagList: listOf('Tag'
|
|
755
|
+
TagList: listOf('Tag', {
|
|
756
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/tags',
|
|
757
|
+
description: `A list of tags used by the document with additional metadata. The order of the tags can be used to reflect on their order by the parsing tools. Not all tags that are used by the Operation Object must be declared. The tags that are not declared MAY be organized randomly or based on the tools' logic. Each tag name in the list MUST be unique.`,
|
|
758
|
+
}),
|
|
494
759
|
TagGroups: listOf('TagGroup'),
|
|
495
760
|
TagGroup,
|
|
496
761
|
ExternalDocs,
|
|
497
762
|
Server,
|
|
498
|
-
ServerList: listOf('Server'
|
|
763
|
+
ServerList: listOf('Server', {
|
|
764
|
+
description: 'A list of servers available to the API.',
|
|
765
|
+
documentationLink: 'https://redocly.com/learn/openapi/openapi-visual-reference/servers#servers',
|
|
766
|
+
}),
|
|
499
767
|
ServerVariable,
|
|
500
|
-
ServerVariablesMap: mapOf('ServerVariable'
|
|
768
|
+
ServerVariablesMap: mapOf('ServerVariable', {
|
|
769
|
+
description: `A map between a variable name and its value. The value is used for substitution in the server's URL template.`,
|
|
770
|
+
}),
|
|
501
771
|
SecurityRequirement,
|
|
502
772
|
SecurityRequirementList: listOf('SecurityRequirement'),
|
|
503
773
|
Info,
|
|
@@ -506,9 +776,13 @@ export const Oas3Types = {
|
|
|
506
776
|
Paths,
|
|
507
777
|
PathItem,
|
|
508
778
|
Parameter,
|
|
509
|
-
ParameterList: listOf('Parameter'
|
|
779
|
+
ParameterList: listOf('Parameter', {
|
|
780
|
+
description: 'A list of parameters that are applicable for this operation. If a parameter is already defined at the Path Item, the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a name and location. The list can use the Reference Object to link to parameters that are defined at the OpenAPI Object’s components/parameters.',
|
|
781
|
+
}),
|
|
510
782
|
Operation,
|
|
511
|
-
Callback: mapOf('PathItem'
|
|
783
|
+
Callback: mapOf('PathItem', {
|
|
784
|
+
description: 'https://redocly.com/learn/openapi/openapi-visual-reference/callbacks#callback-object',
|
|
785
|
+
}),
|
|
512
786
|
CallbacksMap: mapOf('Callback'),
|
|
513
787
|
RequestBody,
|
|
514
788
|
MediaTypesMap,
|