Microsoft.OpenApi Type of an Primitive. Null. Array. Object. Base interface for all the types that represent Open API Any. Type of an . Primitive type. Integer Long Float Double String Byte Binary Boolean Date DateTime Password Base interface for the Primitive type. Primitive type. Open API array. The type of Write out contents of OpenApiArray to passed writer Instance of JSON or YAML writer. Version of the OpenAPI specification that that will be output. Open API binary. Initializes the class. Primitive type this object represents. Open API boolean. Initializes the class. Primitive type this object represents. Open API Byte Initializes the class. Initializes the class. Primitive type this object represents. Open API Date Initializes the class. Primitive type this object represents. Open API Datetime Initializes the class. Primitive type this object represents. Open API Double Initializes the class. Primitive type this object represents. Open API Float Initializes the class. Primitive type this object represents. Open API Integer Initializes the class. Primitive type this object represents. Open API long. Initializes the class. Primitive type this object represents. Open API null. The type of Write out null representation Version of the OpenAPI specification that that will be output. Open API object. Type of . Serialize OpenApiObject to writer Version of the OpenAPI specification that that will be output. Open API password. Initializes the class. The primitive type this object represents. Open API primitive class. Initializes the class with the given value. The kind of . The primitive class this object represents. Value of this Write out content of primitive element Open API string type. Initializes the class. Initializes the class. Used to indicate if a string is quoted. The primitive class this object represents. True if string was specified explicitly by the means of double quotes, single quotes, or literal or folded style. Represents the Open Api Data type metadata attribute. Initializes a new instance of the class. The display name. The display Name. Utility class for creating and unwrapping instances. Formats the specified resource string using . A composite format string. An object array that contains zero or more objects to format. The formatted string. Creates an with the provided properties. A composite format string explaining the reason for the exception. An object array that contains zero or more objects to format. The logged . Creates an with the provided properties. The name of the parameter that caused the current exception. A composite format string explaining the reason for the exception. An object array that contains zero or more objects to format. The logged . Creates an with the provided properties. The name of the parameter that caused the current exception. The logged . Creates an with the provided properties. The name of the parameter that caused the current exception. A composite format string explaining the reason for the exception. An object array that contains zero or more objects to format. The logged . Creates an with a default message. The name of the parameter that caused the current exception. The logged . Creates an . A composite format string explaining the reason for the exception. An object array that contains zero or more objects to format. The logged . 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. 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. Equals implementation for object of the same type. 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 exists. Otherwise, use the standard string representation. 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 validatity 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 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. 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. 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). 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 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 Serializes the to the Open API document as a string in JSON format. the The Open API element. The Open API specification version. Serializes the to the Open API document as a string in YAML format. the The Open API element. The Open API specification version. 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. String extension methods. Gets the enum value based on the given enum type and display name. The display name. Temporary extension method until we add Settings property to IOpenApiWriter in next major version Represents an Open API element. Represents an Extensible Open API element. Specification extensions. Interface requuired for implementing any custom extension Write out contents of custom extension Version of the OpenAPI specification that that will be output. Represents an Open API element is referenceable. Indicates if object is populated with data or is just a reference to the data Reference object. Serialize to OpenAPI V3 document without using reference. Serialize to OpenAPI V2 document without using reference. Represents an Open API element that comes with serialzation functionality. Serialize Open API element to v3.0. The writer. Serialize Open API element to v2.0. The writer. 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. Callback Object: A map of possible out-of band callbacks related to the parent operation. A Path Item Object used to define a callback request and expected responses. Indicates if object is populated with data or is just a reference to the data Reference pointer. This object MAY be extended with Specification Extensions. Add a into the . The runtime expression. The path item. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0 Serialize to OpenAPI V2 document without using reference. 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. This object MAY be extended with Specification Extensions. Serialize to Open Api v3.0. Serialize to Open Api v2.0. Constants used in the Open API document. Field: OpenApi Field: Info Field: Title Field: Type Field: Format Field: Version Field: Contact Field: License Field: TermsOfService Field: Servers Field: Server Field: Paths Field: Components Field: Security Field: Tags Field: ExternalDocs Field: OperationRef Field: OperationId Field: Parameters Field: RequestBody Field: ExtensionFieldNamePrefix Field: Name 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: 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: version3_0_0 Field: defaultUrl Field: Host Field: Swagger Field: version2_0 Field: BasePath Field: Schemes Field: SecurityDefinitions Field: Definitions Field: Basic 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. 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. Serialize to Open Api v3.0 Serialize to Open Api v2.0 Describes an OpenAPI object (OpenAPI document). See: https://swagger.io/specification REQUIRED. Provides metadata about the API. The metadata MAY be used by tooling as required. An array of Server Objects, which provide connectivity information to a target server. REQUIRED. The available paths and operations for the API. 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. Serialize to the latest patch of OpenAPI object V3.0. Serialize to OpenAPI object V2.0. Load the referenced object from a object 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. 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. Message explaining the error. Pointer to the location of the error. Gets the string representation of . Example Object. Short description for the example. Long description for the example. CommonMark syntax MAY be used for rich text representation. 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. This object MAY be extended with Specification Extensions. Reference object. Indicates object is a placeholder reference to an actual object and does not contain valid data. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0 Serialize to OpenAPI V2 document without using reference. Generic dictionary type for Open API dictionary element. The Open API element, This object MAY be extended with Specification Extensions. 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. Serialize to Open Api v3.0. Serialize to Open Api v2.0. Header Object. The Header Object follows the structure of the Parameter Object. Indicates if object is populated with data or is just a reference to the data Reference pointer. A brief description of the header. 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 header. Example of the media type. Examples of the media type. A map containing the representations for the header. This object MAY be extended with Specification Extensions. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.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 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. Serialize to Open Api v3.0 Serialize to Open Api v2.0 License Object. REQUIRED. The license name used for the API. The URL pointing to the contact information. MUST be in the format of a URL. This object MAY be extended with Specification Extensions. Serialize to Open Api v3.0 Serialize to Open Api v2.0 Link Object. 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 description of the link. A server object to be used by the target operation. This object MAY be extended with Specification Extensions. Indicates if object is populated with data or is just a reference to the data Reference pointer. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0 Serialize to OpenAPI V2 document without using reference. 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. 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. 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. Serialize to Open Api v3.0 Serialize to Open Api v2.0 Operation Object. Default value for . 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. Serialize to Open Api v3.0. Serialize to Open Api v2.0. Parameter Object. Indicates if object is populated with data or is just a reference to the data Reference object. 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". A brief description of the parameter. This could contain examples of use. CommonMark syntax MAY be used for rich text representation. 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. This object MAY be extended with Specification Extensions. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0 Serialize to OpenAPI V2 document without using reference. 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. An optional, string summary, intended to apply to all operations in this path. An optional, string description, intended to apply to all operations in this path. 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. This object MAY be extended with Specification Extensions. Add one operation into this path item. The operation type kind. The operation item. Serialize to Open Api v3.0 Serialize to Open Api v2.0 Paths object. 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 the full reference string for v3.0. Gets the full reference string for V2.0 Serialize to Open Api v3.0. Serialize to Open Api v2.0. Request Body Object Indicates if object is populated with data or is just a reference to the data Reference object. A brief description of the request body. This could contain examples of use. CommonMark syntax MAY be used for rich text representation. 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/* This object MAY be extended with Specification Extensions. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0 Serialize to OpenAPI V2 document without using reference. Response object. REQUIRED. A short description of the response. 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. This object MAY be extended with Specification Extensions. Indicates if object is populated with data or is just a reference to the data Reference pointer. Serialize to Open Api v3.0. Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0. Serialize to OpenAPI V2 document without using reference. Responses object. Schema Object. Follow JSON Schema definition. Short text providing information about the data. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Value MUST be a string. Multiple types via an array are not supported. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 While relying on JSON Schema's defined formats, the OAS offers a few additional predefined formats. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 CommonMark syntax MAY be used for rich text representation. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 This string SHOULD be a valid regular expression, according to the ECMA 262 regular expression dialect Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 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://tools.ietf.org/html/draft-fge-json-schema-validation-00 Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 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://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Property definitions MUST be a Schema Object and not a standard JSON Schema (inline or referenced). Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Indicates if the schema can contain properties other than those defined by the properties map. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 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. Follow JSON Schema definition: https://tools.ietf.org/html/draft-fge-json-schema-validation-00 Allows sending a null value for the defined schema. Default value is false. 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 MAY be extended with Specification Extensions. Indicates object is a placeholder reference to an actual object and does not contain valid data. Reference object. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0 Serialize to OpenAPI V2 document without using reference. 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. Serialize to OpenAPI V2 document without using reference 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.0 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. REQUIRED. The type of the security scheme. Valid values are "apiKey", "http", "oauth2", "openIdConnect". A short description for security scheme. CommonMark syntax MAY be used for rich text representation. 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. Specification Extensions. Indicates if object is populated with data or is just a reference to the data Reference object. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0 Serialize to OpenAPI V2 document without using reference. 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. 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. This object MAY be extended with Specification Extensions. Serialize to Open Api v3.0 Serialize to Open Api v2.0 Tag Object. The name of the tag. A short description for the tag. Additional external documentation for this tag. This object MAY be extended with Specification Extensions. Indicates if object is populated with data or is just a reference to the data Reference. Serialize to Open Api v3.0 Serialize to OpenAPI V3 document without using reference. Serialize to Open Api v2.0 Serialize to OpenAPI V2 document without using reference. 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. Serialize to Open Api v3.0 Serialize to Open Api v2.0 Operation type. A definition of a GET operation on this path. A definition of a PUT operation on this path. A definition of a POST operation on this path. A definition of a DELETE operation on this path. A definition of a OPTIONS operation on this path. A definition of a HEAD operation on this path. A definition of a PATCH operation on this path. A definition of a TRACE operation on this path. 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. The reference type. Schema item. Responses item. Parameters item. Examples item. RequestBodies item. Headers item. SecuritySchemes item. Links item. Callbacks item. Tags item. The wrapper either for or 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 the Open Api document format. JSON format. Yaml format. 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) 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 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.. 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 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 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.. 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 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 elevel. Enter and Exit calls should be matched. Pointer to source of validation error in document Visits Visits Visits Visits Visits list of Visits Visits 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 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 referenced 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 and child objects Visits and child objects Visits 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 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 Constrained interface used to provide context to rule implementation Register an error with the validation context. Error to register. Allow Rule to indicate validation error occured at a deeper context level. Identifier for context Exit from path context elevel. Enter and Exit calls should be matched. Pointer to source of validation error in document Class containing dispatchers to execute validation rules on for Open API document. Create a vistor that will validate an OpenAPIDocument Gets the validation errors. Register an error with the validation context. Error to register. Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against an The object to be validated Execute validation rules against a list of The object to be validated 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 data matches with the given data type. The validation rules for . Validate the field is required. The validation rules for . REQUIRED. The validation rules for . 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 the data matches with the given data type. The validation rules for . A relative path to an individual endpoint. The field name MUST begin with a slash. The validation rules for . Validate the field is required. The validation rules for . 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 . Validate the data matches with the given data type. Validates Schema Discriminator The validation rules for . Validate the field is required. 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 Class containing validation rule logic. Element Type. Validate the object. The context. The object item. Class containing validation rule logic for . Initializes a new instance of the class. Action to perform the validation. The rule set of the validation. 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 ruleset object is created per call. Making this a property may be misleading callers to think the returned rulesets from multiple calls are the same objects. Return Ruleset with no rules Initializes a new instance of the class. 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. Gets the rules in this rule set. Add the new rule into the rule set. The rule. Get the enumerator. The enumerator. 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. 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. 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. 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 Any type. The Open API writer. The Any value Base class for Open API writer. Settings for controlling how the OpenAPI document will be written out. The indentation string to prepand 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. Flush the writer. 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. 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 proprety 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 proprety 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 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 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 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. 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. Indicates if and when the reader should convert references into complete object renderings Create placeholder objects with an OpenApiReference instance and UnresolvedReference set to true. Convert local references to references of valid domain objects. Convert all references to references of valid domain objects. Configuration settings to control how OpenAPI documents are written Indicates how references in the source document should be handled. YAML writer. Initializes a new instance of the class. The text writer. Initializes a new instance of the class. The text writer. 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 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.