OpenApi overview
Added in v1.0.0
Table of contents
- annotations
- constructors
- models
- OpenAPIApiKeySecurityScheme (interface)
- OpenAPIComponents (interface)
- OpenAPIHTTPSecurityScheme (interface)
- OpenAPIJSONSchema (type alias)
- OpenAPIMutualTLSSecurityScheme (interface)
- OpenAPIOAuth2SecurityScheme (interface)
- OpenAPIOpenIdConnectSecurityScheme (interface)
- OpenAPISecurityRequirement (type alias)
- OpenAPISecurityScheme (type alias)
- OpenAPISpec (interface)
- OpenAPISpecExternalDocs (interface)
- OpenAPISpecInfo (interface)
- OpenAPISpecLicense (interface)
- OpenAPISpecMethodName (type alias)
- OpenAPISpecOperation (interface)
- OpenAPISpecParameter (interface)
- OpenAPISpecPathItem (type alias)
- OpenAPISpecPaths (type alias)
- OpenAPISpecRequestBody (interface)
- OpenAPISpecResponses (type alias)
- OpenAPISpecServer (interface)
- OpenAPISpecServerVariable (interface)
- OpenAPISpecTag (interface)
- OpenApiSpecContent (type alias)
- OpenApiSpecContentType (type alias)
- OpenApiSpecMediaType (interface)
- OpenApiSpecResponse (interface)
- OpenApiSpecResponseHeader (interface)
- OpenApiSpecResponseHeaders (type alias)
annotations
Annotatable (interface)
Signature
export interface Annotatable {
readonly annotations: Context.Context<never>
}
Added in v1.0.0
Description (class)
Signature
export declare class Description
Added in v1.0.0
ExternalDocs (class)
Signature
export declare class ExternalDocs
Added in v1.0.0
Identifier (class)
Signature
export declare class Identifier
Added in v1.0.0
License (class)
Signature
export declare class License
Added in v1.0.0
Security (class)
Signature
export declare class Security
Added in v1.0.0
Title (class)
Signature
export declare class Title
Added in v1.0.0
Version (class)
Signature
export declare class Version
Added in v1.0.0
annotate
Signature
export declare const annotate: {
(annotations: {
readonly identifier?: string | undefined
readonly title?: string | undefined
readonly description?: string | undefined
readonly version?: string | undefined
readonly license?: OpenAPISpecLicense | undefined
readonly security?: HttpApiSecurity | undefined
readonly externalDocs?: OpenAPISpecExternalDocs | undefined
}): <A extends Annotatable>(self: A) => A
<A extends Annotatable>(
self: A,
annotations: {
readonly identifier?: string | undefined
readonly title?: string | undefined
readonly description?: string | undefined
readonly version?: string | undefined
readonly license?: OpenAPISpecLicense | undefined
readonly security?: HttpApiSecurity | undefined
readonly externalDocs?: OpenAPISpecExternalDocs | undefined
}
): A
}
Added in v1.0.0
annotations
Signature
export declare const annotations: (annotations: {
readonly identifier?: string | undefined
readonly title?: string | undefined
readonly description?: string | undefined
readonly version?: string | undefined
readonly license?: OpenAPISpecLicense | undefined
readonly security?: HttpApiSecurity | undefined
readonly externalDocs?: OpenAPISpecExternalDocs | undefined
}) => Context.Context<never>
Added in v1.0.0
constructors
fromApi
Signature
export declare const fromApi: <A extends HttpApi.HttpApi.Any>(api: A) => OpenAPISpec
Added in v1.0.0
models
OpenAPIApiKeySecurityScheme (interface)
Signature
export interface OpenAPIApiKeySecurityScheme {
readonly type: "apiKey"
readonly description?: string
readonly name: string
readonly in: "query" | "header" | "cookie"
}
Added in v1.0.0
OpenAPIComponents (interface)
Signature
export interface OpenAPIComponents {
readonly schemas?: ReadonlyRecord<string, OpenAPIJSONSchema>
readonly securitySchemes?: ReadonlyRecord<string, OpenAPISecurityScheme>
}
Added in v1.0.0
OpenAPIHTTPSecurityScheme (interface)
Signature
export interface OpenAPIHTTPSecurityScheme {
readonly type: "http"
readonly description?: string
readonly scheme: "bearer" | "basic" | string
/* only for scheme: 'bearer' */
readonly bearerFormat?: string
}
Added in v1.0.0
OpenAPIJSONSchema (type alias)
Signature
export type OpenAPIJSONSchema = JSONSchema.JsonSchema7
Added in v1.0.0
OpenAPIMutualTLSSecurityScheme (interface)
Signature
export interface OpenAPIMutualTLSSecurityScheme {
readonly type: "mutualTLS"
readonly description?: string
}
Added in v1.0.0
OpenAPIOAuth2SecurityScheme (interface)
Signature
export interface OpenAPIOAuth2SecurityScheme {
readonly type: "oauth2"
readonly description?: string
readonly flows: ReadonlyRecord<
"implicit" | "password" | "clientCredentials" | "authorizationCode",
ReadonlyRecord<string, unknown>
>
}
Added in v1.0.0
OpenAPIOpenIdConnectSecurityScheme (interface)
Signature
export interface OpenAPIOpenIdConnectSecurityScheme {
readonly type: "openIdConnect"
readonly description?: string
readonly openIdConnectUrl: string
}
Added in v1.0.0
OpenAPISecurityRequirement (type alias)
Signature
export type OpenAPISecurityRequirement = ReadonlyRecord<string, Array<string>>
Added in v1.0.0
OpenAPISecurityScheme (type alias)
Signature
export type OpenAPISecurityScheme =
| OpenAPIHTTPSecurityScheme
| OpenAPIApiKeySecurityScheme
| OpenAPIMutualTLSSecurityScheme
| OpenAPIOAuth2SecurityScheme
| OpenAPIOpenIdConnectSecurityScheme
Added in v1.0.0
OpenAPISpec (interface)
Signature
export interface OpenAPISpec {
readonly openapi: "3.0.3"
readonly info: OpenAPISpecInfo
readonly servers?: Array<OpenAPISpecServer>
readonly paths: OpenAPISpecPaths
readonly components?: OpenAPIComponents
readonly security?: Array<OpenAPISecurityRequirement>
readonly tags?: Array<OpenAPISpecTag>
readonly externalDocs?: OpenAPISpecExternalDocs
}
Added in v1.0.0
OpenAPISpecExternalDocs (interface)
Signature
export interface OpenAPISpecExternalDocs {
readonly url: string
readonly description?: string
}
Added in v1.0.0
OpenAPISpecInfo (interface)
Signature
export interface OpenAPISpecInfo {
readonly title: string
readonly version: string
readonly description?: string
readonly license?: OpenAPISpecLicense
}
Added in v1.0.0
OpenAPISpecLicense (interface)
Signature
export interface OpenAPISpecLicense {
readonly name: string
readonly url?: string
}
Added in v1.0.0
OpenAPISpecMethodName (type alias)
Signature
export type OpenAPISpecMethodName = "get" | "put" | "post" | "delete" | "options" | "head" | "patch" | "trace"
Added in v1.0.0
OpenAPISpecOperation (interface)
Signature
export interface OpenAPISpecOperation {
readonly requestBody?: OpenAPISpecRequestBody
readonly responses?: OpenAPISpecResponses
readonly operationId?: string
readonly description?: string
readonly parameters?: Array<OpenAPISpecParameter>
readonly summary?: string
readonly deprecated?: boolean
readonly tags?: Array<string>
readonly security?: Array<OpenAPISecurityRequirement>
readonly externalDocs?: OpenAPISpecExternalDocs
}
Added in v1.0.0
OpenAPISpecParameter (interface)
Signature
export interface OpenAPISpecParameter {
readonly name: string
readonly in: "query" | "header" | "path" | "cookie"
readonly schema: OpenAPIJSONSchema
readonly description?: string
readonly required?: boolean
readonly deprecated?: boolean
readonly allowEmptyValue?: boolean
}
Added in v1.0.0
OpenAPISpecPathItem (type alias)
Signature
export type OpenAPISpecPathItem = {
readonly [K in OpenAPISpecMethodName]?: OpenAPISpecOperation
} & {
readonly summary?: string
readonly description?: string
readonly parameters?: Array<OpenAPISpecParameter>
}
Added in v1.0.0
OpenAPISpecPaths (type alias)
Signature
export type OpenAPISpecPaths = ReadonlyRecord<string, OpenAPISpecPathItem>
Added in v1.0.0
OpenAPISpecRequestBody (interface)
Signature
export interface OpenAPISpecRequestBody {
readonly content: OpenApiSpecContent
readonly description?: string
readonly required?: boolean
}
Added in v1.0.0
OpenAPISpecResponses (type alias)
Signature
export type OpenAPISpecResponses = Record<number, OpenApiSpecResponse>
Added in v1.0.0
OpenAPISpecServer (interface)
Signature
export interface OpenAPISpecServer {
readonly url: string
readonly description?: string
readonly variables?: Record<string, OpenAPISpecServerVariable>
}
Added in v1.0.0
OpenAPISpecServerVariable (interface)
Signature
export interface OpenAPISpecServerVariable {
readonly default: string
readonly enum?: [string, ...Array<string>]
readonly description?: string
}
Added in v1.0.0
OpenAPISpecTag (interface)
Signature
export interface OpenAPISpecTag {
readonly name: string
readonly description?: string
readonly externalDocs?: OpenAPISpecExternalDocs
}
Added in v1.0.0
OpenApiSpecContent (type alias)
Signature
export type OpenApiSpecContent = {
readonly [K in OpenApiSpecContentType]?: OpenApiSpecMediaType
}
Added in v1.0.0
OpenApiSpecContentType (type alias)
Signature
export type OpenApiSpecContentType = "application/json" | "application/xml" | "multipart/form-data" | "text/plain"
Added in v1.0.0
OpenApiSpecMediaType (interface)
Signature
export interface OpenApiSpecMediaType {
readonly schema?: OpenAPIJSONSchema
readonly example?: object
readonly description?: string
}
Added in v1.0.0
OpenApiSpecResponse (interface)
Signature
export interface OpenApiSpecResponse {
readonly content?: OpenApiSpecContent
readonly headers?: OpenApiSpecResponseHeaders
readonly description: string
}
Added in v1.0.0
OpenApiSpecResponseHeader (interface)
Signature
export interface OpenApiSpecResponseHeader {
readonly description?: string
readonly schema: OpenAPIJSONSchema
}
Added in v1.0.0
OpenApiSpecResponseHeaders (type alias)
Signature
export type OpenApiSpecResponseHeaders = ReadonlyRecord<string, OpenApiSpecResponseHeader>
Added in v1.0.0