Share via


Microsoft.OpenApi Namespace

Classes

Name Description
BaseOpenApiReference

A simple object to allow referencing other components in the specification, internally and externally.

BaseOpenApiReferenceHolder<T,U,V>

Base class for OpenApiReferenceHolder.

BodyExpression

Body expression.

CompositeExpression

String literal with embedded expressions

CurrentKeys

Object containing contextual information based on where the walker is currently referencing in an OpenApiDocument

DisplayAttribute

Represents the Open Api Data type metadata attribute.

EnumExtensions

Enumeration type extension methods.

FormattingStreamWriter

A custom StreamWriter which supports setting a IFormatProvider.

HeaderExpression

Header expression, The token identifier in header is case-insensitive.

JsonNodeExtension

A wrapper class for JsonNode

JsonNullSentinel

A sentinel value representing JSON null. This can only be used for OpenAPI properties of type JsonNode

JsonPointer

JSON pointer.

JsonSchemaReference

Schema reference information that includes metadata annotations from JSON Schema 2020-12. This class extends OpenApiReference to provide schema-specific metadata override capabilities.

MethodExpression

Method expression.

OpenApiCallback

Callback Object: A map of possible out-of band callbacks related to the parent operation.

OpenApiCallbackReference

Callback Object Reference: A reference to a map of possible out-of band callbacks related to the parent operation.

OpenApiComponents

Components Object.

OpenApiComponentsRules

The validation rules for OpenApiComponents.

OpenApiConstants

Constants used in the Open API document.

OpenApiContact

Contact Object.

OpenApiContactRules

The validation rules for OpenApiContact.

OpenApiDiscriminator

Discriminator object.

OpenApiDocument

Describes an OpenAPI object (OpenAPI document). See: https://spec.openapis.org

OpenApiDocumentRules

The validation rules for OpenApiDocument.

OpenApiElementExtensions

Extension methods that apply across all OpenAPIElements

OpenApiEncoding

ExternalDocs object.

OpenApiError

Error related to the Open API Document.

OpenApiExample

Example Object.

OpenApiExampleReference

Example Object Reference.

OpenApiException

Exception type representing exceptions in the Open API library.

OpenApiExtensibleDictionary<T>

Generic dictionary type for Open API dictionary element.

OpenApiExtensibleExtensions

Extension methods to verify validity and add an extension to Extensions property.

OpenApiExtensibleRules

The validation rules for IOpenApiExtensible.

OpenApiExternalDocs

ExternalDocs object.

OpenApiExternalDocsRules

The validation rules for OpenApiExternalDocs.

OpenApiFilterService

A service that slices an OpenApiDocument into a subset document

OpenApiHeader

Header Object. The Header Object follows the structure of the Parameter Object.

OpenApiHeaderReference

Header Object Reference.

OpenApiInfo

Open API Info Object, it provides the metadata about the Open API.

OpenApiInfoRules

The validation rules for OpenApiInfo.

OpenApiJsonWriter

JSON Writer.

OpenApiJsonWriterSettings

Configuration settings to control how OpenAPI Json documents are written

OpenApiLicense

License Object.

OpenApiLicenseRules

The validation rules for OpenApiLicense.

OpenApiLink

Link Object.

OpenApiLinkReference

Link Object Reference.

OpenApiMediaType

Media Type Object.

OpenApiMediaTypeReference

Media Type Object Reference.

OpenApiNonDefaultRules

Defines a non-default set of rules for validating examples in header, media type and parameter objects against the schema

OpenApiOAuthFlow

OAuth Flow Object.

OpenApiOAuthFlowRules

The validation rules for OpenApiOAuthFlow.

OpenApiOAuthFlows

OAuth Flows Object.

OpenApiOperation

Operation Object.

OpenApiParameter

Parameter Object.

OpenApiParameterReference

Parameter Object Reference.

OpenApiParameterRules

The validation rules for OpenApiParameter.

OpenApiPathItem

Path Item Object: to describe the operations available on a single path.

OpenApiPathItemReference

Path Item Object Reference: to describe the operations available on a single path.

OpenApiPaths

Paths object.

OpenApiPathsRules

The validation rules for OpenApiPaths.

OpenApiReaderException

Defines an exception indicating OpenAPI Reader encountered an issue while reading.

OpenApiRecommendedRules

Additional recommended validation rules for OpenAPI.

OpenApiReferenceError
OpenApiReferenceWithDescription

OpenApiReferenceWithSummary is a reference to an OpenAPI component that includes a description.

OpenApiReferenceWithDescriptionAndSummary

OpenApiReferenceWithSummary is a reference to an OpenAPI component that includes a summary.

OpenApiRequestBody

Request Body Object

OpenApiRequestBodyReference

Request Body Object Reference.

OpenApiResponse

Response object.

OpenApiResponseReference

Response Object Reference.

OpenApiResponseRules

The validation rules for OpenApiResponse.

OpenApiResponses

Responses object.

OpenApiResponsesRules

The validation rules for OpenApiResponses.

OpenApiRuleAttribute

The Validator attribute.

OpenApiSchema

The Schema Object allows the definition of input and output data types.

OpenApiSchemaReference

Schema reference object

OpenApiSchemaRules

The validation rules for OpenApiSchema.

OpenApiSecurityRequirement

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.

OpenApiSecurityScheme

Security Scheme Object.

OpenApiSecuritySchemeReference

Security Scheme Object Reference.

OpenApiSerializableExtensions

Extension methods for IOpenApiSerializable serialization.

OpenApiServer

Server Object: an object representing a Server.

OpenApiServerExtensions

Extension methods for OpenApiServer serialization.

OpenApiServerRules

The validation rules for OpenApiServer.

OpenApiServerVariable

Server Variable Object.

OpenApiTag

Tag Object.

OpenApiTagReference

Tag Object Reference

OpenApiTagRules

The validation rules for OpenApiTag.

OpenApiTypeMapper

Extension methods for Type.

OpenApiUnsupportedSpecVersionException

Defines an exception indicating OpenAPI Reader encountered an unsupported specification version while reading.

OpenApiUrlTreeNode

A directory structure representing the paths of an OpenAPI document.

OpenApiValidator

Class containing dispatchers to execute validation rules on for Open API document.

OpenApiValidatorError

Errors detected when validating an OpenAPI Element

OpenApiValidatorWarning

Warnings detected when validating an OpenAPI Element

OpenApiVisitorBase

Open API visitor base provides common logic for concrete visitors

OpenApiWalker

The walker to visit multiple Open API elements.

OpenApiWorkspace

Contains a set of OpenApi documents and document fragments that reference each other

OpenApiWriterAnyExtensions

Extensions methods for writing the JsonNodeExtension

OpenApiWriterBase

Base class for Open API writer.

OpenApiWriterException

Exception type representing exceptions in the OpenAPI writer.

OpenApiWriterExtensions

Extension methods for writing Open API documentation.

OpenApiWriterSettings

Configuration settings to control how OpenAPI documents are written

OpenApiXml

XML Object.

OpenApiYamlWriter

YAML writer.

OperationSearch

Visits OpenApi operations and parameters.

PathExpression

Path expression, the name in path is case-sensitive.

QueryExpression

Query expression, the name in query is case-sensitive.

RequestExpression

$request. expression.

ResponseExpression

$response. expression.

RuntimeExpression

Base class for the Open API runtime expression.

RuntimeExpressionAnyWrapper

The wrapper either for JsonNode or RuntimeExpression

Scope

Class representing scope information.

SearchResult

Defines a search result model for visited operations.

SourceExpression

Source expression.

SpecialCharacterStringExtensions

Extensions class for strings to handle special characters.

StatusCodeExpression

StatusCode expression.

UrlExpression

Url expression.

ValidationContextExtensions

Helper methods to simplify creating validation rules

ValidationRule

Class containing validation rule logic.

ValidationRule<T>

Class containing validation rule logic for IOpenApiElement.

ValidationRuleSet

The rule set of the validation.

Interfaces

Name Description
IMetadataContainer

Represents an Open API element that can be annotated with non-serializable properties in a property bag.

IOpenApiCallback

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.

IOpenApiDescribedElement

Describes an element that has a description.

IOpenApiElement

Represents an Open API element.

IOpenApiExample

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.

IOpenApiExtensible

Represents an Extensible Open API element.

IOpenApiExtension

Interface required for implementing any custom extension

IOpenApiHeader

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.

IOpenApiLink

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.

IOpenApiMediaType

Defines the base properties for the media type object. This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.

IOpenApiParameter

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.

IOpenApiPathItem

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.

IOpenApiReader

Interface for Open API readers.

IOpenApiReadOnlyDescribedElement

Describes an element that has a description.

IOpenApiReadOnlyExtensible

Represents an Extensible Open API element elements can be rad from.

IOpenApiReferenceable

Represents an Open API element is referenceable.

IOpenApiReferenceHolder

A generic interface for OpenApiReferenceable objects that have a target.

IOpenApiReferenceHolder<V>

A generic interface for OpenApiReferenceable objects that have a target.

IOpenApiReferenceHolder<T,U,V>

A generic interface for OpenApiReferenceable objects that have a target.

IOpenApiRequestBody

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.

IOpenApiResponse

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.

IOpenApiSchema

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.

IOpenApiSecurityScheme

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.

IOpenApiSerializable

Represents an Open API element that comes with serialization functionality.

IOpenApiSummarizedElement

Describes an element that has a summary.

IOpenApiTag

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.

IOpenApiWriter

Interface for writing Open API documentation.

IShallowCopyable<T>

Interface for shallow copyable objects.

IStreamLoader

Interface for service that translates a URI into a stream that can be loaded by a Reader

IValidationContext

Constrained interface used to provide context to rule implementation

Enums

Name Description
JsonSchemaType

Represents the type of a JSON schema.

OpenApiSpecVersion

Represents versions of OpenAPI specification.

OpenApiXmlNodeType

The type of the XML node

ParameterLocation

The location of the parameter.

ParameterStyle

The style of the parameter.

ReferenceType

The reference type.

ScopeType

Various scope types for Open API writer.

SecuritySchemeType

The type of the security scheme