Microsoft.OpenApi
Represents the Open Api Data type metadata attribute.
Initializes a new instance of the class.
The display name.
The display Name.
Exception type representing exceptions in the Open API library.
Creates a new instance of the class with default values.
Creates a new instance of the class with an error message.
The plain text error message for this exception.
Creates a new instance of the class with an error message and an inner exception.
The plain text error message for this exception.
The inner exception that is the cause of this exception to be thrown.
The reference pointer. This is a fragment identifier used to point to where the error occurred in the document.
If the document has been parsed as JSON/YAML then the identifier will be a
JSON Pointer as per https://tools.ietf.org/html/rfc6901
If the document fails to parse as JSON/YAML then the fragment will be based on
a text/plain pointer as defined in https://tools.ietf.org/html/rfc5147
Currently only line= is provided because using char= causes tests to break due to CR/LF and LF differences
Defines an exception indicating OpenAPI Reader encountered an issue while reading.
Initializes the class.
Initializes the class with a custom message.
Plain text error message for this exception.
Initializes the class with a custom message.
Plain text error message for this exception.
Context of current parsing process.
Initializes the class with a custom message and inner exception.
Plain text error message for this exception.
Inner exception that caused this exception to be thrown.
Defines an exception indicating OpenAPI Reader encountered an unsupported specification version while reading.
Initializes the class with a specification version.
Version that caused this exception to be thrown.
Initializes the class with a specification version and
inner exception.
Version that caused this exception to be thrown.
Inner exception that caused this exception to be thrown.
The unsupported specification version.
Exception type representing exceptions in the OpenAPI writer.
Creates a new instance of the class with default values.
Creates a new instance of the class with an error message.
The plain text error message for this exception.
Creates a new instance of the class with an error message and an inner exception.
The plain text error message for this exception.
The inner exception that is the cause of this exception to be thrown.
Body expression.
body string
Prefix for a pointer
Initializes a new instance of the class.
Initializes a new instance of the class.
a JSON Pointer [RFC 6901](https://tools.ietf.org/html/rfc6901).
Gets the expression string.
Gets the fragment string.
String literal with embedded expressions
Expressions embedded into string literal
Create a composite expression from a string literal with an embedded expression
Return original string literal with embedded expression
Header expression, The token identifier in header is case-insensitive.
header. string
Initializes a new instance of the class.
The token string, it's case-insensitive.
Gets the expression string.
Gets the token string.
Method expression.
$method. string
Gets the expression string.
Private constructor.
Path expression, the name in path is case-sensitive.
path. string
Initializes a new instance of the class.
The name string, it's case-insensitive.
Gets the expression string.
Gets the name string.
Query expression, the name in query is case-sensitive.
query. string
Initializes a new instance of the class.
The name string, it's case-insensitive.
Gets the expression string.
Gets the name string.
$request. expression.
$request. string
Initializes a new instance of the class.
The source of the request.
Gets the expression string.
The expression.
$response. expression.
$response. string
Initializes a new instance of the class.
The source of the response.
Gets the expression string.
The expression.
Base class for the Open API runtime expression.
The dollar sign prefix for a runtime expression.
The expression string.
Build the runtime expression from input string.
The runtime expression.
The built runtime expression object.
GetHashCode implementation for IEquatable.
Equals implementation for IEquatable.
Source expression.
Initializes a new instance of the class.
The value string.
Gets the expression string.
Build the source expression from input string.
The source expression.
The built source expression.
StatusCode expression.
$statusCode string.
Gets the expression string.
Private constructor.
Url expression.
$url string.
Gets the expression string.
Private constructor.
Enumeration type extension methods.
Gets an attribute on an enum field value.
The type of the attribute to retrieve.
The enum value.
The attribute of the specified type or null.
Gets the enum display name.
The enum value.
Use if it exists.
Otherwise, use the standard string representation.
A wrapper class for JsonNode
Initializes the class.
Gets the underlying JsonNode.
Writes out the JsonNodeExtension type.
Extension methods that apply across all OpenAPIElements
Validate element and all child elements
Element to validate
Optional set of rules to use for validation
An IEnumerable of errors. This function will never return null.
Extension methods to verify validity and add an extension to Extensions property.
Add extension into the Extensions
.
The extensible Open API element.
The extension name.
The extension value.
Extension methods for resolving references on elements.
Resolves a JSON Pointer with respect to an element, returning the referenced element.
The referenceable Open API element on which to apply the JSON pointer
a JSON Pointer [RFC 6901](https://tools.ietf.org/html/rfc6901).
The element pointed to by the JSON pointer.
Extension methods for serialization.
Serialize the to the Open API document (JSON) using the given stream and specification version.
the
The Open API element.
The output stream.
The Open API specification version.
The cancellation token.
Serializes the to the Open API document (YAML) using the given stream and specification version.
the
The Open API element.
The output stream.
The Open API specification version.
The cancellation token.
Serializes the to the Open API document using
the given stream, specification version and the format.
the
The Open API element.
The given stream.
The Open API specification version.
The output format (JSON or YAML).
The cancellation token.
Serializes the to the Open API document using
the given stream, specification version and the format.
the
The Open API element.
The given stream.
The Open API specification version.
The output format (JSON or YAML).
Provide configuration settings for controlling writing output
The cancellation token.
Serializes the to Open API document using the given specification version and writer.
the
The Open API element.
The output writer.
Version of the specification the output should conform to
The cancellation token.
Serializes the to the Open API document as a string in JSON format.
the
The Open API element.
The Open API specification version.
The cancellation token.
Serializes the to the Open API document as a string in YAML format.
the
The Open API element.
The Open API specification version.
The cancellation token.
Serializes the to the Open API document as a string in the given format.
the
The Open API element.
The Open API specification version.
Open API document format.
The cancellation token.
Extension methods for serialization.
Replaces URL variables in a server's URL
The OpenAPI server object
The server variable values that will be used to replace the default values.
A URL with the provided variables substituted.
Thrown when:
1. A substitution has no valid value in both the supplied dictionary and the default
2. A substitution's value is not available in the enum provided
Extension methods for .
Maps a JsonSchema data type to an identifier.
Maps a JsonSchema data type to an identifier.
Returns the first identifier from a string array.
Returns a single identifier from an array with only one item.
Converts a schema type's identifier into the enum equivalent
Converts a schema type's identifier into the enum equivalent
Maps a simple type to an OpenAPI data type and format.
Simple type.
All the following types from http://swagger.io/specification/#data-types-12 are supported.
Other types including nullables and URL are also supported.
Common Name type format Comments
=========== ======= ====== =========================================
integer number int32 signed 32 bits
long number int64 signed 64 bits
float number float
double number double
string string [empty]
byte string byte base64 encoded characters
binary string binary any sequence of octets
boolean boolean [empty]
date string date As defined by full-date - RFC3339
dateTime string date-time As defined by date-time - RFC3339
password string password Used to hint UIs the input needs to be obscured.
If the type is not recognized as "simple", System.String will be returned.
Maps a JsonSchema data type and format to a simple type.
The OpenApi data type
The simple type
Temporary extension method until we add Settings property to IOpenApiWriter in next major version
String extension methods.
Represents an Open API element that can be annotated with
non-serializable properties in a property bag.
A collection of properties associated with the current OpenAPI element to be used by the application.
Metadata are NOT (de)serialized with the schema and can be used for custom properties.
Represents an Open API element.
Represents an Extensible Open API element.
Specification extensions.
Interface required for implementing any custom extension
Write out contents of custom extension
Version of the OpenAPI specification that that will be output.
Interface for Open API readers.
Async method to reads the stream and parse it into an Open API document.
The stream input.
Location of where the document that is getting loaded is saved
The OpenApi reader settings.
Propagates notification that an operation should be cancelled.
Provides a synchronous method to read the input memory stream and parse it into an Open API document.
Location of where the document that is getting loaded is saved
Reads the MemoryStream and parses the fragment of an OpenAPI description into an Open API Element.
Memory stream containing OpenAPI description to parse.
Version of the OpenAPI specification that the fragment conforms to.
The OpenApiDocument object to which the fragment belongs, used to lookup references.
Returns diagnostic object containing errors detected during parsing.
The OpenApiReader settings.
Instance of newly created IOpenApiElement.
Represents an Extensible Open API element elements can be rad from.
Specification extensions.
Represents an Open API element is referenceable.
A generic interface for OpenApiReferenceable objects that have a target.
The type of the target being referenced
The type of the interface implemented by both the target and the reference type
The type for the reference holding the additional fields and annotations
Gets the resolved target object.
Gets the recursively resolved target object.
Copy the reference as a target element with overrides.
A generic interface for OpenApiReferenceable objects that have a target.
The type for the reference holding the additional fields and annotations
Reference object.
A generic interface for OpenApiReferenceable objects that have a target.
Indicates if object is populated with data or is just a reference to the data
Represents an Open API element that comes with serialization functionality.
Serialize OpenAPI element into v3.1
Serialize Open API element to v3.0.
The writer.
Serialize Open API element to v2.0.
The writer.
Interface to a version specific parsing implementations.
Loads an OpenAPI Element from a document fragment
Type of element to load
document fragment node
A host document instance.
Instance of OpenAPIElement
Converts a generic RootNode instance into a strongly typed OpenApiDocument
RootNode containing the information to be converted into an OpenAPI Document
Location of where the document that is getting loaded is saved
Instance of OpenApiDocument populated with data from rootNode
Gets the description and summary scalar values in a reference object for V3.1 support
A YamlMappingNode.
The scalar value we're parsing.
The resulting node value.
Interface for shallow copyable objects.
The type of the resulting object
Create a shallow copy of the current instance.
Interface for service that translates a URI into a stream that can be loaded by a Reader
Use Uri to locate data and convert into an input object.
Base URL of parent to which a relative reference could be loaded.
If the is an absolute parameter the value of this parameter will be ignored
Identifier of some source of an OpenAPI Description
The cancellation token.
A data object that can be processed by a reader to generate an
JSON pointer.
Initializes the class.
Pointer as string.
Initializes the class.
Pointer as tokenized string.
Tokens.
Gets the parent pointer.
Decode the string.
Gets the string representation of this JSON pointer.
Extension element for OpenAPI to add deprecation information. x-ms-deprecation
Name of the extension as used in the description.
The date at which the element has been/will be removed entirely from the service.
The date at which the element has been/will be deprecated.
The version this revision was introduced.
The description of the revision.
Parses the to .
The source object.
The .
When the source element is not an object
Extension element for OpenAPI to add deprecation information. x-ms-enum-flags
Name of the extension as used in the description.
Whether the enum is a flagged enum.
Parse the extension from the raw OpenApiAny object.
The source element to parse.
The .
When the source element is not an object
Extension element for OpenAPI to add enum values descriptions.
Based of the AutoRest specification https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-enum
Name of the extension as used in the description.
The of the enum.
Descriptions for the enum symbols, where the value MUST match the enum symbols in the main description
Parse the extension from the raw IOpenApiAny object.
The source element to parse.
The .
When the source element is not an object
Description of an enum symbol
Default constructor
Constructor from a raw OpenApiObject
The source object
The description for the enum symbol
The symbol for the enum symbol to use for code-generation
The symbol as described in the main enum schema.
Extension element for OpenAPI to add pageable information.
Based of the AutoRest specification https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-pageable
Name of the extension as used in the description.
The name of the property that provides the collection of pageable items.
The name of the property that provides the next link (common: nextLink)
The name (operationId) of the operation for retrieving the next page.
Parse the extension from the raw IOpenApiAny object.
The source element to parse.
The .
When the source element is not an object
Extension element for OpenAPI to add tag the primary error message to use on error types. x-ms-primary-error-message
Name of the extension as used in the description.
Whether this property is the primary error message to use on error types.
Parses the to .
The source object.
The .
Extension element for OpenAPI to add reserved parameters. x-ms-reserved-parameters
Name of the extension as used in the description.
Whether the associated parameter is reserved or not.
Parses the to .
The source object.
The .
A simple object to allow referencing other components in the specification, internally and externally.
External resource in the reference.
It maybe:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
The element type referenced.
This must be present if is not present.
The identifier of the reusable component of one particular ReferenceType.
If ExternalResource is present, this is the path to the component after the '#/'.
For example, if the reference is 'example.json#/path/to/component', the Id is 'path/to/component'.
If ExternalResource is not present, this is the name of the component without the reference type name.
For example, if the reference is '#/components/schemas/componentName', the Id is 'componentName'.
Gets a flag indicating whether this reference is an external reference.
Gets a flag indicating whether this reference is a local reference.
Gets a flag indicating whether a file is a valid OpenAPI document or a fragment
The OpenApiDocument that is hosting the OpenApiReference instance. This is used to enable dereferencing the reference.
Gets the full reference string for v3.0.
Gets the full reference string for V2.0
Parameterless constructor
Initializes a copy instance of the object
Serialize additional properties for Open Api v3.1.
Serialize
Sets the host document after deserialization or before serialization.
This method is internal on purpose to avoid consumers mutating the host document.
Host document to set if none is present
Gets the property value from a JsonObject node.
The object to get the value from
The key of the property
The property value
Sets additional metadata from the map node.
The object to get the data from
Defines the base properties for the callback object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
A Path Item Object used to define a callback request and expected responses.
Describes an element that has a description.
Long description for the example.
CommonMark syntax MAY be used for rich text representation.
Describes an element that has a description.
Long description for the example.
CommonMark syntax MAY be used for rich text representation.
Defines the base properties for the example object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
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.
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.
Defines the base properties for the headers object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
Determines whether this header is mandatory.
Specifies that a header is deprecated and SHOULD be transitioned out of usage.
Sets the ability to pass empty-valued headers.
Describes how the header value will be serialized depending on the type of the header value.
When this is true, header values of type array or object generate separate parameters
for each value of the array or key-value pair of the map.
Determines whether the header value SHOULD allow reserved characters, as defined by RFC3986.
The schema defining the type used for the request body.
Example of the media type.
Examples of the media type.
A map containing the representations for the header.
Defines the base properties for the link object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
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.
The name of an existing, resolvable OAS operation, as defined with a unique operationId.
This field is mutually exclusive of the operationRef field.
A map representing parameters to pass to an operation as specified with operationId or identified via operationRef.
A literal value or {expression} to use as a request body when calling the target operation.
A server object to be used by the target operation.
Defines the base properties for the parameter object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
REQUIRED. The name of the parameter. Parameter names are case sensitive.
If in is "path", the name field MUST correspond to the associated path segment from the path field in the Paths Object.
If in is "header" and the name field is "Accept", "Content-Type" or "Authorization", the parameter definition SHALL be ignored.
For all other cases, the name corresponds to the parameter name used by the in property.
REQUIRED. The location of the parameter.
Possible values are "query", "header", "path" or "cookie".
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.
Specifies that a parameter is deprecated and SHOULD be transitioned out of usage.
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.
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.
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.
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.
The schema defining the type used for the parameter.
Examples of the media type. Each example SHOULD contain a value
in the correct format as specified in the parameter encoding.
The examples object is mutually exclusive of the example object.
Furthermore, if referencing a schema which contains an example,
the examples value SHALL override the example provided by the schema.
Example of the media type. The example SHOULD match the specified schema and encoding properties
if present. The example object is mutually exclusive of the examples object.
Furthermore, if referencing a schema which 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.
A map containing the representations for the parameter.
The key is the media type and the value describes it.
The map MUST only contain one entry.
For more complex scenarios, the content property can define the media type and schema of the parameter.
A parameter MUST contain either a schema property, or a content property, but not both.
When example or examples are provided in conjunction with the schema object,
the example MUST follow the prescribed serialization strategy for the parameter.
Defines the base properties for the path item object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
Gets the definition of operations on this path.
An alternative server array to service all operations in this path.
A list of parameters that are applicable for all the operations described under this path.
These parameters can be overridden at the operation level, but cannot be removed there.
Defines the base properties for the request body object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
Determines if the request body is required in the request. Defaults to false.
REQUIRED. The content of the request body. The key is a media type or media type range and the value describes it.
For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
Converts the request body to a body parameter in preparation for a v2 serialization.
The writer to use to read settings from.
The converted OpenAPI parameter
Converts the request body to a set of form data parameters in preparation for a v2 serialization.
The writer to use to read settings from
The converted OpenAPI parameters
Defines the base properties for the response object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
Maps a header name to its definition.
A map containing descriptions of potential response payloads.
The key is a media type or media type range and the value describes it.
A map of operations links that can be followed from the response.
The key of the map is a short name for the link,
following the naming constraints of the names for Component Objects.
Defines the base properties for the schema object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
Follow JSON Schema definition. Short text providing information about the data.
$schema, a JSON Schema dialect identifier. Value must be a URI
$id - Identifies a schema resource with its canonical URI.
$comment - reserves a location for comments from schema authors to readers or maintainers of the schema.
$vocabulary- used in meta-schemas to identify the vocabularies available for use in schemas described by that meta-schema.
$dynamicRef - an applicator that allows for deferring the full resolution until runtime, at which point it is resolved each time it is encountered while evaluating an instance
$dynamicAnchor - used to create plain name fragments that are not tied to any particular structural location for referencing purposes, which are taken into consideration for dynamic referencing.
$defs - reserves a location for schema authors to inline re-usable JSON Schemas into a more general schema.
The keyword does not directly affect the validation result
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Value MUST be a string in V2 and V3.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
While relying on JSON Schema's defined formats,
the OAS offers a few additional predefined formats.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
This string SHOULD be a valid regular expression, according to the ECMA 262 regular expression dialect
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
The default value represents what would be assumed by the consumer of the input as the value of the schema if one is not provided.
Unlike JSON Schema, the value MUST conform to the defined type for the Schema Object defined at the same level.
For example, if type is string, then default can be "foo" but cannot be 1.
Relevant only for Schema "properties" definitions. Declares the property as "read only".
This means that it MAY be sent as part of a response but SHOULD NOT be sent as part of the request.
If the property is marked as readOnly being true and is in the required list,
the required will take effect on the response only.
A property MUST NOT be marked as both readOnly and writeOnly being true.
Default value is false.
Relevant only for Schema "properties" definitions. Declares the property as "write only".
Therefore, it MAY be sent as part of a request but SHOULD NOT be sent as part of the response.
If the property is marked as writeOnly being true and is in the required list,
the required will take effect on the request only.
A property MUST NOT be marked as both readOnly and writeOnly being true.
Default value is false.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Value MUST be an object and not an array. Inline or referenced schema MUST be of a Schema Object
and not a standard JSON Schema. items MUST be present if the type is array.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Property definitions MUST be a Schema Object and not a standard JSON Schema (inline or referenced).
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
PatternProperty definitions MUST be a Schema Object and not a standard JSON Schema (inline or referenced)
Each property name of this object SHOULD be a valid regular expression according to the ECMA 262 r
egular expression dialect. Each property value of this object MUST be an object, and each object MUST
be a valid Schema Object not a standard JSON Schema.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Indicates if the schema can contain properties other than those defined by the properties map.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Value can be boolean or object. Inline or referenced schema
MUST be of a Schema Object and not a standard JSON Schema.
Adds support for polymorphism. The discriminator is an object name that is used to differentiate
between other schemas which may satisfy the payload description.
A free-form property to include an example of an instance for this schema.
To represent examples that cannot be naturally represented in JSON or YAML,
a string value can be used to contain the example with escaping where necessary.
A free-form property to include examples of an instance for this schema.
To represent examples that cannot be naturally represented in JSON or YAML,
a list of values can be used to contain the examples with escaping where necessary.
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Follow JSON Schema definition: https://json-schema.org/draft/2020-12/json-schema-validation
Additional external documentation for this schema.
Specifies that a schema is deprecated and SHOULD be transitioned out of usage.
Default value is false.
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.
This object stores any unrecognized keywords found in the schema.
Follow JSON Schema definition:https://json-schema.org/draft/2020-12/json-schema-validation#section-6.5.4
Defines the base properties for the security scheme object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "oauth2", "openIdConnect".
REQUIRED. The name of the header, query or cookie parameter to be used.
REQUIRED. The location of the API key. Valid values are "query", "header" or "cookie".
REQUIRED. The name of the HTTP Authorization scheme to be used
in the Authorization header as defined in RFC7235.
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.
REQUIRED. An object containing configuration information for the flow types supported.
REQUIRED. OpenId Connect URL to discover OAuth2 configuration values.
Describes an element that has a summary.
Short description for the example.
Defines the base properties for the path item object.
This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
The name of the tag.
Additional external documentation for this tag.
Schema reference information that includes metadata annotations from JSON Schema 2020-12.
This class extends OpenApiReference to provide schema-specific metadata override capabilities.
A default value which by default SHOULD override that of the referenced component.
If the referenced object-type does not allow a default field, then this field has no effect.
A title which by default SHOULD override that of the referenced component.
If the referenced object-type does not allow a title field, then this field has no effect.
Indicates whether the referenced component is deprecated.
If the referenced object-type does not allow a deprecated field, then this field has no effect.
Indicates whether the referenced component is read-only.
If the referenced object-type does not allow a readOnly field, then this field has no effect.
Indicates whether the referenced component is write-only.
If the referenced object-type does not allow a writeOnly field, then this field has no effect.
Example values which by default SHOULD override those of the referenced component.
If the referenced object-type does not allow examples, then this field has no effect.
Parameterless constructor
Initializes a copy instance of the object
Represents the type of a JSON schema.
Represents a null type.
Represents a boolean type.
Represents an integer type.
Represents a number type.
Represents a string type.
Represents an object type.
Represents an array type.
Callback Object: A map of possible out-of band callbacks related to the parent operation.
This object MAY be extended with Specification Extensions.
Parameter-less constructor
Initializes a copy of an object
Add a into the .
The runtime expression.
The path item.
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v2.0
Components Object.
An object to hold reusable Objects.
An object to hold reusable Objects.
An object to hold reusable Objects.
An object to hold reusable Objects.
An object to hold reusable Objects.
An object to hold reusable Objects.
An object to hold reusable Objects.
An object to hold reusable Objects.
An object to hold reusable Objects.
An object to hold reusable Object.
This object MAY be extended with Specification Extensions.
Parameter-less constructor
Initializes a copy of an object
Serialize to Open API v3.1.
Serialize to v3.0
Serialize .
Serialize to Open Api v2.0.
Constants used in the Open API document.
Field: OpenApi
Field: Json
Field: Yaml
Field: Yml
Field: Info
Field: JsonSchemaDialect
Field: Webhooks
Field: Title
Field: Const
Field: Type
Field: Format
Field: Schema
Field: Id
Field: Comment
Field: Vocabulary
Field: DynamicRef
Field: DynamicAnchor
Field: RecursiveRef
Field: RecursiveAnchor
Field: Definitions
Field: V31ExclusiveMaximum
Field: V31ExclusiveMinimum
Field: UnevaluatedProperties
Field: Version
Field: Contact
Field: License
Field: TermsOfService
Field: Servers
Field: Server
Field: Paths
Field: Components
Field: PathItems
Field: Security
Field: Tags
Field: ExternalDocs
Field: OperationRef
Field: OperationId
Field: Parameters
Field: RequestBody
Field: ExtensionFieldNamePrefix
Field: Name
Field: Identifier
Field: Namespace
Field: Prefix
Field: Attribute
Field: Wrapped
Field: In
Field: Summary
Field: Variables
Field: Description
Field: Required
Field: Deprecated
Field: Style
Field: Explode
Field: AllowReserved
Field: Schema
Field: Schemas
Field: Responses
Field: Example
Field: Examples
Field: Encoding
Field: RequestBodies
Field: AllowEmptyValue
Field: Value
Field: ExternalValue
Field: DollarRef
Field: Headers
Field: SecuritySchemes
Field: Content
Field: Links
Field: Callbacks
Field: Url
Field: Email
Field: Default
Field: Enum
Field: MultipleOf
Field: Maximum
Field: ExclusiveMaximum
Field: Minimum
Field: ExclusiveMinimum
Field: MaxLength
Field: MinLength
Field: Pattern
Field: MaxItems
Field: MinItems
Field: UniqueItems
Field: MaxProperties
Field: MinProperties
Field: AllOf
Field: OneOf
Field: AnyOf
Field: Not
Field: Items
Field: Properties
Field: UnrecognizedKeywords
Field: Pattern Properties
Field: AdditionalProperties
Field: Nullable
Field: Discriminator
Field: ReadOnly
Field: WriteOnly
Field: Xml
Field: Flow
Field: Application
Field: AccessCode
Field: Implicit
Field: Password
Field: ClientCredentials
Field: AuthorizationCode
Field: AuthorizationUrl
Field: TokenUrl
Field: RefreshUrl
Field: Scopes
Field: ContentType
Field: Get
Field: Put
Field: Post
Field: Delete
Field: Options
Field: Head
Field: Patch
Field: Trace
Field: PropertyName
Field: Mapping
Field: Scheme
Field: BearerFormat
Field: Flows
Field: OpenIdConnectUrl
Field: DefaultName
Field: DefaultDefault
Field: DefaultTitle
Field: DefaultDescription
Field: BodyName extensions
Field: Examples Extension
Field: version3_0_0
Field: defaultUrl
Field: V3 JsonSchema Reference Uri
Field: V2 JsonSchema Reference Uri
The default registry uri for OpenApi documents and workspaces
The components path segment in a $ref value.
Field: Null
Field: Nullable extension
Field: DependentRequired
Field: Host
Field: Swagger
Field: version2_0
Field: BasePath
Field: Schemes
Field: SecurityDefinitions
Field: Definitions
Field: Basic
Field: Bearer
Field: JWT
Field: Consumes
Field: Produces
Contact Object.
The identifying name of the contact person/organization.
The URL pointing to the contact information. MUST be in the format of a URL.
The email address of the contact person/organization.
MUST be in the format of an email address.
This object MAY be extended with Specification Extensions.
Parameter-less constructor
Initializes a copy of an instance
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v2.0
Discriminator object.
REQUIRED. The name of the property in the payload that will hold the discriminator value.
An object to hold mappings between payload values and schema names or references.
This object MAY be extended with Specification Extensions.
Parameter-less constructor
Initializes a copy of an instance
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v3.0
Serialize to Open Api v2.0
Describes an OpenAPI object (OpenAPI document). See: https://spec.openapis.org
Register components in the document to the workspace
Related workspace containing components that are referenced in a document
REQUIRED. Provides metadata about the API. The metadata MAY be used by tooling as required.
The default value for the $schema keyword within Schema Objects contained within this OAS document. This MUST be in the form of a URI.
An array of Server Objects, which provide connectivity information to a target server.
REQUIRED. The available paths and operations for the API.
The incoming webhooks that MAY be received as part of this API and that the API consumer MAY choose to implement.
A map of requests initiated other than by an API call, for example by an out of band registration.
The key name is a unique string to refer to each webhook, while the (optionally referenced) Path Item Object describes a request that may be initiated by the API provider and the expected responses
An element to hold various schemas for the specification.
A declaration of which security mechanisms can be used across the API.
A list of tags used by the specification with additional metadata.
Additional external documentation.
This object MAY be extended with Specification Extensions.
Absolute location of the document or a generated placeholder if location is not given
Parameter-less constructor
Initializes a copy of an an object
Serialize to an Open API document using the specified version.
The Open API specification version to serialize the document as.
The to serialize the document to.
is not a supported Open API specification version.
Serialize to Open API v3.1 document.
Serialize to the latest patch of OpenAPI object V3.0.
Serialize
Serialize to OpenAPI object V2.0.
Walks the OpenApiDocument and sets the host document for all IOpenApiReferenceable objects
Load the referenced object from a object
Takes in an OpenApi document instance and generates its hash value
Propagates notification that operations should be canceled.
The hash value.
Load the referenced object from a object
Reads the stream input and parses it into an Open API document.
Stream containing OpenAPI description to parse.
The OpenAPI format to use during parsing.
The OpenApi reader settings.
Parses a local file path or Url into an Open API document.
The path to the OpenAPI file.
The OpenApi reader settings.
The cancellation token
Reads the stream input and parses it into an Open API document.
Stream containing OpenAPI description to parse.
The OpenAPI format to use during parsing.
The OpenApi reader settings.
Propagates information about operation cancelling.
Parses a string into a object.
The string input.
Adds a component to the components object of the current document and registers it to the underlying workspace.
The component to add
The id for the component
The type of the component
Whether the component was added to the components.
Thrown when the component is null.
Thrown when the id is null or empty.
ExternalDocs object.
The Content-Type for encoding a specific property.
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.
A map allowing additional information to be provided as headers.
Describes how a specific property value will be serialized depending on its type.
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.
Determines whether the parameter value SHOULD allow reserved characters,
as defined by RFC3986 :/?#[]@!$&'()*+,;= 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.
This object MAY be extended with Specification Extensions.
Parameter-less constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v3.0.
Serialize to Open Api v2.0.
Error related to the Open API Document.
Initializes the class using the message and pointer from the given exception.
Initializes the class.
Initializes a copy of an object
Message explaining the error.
Pointer to the location of the error.
Gets the string representation of .
Example Object.
Parameter-less constructor
Initializes a copy of object
The object
Generic dictionary type for Open API dictionary element.
The Open API element,
Parameterless constructor
Initializes a copy of class.
The generic dictionary.
The dictionary of .
This object MAY be extended with Specification Extensions.
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v3.0
Serialize to Open Api v2.0
ExternalDocs object.
A short description of the target documentation.
REQUIRED. The URL for the target documentation. Value MUST be in the format of a URL.
This object MAY be extended with Specification Extensions.
Parameter-less constructor
Initializes a copy of an object
Serialize to Open Api v3.1.
Serialize to Open Api v3.0.
Serialize to Open Api v2.0.
Header Object.
The Header Object follows the structure of the Parameter Object.
Parameter-less constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to OpenAPI V2 document without using reference.
Open API Info Object, it provides the metadata about the Open API.
REQUIRED. The title of the application.
A short summary of the API.
A short description of the application.
REQUIRED. The version of the OpenAPI document.
A URL to the Terms of Service for the API. MUST be in the format of a URL.
The contact information for the exposed API.
The license information for the exposed API.
This object MAY be extended with Specification Extensions.
Parameter-less constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v3.0
Serialize to Open Api v2.0
License Object.
REQUIRED. The license name used for the API.
An SPDX license expression for the API. The identifier field is mutually exclusive of the url field.
The URL pointing to the contact information. MUST be in the format of a URL.
This object MAY be extended with Specification Extensions.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v2.0
Link Object.
Parameterless constructor
Initializes a copy of an object
Media Type Object.
The schema defining the type used for the request body.
Example of the media type.
The example object SHOULD be in the correct format as specified by the media type.
Examples of the media type.
Each example object SHOULD match the media type and specified schema if present.
A map between a property name and its encoding information.
The key, being the property name, MUST exist in the schema as a property.
The encoding object SHALL only apply to requestBody objects
when the media type is multipart or application/x-www-form-urlencoded.
Serialize to Open Api v3.0.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.1.
Serialize to Open Api v3.0.
Serialize to Open Api v3.0.
Serialize to Open Api v2.0.
OAuth Flow Object.
REQUIRED. The authorization URL to be used for this flow.
Applies to implicit and authorizationCode OAuthFlow.
REQUIRED. The token URL to be used for this flow.
Applies to password, clientCredentials, and authorizationCode OAuthFlow.
The URL to be used for obtaining refresh tokens.
REQUIRED. A map between the scope name and a short description for it.
Specification Extensions.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v3.0
Serialize to Open Api v2.0
OAuth Flows Object.
Configuration for the OAuth Implicit flow
Configuration for the OAuth Resource Owner Password flow.
Configuration for the OAuth Client Credentials flow.
Configuration for the OAuth Authorization Code flow.
Specification Extensions.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize
Serialize to Open Api v2.0
Operation Object.
A list of tags for API documentation control.
Tags can be used for logical grouping of operations by resources or any other qualifier.
A short summary of what the operation does.
A verbose explanation of the operation behavior.
CommonMark syntax MAY be used for rich text representation.
Additional external documentation for this operation.
Unique string used to identify the operation. The id MUST be unique among all operations described in the API.
Tools and libraries MAY use the operationId to uniquely identify an operation, therefore,
it is RECOMMENDED to follow common programming naming conventions.
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.
The request body applicable for this operation.
The requestBody is only supported in HTTP methods where the HTTP 1.1 specification RFC7231
has explicitly defined semantics for request bodies.
In other cases where the HTTP spec is vague, requestBody SHALL be ignored by consumers.
REQUIRED. The list of possible responses as they are returned from executing this operation.
A map of possible out-of band callbacks related to the parent operation.
The key is a unique identifier for the Callback Object.
Each value in the map is a Callback Object that describes a request
that may be initiated by the API provider and the expected responses.
The key value used to identify the callback object is an expression, evaluated at runtime,
that identifies a URL to use for the callback operation.
Declares this operation to be deprecated. Consumers SHOULD refrain from usage of the declared operation.
A declaration of which security mechanisms can be used for this operation.
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.
This definition overrides any declared top-level security.
To remove a top-level security declaration, an empty array can be used.
An alternative server array to service this operation.
If an alternative server object is specified at the Path Item Object or Root level,
it will be overridden by this value.
This object MAY be extended with Specification Extensions.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.1.
Serialize to Open Api v3.0.
Serialize to Open Api v3.0.
Serialize to Open Api v2.0.
Parameter Object.
A parameterless constructor
Initializes a clone instance of object
Write the "in" property for V2 serialization.
Writer to use for the serialization
Write the request body schema for V2 serialization.
Writer to use for the serialization
Extensions clone
Body parameter class to propagate information needed for
Form parameter class to propagate information needed for
Path Item Object: to describe the operations available on a single path.
Add one operation into this path item.
The operation type kind.
The operation item.
Parameterless constructor
Initializes a clone of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize inline PathItem in OpenAPI V2
Paths object.
Parameterless constructor
Initializes a copy of object
The .
OpenApiReferenceWithSummary is a reference to an OpenAPI component that includes a description.
A description which by default SHOULD override that of the referenced component.
CommonMark syntax MAY be used for rich text representation.
If the referenced object-type does not allow a description field, then this field has no effect.
Parameterless constructor
Initializes a copy instance of the object
OpenApiReferenceWithSummary is a reference to an OpenAPI component that includes a summary.
A short summary which by default SHOULD override that of the referenced component.
If the referenced object-type does not allow a summary field, then this field has no effect.
Parameterless constructor
Initializes a copy instance of the object
Request Body Object
Parameter-less constructor
Initializes a copy instance of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v2.0
Response object.
Parameterless constructor
Initializes a copy of object
Serialize to Open Api v3.1
Serialize to Open Api v3.0.
Serialize to OpenAPI V2 document without using reference.
Responses object.
Parameterless constructor
Initializes a copy of object
The
The Schema Object allows the definition of input and output data types.
Compatibility property for OpenAPI 3.0 or earlier serialization of the exclusive maximum value.
DO NOT CHANGE THE VISIBILITY OF THIS PROPERTY TO PUBLIC
Compatibility property for OpenAPI 3.0 or earlier serialization of the exclusive minimum value.
DO NOT CHANGE THE VISIBILITY OF THIS PROPERTY TO PUBLIC
Parameterless constructor
Initializes a copy of object
The schema object to copy from.
Serialize to Open Api v2.0 and handles not marking the provided property
as readonly if its included in the provided list of required properties of parent schema.
The open api writer.
The list of required properties in parent schema.
The property name that will be serialized.
Security Requirement Object.
Each name MUST correspond to a security scheme which is declared in
the Security Schemes under the Components Object.
If the security scheme is of type "oauth2" or "openIdConnect",
then the value is a list of scope names required for the execution.
For other security scheme types, the array MUST be empty.
Initializes the class.
This constructor ensures that only Reference.Id is considered when two dictionary keys
of type are compared.
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize
Serialize to Open Api v2.0
Comparer for OpenApiSecurityScheme that only considers the Id in the Reference
(i.e. the string that will actually be displayed in the written document)
Determines whether the specified objects are equal.
Returns a hash code for the specified object.
Security Scheme Object.
Parameterless constructor
Initializes a copy of object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v2.0
Arbitrarily chooses one object from the
to populate in V2 security scheme.
Server Object: an object representing a Server.
An optional string describing the host designated by the URL. CommonMark syntax MAY be used for rich text representation.
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 will be made when a variable is named in {brackets}.
A map between a variable name and its value. The value is used for substitution in the server's URL template.
This object MAY be extended with Specification Extensions.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v3.0
Serialize to Open Api v2.0
Server Variable Object.
An optional description for the server variable. CommonMark syntax MAY be used for rich text representation.
REQUIRED. The default value to use for substitution, and to send, if an alternate value is not supplied.
Unlike the Schema Object's default, this value MUST be provided by the consumer.
An enumeration of string values to be used if the substitution options are from a limited set.
If the server variable in the OpenAPI document has no enum member, this property will be null.
This object MAY be extended with Specification Extensions.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v3.0
Serialize to Open Api v2.0
Tag Object.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.1
Serialize to Open Api v3.0
Serialize to Open Api v2.0
XML Object.
Replaces the name of the element/attribute used for the described schema property.
The URI of the namespace definition. Value MUST be in the form of an absolute URI.
The prefix to be used for the name
Declares whether the property definition translates to an attribute instead of an element.
Default value is false.
Signifies whether the array is wrapped.
Default value is false.
Specification Extensions.
Parameterless constructor
Initializes a copy of an object
Serialize to Open Api v3.0
Serialize to Open Api v3.0
Serialize to Open Api v2.0
The location of the parameter.
Parameters that are appended to the URL.
Custom headers that are expected as part of the request.
Used together with Path Templating,
where the parameter value is actually part of the operation's URL
Used to pass a specific cookie value to the API.
The style of the parameter.
Path-style parameters.
Label style parameters.
Form style parameters.
Simple style parameters.
Space separated array values.
Pipe separated array values.
Provides a simple way of rendering nested objects using form parameters.
Base class for OpenApiReferenceHolder.
The concrete class implementation type for the model.
The interface type for the model.
The type for the reference holding the additional fields and annotations
Copy the reference as a target element with overrides.
The source reference to copy
The copy of the reference
Copy constructor
The parameter reference to copy
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
The reference type.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Serialize the reference as a reference or the target object.
This method is used to accelerate the serialization methods implementations.
The OpenApiWriter.
The action to serialize the target object.
Callback Object Reference: A reference to a map of possible out-of band callbacks related to the parent operation.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. an absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The reference to copy
Example Object Reference.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The example reference to copy
Header Object Reference.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The object to copy
Link Object Reference.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor.
The reference to copy
Parameter Object Reference.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The parameter reference to copy
Path Item Object Reference: to describe the operations available on a single path.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The reference to copy
Request Body Object Reference.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The reference to copy
Response Object Reference.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The reference to copy
Schema reference object
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The schema reference to copy
Security Scheme Object Reference.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
The externally referenced file.
Copy constructor
The reference to copy
Tag Object Reference
Resolved target of the reference.
Constructor initializing the reference object.
The reference Id.
The host OpenAPI document.
Optional: External resource in the reference.
It may be:
1. a absolute/relative file path, for example: ../commons/pet.json
2. a Url, for example: http://localhost/pet.json
Copy constructor
The reference to copy
The reference type.
Schema item.
Responses item.
Parameters item.
Examples item.
RequestBodies item.
Headers item.
SecuritySchemes item.
Links item.
Callbacks item.
Tags item.
Path item.
The wrapper either for or
Parameterless constructor
Initializes a copy of an object
Gets/Sets the
Gets/Set the
Write
The type of the security scheme
Use API key
Use basic or bearer token authorization header.
Use OAuth2
Use OAuth2 with OpenId Connect URL to discover OAuth2 configuration value.
Represents versions of OpenAPI specification.
Represents OpenAPI V2.0 spec
Represents all patches of OpenAPI V3.0 spec (e.g. 3.0.0, 3.0.1)
Represents OpenAPI V3.1 spec
This comparer is used to maintain a globally unique list of tags encountered
in a particular OpenAPI document.
Default instance for the comparer.
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to There must be an active scope for name '{0}' to be written..
Looks up a localized string similar to The argument '{0}' is null, empty or consists only of white-space..
Looks up a localized string similar to The argument '{0}' is null..
Looks up a localized string similar to http://localhost/.
Looks up a localized string similar to The filed name '{0}' of extension doesn't begin with x-..
Looks up a localized string similar to Indentation level cannot be lower than 0..
Looks up a localized string similar to The input item should be in type of '{0}'..
Looks up a localized string similar to Invalid Reference identifier '{0}'..
Looks up a localized string similar to Invalid Reference Type '{0}'..
Looks up a localized string similar to Local reference must have type specified..
Looks up a localized string similar to The active scope must be an object scope for property name '{0}' to be written..
Looks up a localized string similar to An error occurred while processing the Open API document..
Looks up a localized string similar to The given OpenAPI format '{0}' is not supported..
Looks up a localized string similar to The object element name '{0}' is required..
Looks up a localized string similar to The OpenApi element '{0}' is already marked as reference object..
Looks up a localized string similar to If the parameter location is "path", this property is REQUIRED and its value MUST be true.
Looks up a localized string similar to The given OpenAPI specification version '{0}' is not supported..
Looks up a localized string similar to The type '{0}' is not supported in Open API document..
Looks up a localized string similar to An error occurred while writing the Open API document..
Looks up a localized string similar to Invalid server variable '{0}'. A value was not provided and no default value was provided..
Looks up a localized string similar to Value '{0}' is not a valid value for variable '{1}'. If an enum is provided, it should not be empty and the value provided should exist in the enum.
Looks up a localized string similar to The given primitive type '{0}' is not supported..
Looks up a localized string similar to The reference string '{0}' has invalid format..
Looks up a localized string similar to Remote reference not supported..
Looks up a localized string similar to The runtime expression '{0}' has invalid format..
Looks up a localized string similar to The runtime expression '{0}' should start with '$'.
Looks up a localized string similar to Scope must be present to end..
Looks up a localized string similar to The scope to end is expected to be of type '{0}' but it is of type '{0}'..
Looks up a localized string similar to The source expression '{0}' has invalid format..
Looks up a localized string similar to Can not find visitor type registered for type '{0}'..
Looks up a localized string similar to The key '{0}' in '{1}' of components MUST match the regular expression '{2}'..
Looks up a localized string similar to The extension name '{0}' in '{1}' object MUST begin with 'x-'..
Looks up a localized string similar to The field '{0}' in '{1}' object is REQUIRED..
Looks up a localized string similar to The path item name '{0}' MUST begin with a slash..
Looks up a localized string similar to The path signature '{0}' MUST be unique..
Looks up a localized string similar to The same rule cannot be in the same rule set twice..
Looks up a localized string similar to Schema {0} must contain property specified in the discriminator {1} in the required field list..
Looks up a localized string similar to The string '{0}' MUST be in the format of an email address..
Looks up a localized string similar to OpenAPI document must be added to an OpenApiWorkspace to be able to resolve external references..
Looks up a localized string similar to The HostDocument is null..
Looks up a localized string similar to The identifier in the referenced element is null or empty ..
Object containing all diagnostic information related to Open API parsing.
List of all errors.
List of all warnings
Open API specification version of the document parsed.
Append another set of diagnostic Errors and Warnings to this one, this may be appended from another external
document's parsing and we want to indicate which file it originated from.
The diagnostic instance of which the errors and warnings are to be appended to this diagnostic's
The originating file of the diagnostic to be appended, this is prefixed to each error and warning to indicate the originating file
Extension class for IList to add the Method "AddRange" used above
Extension method for IList so that another list can be added to the current list.
A reader class for parsing JSON files into Open API documents.
Reads the memory stream input and parses it into an Open API document.
Memory stream containing OpenAPI description to parse.
Location of where the document that is getting loaded is saved
The Reader settings to be used during parsing.
Parses the JsonNode input into an Open API document.
The JsonNode input.
Location of where the document that is getting loaded is saved
The Reader settings to be used during parsing.
Reads the stream input asynchronously and parses it into an Open API document.
Memory stream containing OpenAPI description to parse.
Location of where the document that is getting loaded is saved
The Reader settings to be used during parsing.
Propagates notifications that operations should be cancelled.
A factory class for loading OpenAPI models from various sources.
Loads the input stream and parses it into an Open API document.
The input stream.
The OpenApi reader settings.
The OpenAPI format.
An OpenAPI document instance.
Reads the stream input and parses the fragment of an OpenAPI description into an Open API Element.
Stream containing OpenAPI description to parse.
Version of the OpenAPI specification that the fragment conforms to.
The OpenApiDocument object to which the fragment belongs, used to lookup references.
Returns diagnostic object containing errors detected during parsing.
The OpenApiReader settings.
Instance of newly created IOpenApiElement.
The OpenAPI element.
Loads the input URL and parses it into an Open API document.
The path to the OpenAPI file
The OpenApi reader settings.
The cancellation token
Reads the stream input and parses the fragment of an OpenAPI description into an Open API Element.
The path to the OpenAPI file
Version of the OpenAPI specification that the fragment conforms to.
The OpenApiReader settings.
The OpenApiDocument object to which the fragment belongs, used to lookup references.
Instance of newly created IOpenApiElement.
The OpenAPI element.
Loads the input stream and parses it into an Open API document. If the stream is not buffered and it contains yaml, it will be buffered before parsing.
The input stream.
The OpenApi reader settings.
Propagates notification that operations should be cancelled.
The Open API format
Reads the stream input and ensures it is buffered before passing it to the Load method.
The document used to lookup tag or schema references.
Reads the input string and parses it into an Open API document.
The input string.
The Open API format
The OpenApi reader settings.
An OpenAPI document instance.
Reads the input string and parses it into an Open API document.
The input string.
The OpenApiDocument object to which the fragment belongs, used to lookup references.
The diagnostic entity containing information from the reading process.
The Open API format
The OpenApi reader settings.
An OpenAPI document instance.
Configuration settings to control how OpenAPI documents are parsed
HttpClient to use for making requests and retrieve documents
Adds a reader for the specified format
Gets the reader for the specified format
Format to fetch the reader for
The retrieved reader
When no reader is registered for that format
Adds a reader for the specified format.
This method is a no-op if the reader already exists.
This method is equivalent to TryAdd, is provided for compatibility reasons and TryAdd should be used instead when available.
Format to add a reader for
Reader to add
True if the reader was added, false if it already existed
Readers to use to parse the OpenAPI document
When external references are found, load them into a shared workspace
Dictionary of parsers for converting extensions into strongly typed classes
Rules to use for validating OpenAPI specification. If none are provided a default set of rules are applied.
URL where relative references should be resolved from if the description does not contain Server definitions
Allows clients to define a custom DefaultContentType if produces array is empty
Function used to provide an alternative loader for accessing external references.
Default loader will attempt to dereference http(s) urls and file urls.
Whether to leave the object open after reading
from an OpenApiStreamReader object.
Adds parsers for Microsoft OpenAPI extensions:
-
-
-
-
-
-
NOTE: The list of extensions is subject to change.
Generates custom extension methods for the version string type
Extension method for Spec version 2.0
Extension method for Spec version 3.0
Extension method for Spec version 3.1
Constructor.
Function to retrieve the value of the property.
Function to set the value of the property.
Function to get the schema to apply to the property.
Constructor
Function to retrieve the value of the property.
Function to set the value of the property.
Function to get the schema to apply to the property.
Constructor
Function to retrieve the property that is a map from string to an inner element.
Function to retrieve the value of the property from an inner element.
Function to set the value of the property.
Function to get the schema to apply to the property.
Extensions for JSON pointers.
Finds the JSON node that corresponds to this JSON pointer based on the base Json node.
Create a
The created Any object.
Abstraction of a Map to isolate semantic parsing from details of JSON DOM
Create an
The created Json object.
Defines the source generated JSON serialization contract metadata for a given type.
The default associated with a default instance.
The source-generated options associated with this context.
Wrapper class around JsonDocument to isolate semantic parsing from details of Json DOM.
Create a
The created Any object.
The Parsing Context holds temporary state needed whilst parsing an OpenAPI Document
Extension parsers
The base url for the document
Default content type for a response object
Diagnostic object that returns metadata about the parsing process.
Create Parsing Context
Provide instance for diagnostic object for collecting and accessing information about the parsing.
Initiates the parsing process. Not thread safe and should only be called once on a parsing context
Set of Json nodes to parse.
Location of where the document that is getting loaded is saved
An OpenApiDocument populated based on the passed yamlDocument
Initiates the parsing process of a fragment. Not thread safe and should only be called once on a parsing context
OpenAPI version of the fragment
The OpenApiDocument object to which the fragment belongs, used to lookup references.
An OpenApiDocument populated based on the passed yamlDocument
Gets the version of the Open API document.
Service providing all Version specific conversion functions
End the current object.
Get the current location as string representing JSON pointer.
Gets the value from the temporary storage matching the given key.
Sets the temporary storage for this key and value.
Starts an object with the given object name.
Container object used for returning the result of reading an OpenAPI description.
The parsed OpenApiDocument. Null will be returned if the document could not be parsed.
OpenApiDiagnostic contains the Errors reported while parsing
Deconstructs the result for easier assignment on the client application.
Implementation of IInputLoader that loads streams from URIs
The default stream loader
The HttpClient to use to retrieve documents when needed
Builds a list of all remote references used in an OpenApi document
List of all external references collected from OpenApiDocument
Collect external references
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V2 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
The version specific implementations for OpenAPI V2.0.
Create Parsing Context
Provide instance for diagnostic object for collecting and accessing information about the parsing.
Strings to be used as keys for the temporary storage.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
Class containing logic to deserialize Open API V31 document into
runtime Open API object model.
The version service for the Open API V3.1.
Create Parsing Context
Provide instance for diagnotic object for collecting and accessing information about the parsing.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
Class containing logic to deserialize Open API V3 document into
runtime Open API object model.
The version service for the Open API V3.0.
Create Parsing Context
Provide instance for diagnostic object for collecting and accessing information about the parsing.
Maintain history of traversals to avoid stack overflows from cycles
Identifier used for current context.
If method returns false a loop was detected and the key is not added.
Exit from the context in cycle detection
List of Loops detected
Reset loop tracking stack
A service that slices an OpenApiDocument into a subset document
Create predicate function based on passed query parameters
Comma delimited list of operationIds or * for all operations.
Comma delimited list of tags or a single regex.
A dictionary of requests from a postman collection.
The input OpenAPI document.
A predicate.
Create partial OpenAPI document based on the provided predicate.
The target .
A predicate function.
A partial OpenAPI document.
Creates an from a collection of .
Dictionary of labels and their corresponding objects.
The created .
The reference that caused the error.
Initializes the class using the message and pointer from the given exception.
A directory structure representing the paths of an OpenAPI document.
All the subdirectories of a node.
The relative directory path of the current node from the root node.
Dictionary of labels and Path Item objects that describe the operations available on a node.
A dictionary of key value pairs that contain information about a node.
Flag indicating whether a node segment is a path parameter.
The subdirectory of a relative path.
Flag indicating whether the node's PathItems dictionary has operations
under a given label.
The name of the key for the target operations
in the node's PathItems dictionary.
true or false.
Constructor.
The subdirectory of a relative path.
Creates an empty structured directory of node.
The root node of the created directory structure.
Creates a structured directory of nodes from the paths of an OpenAPI document.
The OpenAPI document.
Name tag for labelling the nodes in the directory structure.
The root node of the created directory structure.
Retrieves the paths from an OpenAPI document and appends the items to an node.
The OpenAPI document.
Name tag for labelling related nodes in the directory structure.
Appends a path and the PathItem to an node.
An OpenAPI path.
Path Item object that describes the operations available on an OpenAPI path.
A name tag for labelling the node.
An node describing an OpenAPI path.
Assembles the constituent properties of an node.
IEnumerable subdirectories of a relative path.
Path Item object that describes the operations available on an OpenAPI path.
A name tag for labelling the node.
The relative path of a node.
An node with all constituent properties assembled.
Adds additional data information to the AdditionalData property of the node.
A dictionary of key value pairs that contain information about a node.
Write tree as Mermaid syntax
StreamWriter to write the Mermaid content to
Dictionary that maps a set of HTTP methods to HTML color. Keys are sorted, upper-cased, concatenated HTTP methods.
Defines the color and shape of a node in a Mermaid graph diagram
Create a style that defines the color and shape of a diagram element
The CSS color name of the diagram element
The shape of the diagram element
Shapes supported by Mermaid diagrams
Rectangle with square corners
Rectangle with rounded corners
Circle
Rhombus
Odd shape
Open API visitor base provides common logic for concrete visitors
Properties available to identify context of where an object is within OpenAPI Document
Allow Rule to indicate validation error occured at a deeper context level.
Identifier for context
Exit from path context level. Enter and Exit calls should be matched.
Pointer to source of validation error in document
Visits
Visits
Visits
Visits
Visits
Visits list of
Visits
Visits
Visits Webhooks>
Visits
Visits
Visits the operations.
Visits
Visits list of
Visits
Visits
Visits headers.
Visits callbacks.
Visits
Visits
Visits media type content.
Visits
Visits
Visits the examples.
Visits
Visits
Visits
Visits the links.
Visits
Visits
Visits
Visits
Visits
Visits
Visits
Visits
Visits
Visits list of
Visits list of
Visits list of
Visits
Visits
Visits list of
Visits a dictionary of server variables
Visits a dictionary of encodings
Visits IOpenApiReferenceable instances that are references and not in components
Referencing object
The walker to visit multiple Open API elements.
Initializes the class.
Visits list of and child objects
OpenApiDocument to be walked
Visits list of and child objects
Visits list of and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Visits Webhooks and child objects
Visits list of and child objects
Visits and child objects
Visits dictionary of extensions
Visits
Visits and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Visits dictionary of
Visits and child objects
Visits and child objects
Visits dictionary of
Visits and child objects
Visits list of
Visits list of
Visits and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Visits dictionary of
Visits dictionary of
Visits dictionary of
Visits and child objects
Visits dictionary of
Visits and child objects
Visits and child objects
Visits dictionary of
Visits and child objects
Visits and child objects
Visits the list of and child objects
Visits a list of and child objects
Visits and child objects
Visits and child objects
Visits dictionary of and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Visits and child objects
Dispatcher method that enables using a single method to walk the model
starting from any
Adds a segment to the context path to enable pointing to the current location in the document
An identifier for the context.
An action that walks objects within the context.
Identify if an element is just a reference to a component, or an actual component
Object containing contextual information based on where the walker is currently referencing in an OpenApiDocument
Current Path key
Current Operation Type
Current Response Status Code
Current Content Media Type
Current Callback Key
Current Link Key
Current Header Key
Current Encoding Key
Current Example Key
Current Extension Key
Current ServerVariable
Contains a set of OpenApi documents and document fragments that reference each other
The base location from where all relative references are resolved
Initialize workspace pointing to a base URL to allow resolving relative document locations. Use a file:// url to point to a folder
Initialize workspace using current directory as the default location.
Initializes a copy of an object
Returns the total count of all the components in the workspace registry
Registers a document's components into the workspace
Registers a component for a document in the workspace
The document to register the component for.
The component to register.
The id of the component.
The type of the component to register.
true if the component is successfully registered; otherwise false.
openApiDocument is null
componentToRegister is null
id is null or empty
Registers a component in the component registry.
true if the component is successfully registered; otherwise false.
Adds a document id to the dictionaries of document locations and their ids.
Retrieves the document id given a key.
The document id of the given key.
Verify if workspace contains a component based on its URL.
A relative or absolute URL of the file. Use file:// for folder locations.
Returns true if a matching document is found.
Resolves a reference given a key.
The resolved reference.
Recursively resolves a schema from a URI fragment.
The parent schema to resolve against.
Visits OpenApi operations and parameters.
A list of operations from the operation search.
The OperationSearch constructor.
A predicate function.
Visits list of .
The target list of .
This class is used to walk an OpenApiDocument and sets the host document of IOpenApiReferenceable objects
Defines a search result model for visited operations.
An object containing contextual information based on where the walker is currently referencing in an OpenApiDocument.
An Operation object.
Parameters object
Utilities methods
Check whether the input argument value is null or not.
The input value type.
The input value.
The input parameter name.
The input value.
Check whether the input string value is null or empty.
The input string value.
The input parameter name.
The input value.
Constrained interface used to provide context to rule implementation
Register an error with the validation context.
Error to register.
Register a warning with the validation context.
Warning to register.
Allow Rule to indicate validation error occured at a deeper context level.
Identifier for context
Exit from path context level. Enter and Exit calls should be matched.
Pointer to source of validation error in document
Warnings detected when validating an OpenAPI Element
Initializes the class.
Name of rule that detected the error.
Class containing dispatchers to execute validation rules on for Open API document.
Create a visitor that will validate an OpenAPIDocument
Gets the validation errors.
Gets the validation warnings.
Register an error with the validation context.
Error to register.
Register an error with the validation context.
Error to register.
This overload allows applying rules based on actual object type, rather than matched interface. This is
needed for validating extensions.
Errors detected when validating an OpenAPI Element
Initializes the class.
Name of rule that detected the error.
The validation rules for .
The key regex.
All the fixed fields declared above are objects
that MUST use keys that match the regular expression: ^[a-zA-Z0-9\.\-_]+$.
The validation rules for .
Email field MUST be email address.
The validation rules for .
The Info field is required.
The validation rules for .
Extension name MUST start with "x-".
The validation rules for .
Validate the field is required.
The validation rules for .
Validate the field is required.
The validation rules for .
REQUIRED.
Defines a non-default set of rules for validating examples in header, media type and parameter objects against the schema
Validate the data matches with the given data type.
Validate the data matches with the given data type.
Validate the data matches with the given data type.
Validate the data matches with the given data type.
The validation rules for .
Validate the field is required.
The validation rules for .
Validate the field is required.
Validate the "required" field is true when "in" is path.
Validate that a path parameter should always appear in the path
The validation rules for .
A relative path to an individual endpoint. The field name MUST begin with a slash.
A relative path to an individual endpoint. The field name MUST begin with a slash.
Replaces placeholders in the path with {}, e.g. /pets/{petId} becomes /pets/{} .
The input path
The path signature
The validation rules for .
Validate the field is required.
The validation rules for .
Pattern:
^[1-5](?>[0-9]{2}|[xX]{2})$
Explanation:
○ Match if at the beginning of the string.
○ Match a character in the set [1-5].
○ Match with 2 alternative expressions, atomically.
○ Match a character in the set [0-9] exactly 2 times.
○ Match a character in the set [Xx] exactly 2 times.
○ Match if at the end of the string or if before an ending newline.
An OpenAPI operation must contain at least one response
The response key must either be "default" or an HTTP status code (1xx, 2xx, 3xx, 4xx, 5xx).
The Validator attribute.
The validation rules for .
Validates Schema Discriminator
Validates the property name in the discriminator against the ones present in the children schema
The parent schema.
Adds support for polymorphism. The discriminator is an object name that is used to differentiate
between other schemas which may satisfy the payload description.
Traverses the schema elements and checks whether the schema contains the discriminator.
Adds support for polymorphism. The discriminator is an object name that is used to differentiate
between other schemas which may satisfy the payload description.
The child schema.
The validation rules for .
Validate the field is required.
Validate required fields in server variable
The validation rules for .
Validate the field is required.
Input string must be in the format of an email address
The input string.
True if it's an email address. Otherwise False.
Helper methods to simplify creating validation rules
Helper method to simplify validation rules
Helper method to simplify validation rules
Class containing validation rule logic.
Element Type.
Validation rule Name.
Validate the object.
The context.
The object item.
Class containing validation rule logic for .
Initializes a new instance of the class.
Validation rule name.
Action to perform the validation.
The rule set of the validation.
Gets the rules in this rule set.
Gets the number of elements contained in this rule set.
Initializes a new instance of the class.
Retrieve the rules that are related to a specific type
The type that is to be validated
Either the rules related to the type, or an empty list.
Gets the default validation rule sets.
This is a method instead of a property to signal that a new default rule-set object is created
per call. Making this a property may be misleading callers to think the returned rule-sets from multiple calls
are the same objects.
Return with no rules
Add validation rules to the rule set.
The rule set to add validation rules to.
The validation rules to be added to the rules set.
Throws a null argument exception if the arguments are null.
Initializes a new instance of the class.
Rule set to be copied from.
Initializes a new instance of the class.
Rules to be contained in this ruleset.
Add the new rule into the rule set.
The key for the rule.
The list of rules.
Add a new rule into the rule set.
The key for the rule.
The rule.
Exception thrown when rule already exists.
Updates an existing rule with a new one.
The key of the existing rule.
The new rule.
The old rule.
true, if the update was successful; otherwise false.
Removes a collection of rules.
The key of the collection of rules to be removed.
true if the collection of rules with the provided key is removed; otherwise, false.
Remove a rule by its name from all types it is used by.
Name of the rule.
Removes a rule by key.
The key of the rule to be removed.
The rule to be removed.
true if the rule is successfully removed; otherwise, false.
Removes the first rule that matches the provided rule from the list of rules.
The rule to be removed.
true if the rule is successfully removed; otherwise, false.
Clears all rules in this rule set.
Determines whether the rule set contains an element with the specified key.
The key to locate in the rule set.
true if the rule set contains an element with the key; otherwise, false.
Determines whether the provided rule is contained in the specified key in the rule set.
The key to locate.
The rule to locate.
Gets the rules associated with the specified key.
The key whose rules to get.
When this method returns, the rules associated with the specified key, if the
key is found; otherwise, an empty object.
This parameter is passed uninitialized.
true if the specified key has rules.
Get the enumerator.
The enumerator.
A custom which supports setting a .
Initializes a new instance of the class.
The associated with this .
Interface for writing Open API documentation.
Write the start object.
Write the end object.
Write the start array.
Write the end array.
Write the property name.
Write the string value.
Write the decimal value.
Write the int value.
Write the boolean value.
Write the null value.
Write the raw content value.
Write the object value.
Flush the writer.
The cancellation token.
JSON Writer.
Initializes a new instance of the class.
The text writer.
Initializes a new instance of the class.
The text writer.
Settings for controlling how the OpenAPI document will be written out.
Initializes a new instance of the class.
The text writer.
Settings for controlling how the OpenAPI document will be written out.
Setting for allowing the JSON emitted to be in terse format.
Indicates whether or not the produced document will be written in a compact or pretty fashion.
Base Indentation Level.
This denotes how many indentations are needed for the property in the base object.
Write JSON start object.
Write JSON end object.
Write JSON start array.
Write JSON end array.
Write property name.
The property name.
public override void WritePropertyName(string name)
Write string value.
The string value.
Write null value.
Writes a separator of a value if it's needed for the next value to be written.
Writes the content raw value.
Write the indentation.
Writes a line terminator to the text string or stream.
Configuration settings to control how OpenAPI Json documents are written
Initializes a new instance of the class.
Indicates whether or not the produced document will be written in a compact or pretty fashion.
Extensions methods for writing the
Write the specification extensions
The Open API writer.
The specification extensions.
Version of the OpenAPI specification that that will be output.
Write the value.
The Open API writer.
The JsonNode value
Base class for Open API writer.
Settings for controlling how the OpenAPI document will be written out.
The indentation string to prepend to each line for each indentation level.
Scope of the Open API element - object, array, property.
Number which specifies the level of indentation.
Initializes a new instance of the class.
The text writer.
Initializes a new instance of the class.
Base Indentation Level.
This denotes how many indentations are needed for the property in the base object.
The text writer.
Write start object.
Write end object.
Write start array.
Write end array.
Write the start property.
Writes a separator of a value if it's needed for the next value to be written.
Write null value.
Write content raw value.
Write string value.
The string value.
Write float value.
The float value.
Write double value.
The double value.
Write decimal value.
The decimal value.
Write integer value.
The integer value.
Write long value.
The long value.
Write DateTime value.
The DateTime value.
Write DateTimeOffset value.
The DateTimeOffset value.
Write boolean value.
The boolean value.
Writes an enumerable collection as an array
The enumerable collection to write.
The type of elements in the collection.
Write object value.
The object value.
Increases the level of indentation applied to the output.
Decreases the level of indentation applied to the output.
Write the indentation.
Get current scope.
Start the scope given the scope type.
The scope type to start.
End the scope of the given scope type.
Whether the current scope is the top level (outermost) scope.
Whether the current scope is an object scope.
Whether the current scope is an array scope.
Verifies whether a property name can be written based on whether
the property name is a valid string and whether the current scope is an object scope.
property name
Extension methods for writing Open API documentation.
Write a string property.
The writer.
The property name.
The property value.
Write required string property.
The writer.
The property name.
The property value.
Write a boolean property.
The writer.
The property name.
The property value.
The default boolean value.
Write a boolean property.
The writer.
The property name.
The property value.
The default boolean value.
Write a primitive property.
The writer.
The property name.
The property value.
Write a string/number property.
The writer.
The property name.
The property value.
Write the optional Open API object/element.
The Open API element type.
The Open API writer.
The property name.
The property value.
The property value writer action.
Write the required Open API object/element.
The Open API element type.
The Open API writer.
The property name.
The property value.
The property value writer action.
Write the optional of collection string.
The Open API writer.
The property name.
The collection values.
The collection string writer action.
Write the optional Open API object/element collection.
The Open API element type.
The Open API writer.
The property name.
The collection values.
The collection element writer action.
Write the optional or empty Open API object/element collection.
The Open API element type.
The Open API writer.
The property name.
The collection values.
The collection element writer action.
Write the required Open API object/element collection.
The Open API element type.
The Open API writer.
The property name.
The collection values.
The collection element writer action.
Write the required Open API element map (string to string mapping).
The Open API writer.
The property name.
The map values.
The map element writer action.
Write the optional Open API element map (string to string mapping).
The Open API writer.
The property name.
The map values.
The map element writer action.
Write the optional Open API element map (string to string mapping).
The Open API writer.
The property name.
The map values.
The map element writer action.
Write the optional Open API element map (string to string mapping).
The Open API writer.
The property name.
The map values.
The map element writer action.
Write the optional Open API element map (string to array mapping).
The Open API writer.
The property name.
The map values.
The map element writer action.
Write the optional Open API element map.
The Open API element type.
The Open API writer.
The property name.
The map values.
The map element writer action with writer and value as input.
Write the optional Open API element map.
The Open API element type.
The Open API writer.
The property name.
The map values.
The map element writer action with writer, key, and value as input.
Write the required Open API element map.
The Open API element type.
The Open API writer.
The property name.
The map values.
The map element writer action.
Configuration settings to control how OpenAPI documents are written
Indicates if local references should be rendered as an inline object
Indicates if external references should be rendered as an inline object
YAML writer.
Initializes a new instance of the class.
The text writer.
Initializes a new instance of the class.
The text writer.
Allow rendering of multi-line strings using YAML | syntax
Base Indentation Level.
This denotes how many indentations are needed for the property in the base object.
Write YAML start object.
Write YAML end object.
Write YAML start array.
Write YAML end array.
Write the property name and the delimiter.
Write string value.
The string value.
Write null value.
Write value separator.
Writes the content raw value.
Various scope types for Open API writer.
Object scope.
Array scope.
Class representing scope information.
The type of the scope.
Constructor.
The type of the scope.
Get/Set the object count for this scope.
Gets the scope type for this scope.
Get/Set the whether it is in previous array scope.
Extensions class for strings to handle special characters.
Escapes all special characters and put the string in quotes if necessary to
get a YAML-compatible string.
Handles control characters and backslashes and adds double quotes
to get JSON-compatible string.
Constants for the writer.
JSON datetime format.
JSON datetime offset format.
A plus sign for the date time offset format.
The true value literal.
The false value literal.
The null value literal.
Character which starts the object scope.
Character which ends the object scope.
Character which starts the array scope.
Character which ends the array scope.
"(" Json Padding Function scope open parens.
")" Json Padding Function scope close parens.
The separator between object members.
The separator between array elements.
The separator between the name and the value.
The white space postfixing
when producing pretty content.
The white space for empty object
The white space for empty array
The prefix of array item
The white space for indent
Empty object
To indicate empty object in YAML.
Empty array
To indicate empty array in YAML.
Custom -derived type for the StatusCodeRegex method.
Cached, thread-safe singleton instance.
Initializes the instance.
Provides a factory for creating instances to be used by methods on .
Creates an instance of a used by methods on .
Provides the runner that contains the custom logic implementing the specified regular expression.
Scan the starting from base.runtextstart for the next match.
The text being scanned by the regular expression.
Search starting from base.runtextpos for the next location a match could possibly start.
The text being scanned by the regular expression.
true if a possible match was found; false if no more matches are possible.
Determine whether at base.runtextpos is a match for the regular expression.
The text being scanned by the regular expression.
true if the regular expression matches at the current position; otherwise, false.