Docs are a work in progress - contributions welcome
Logonestjs-openapi
API Reference

API Reference

Complete API reference for nestjs-openapi

Complete reference documentation for the nestjs-openapi public API.

Primary API

The main exports you'll use in most projects:

ExportDescription
generate()Generate OpenAPI spec (JSON or YAML) from config file
defineConfig()Type-safe configuration helper
OpenApiModuleNestJS module for runtime serving

Quick Example

// openapi.config.ts
import { defineConfig } from 'nestjs-openapi';

export default defineConfig({
  output: 'openapi.json',
  files: {
    entry: 'src/app.module.ts',
  },
  openapi: {
    info: {
      title: 'My API',
      version: '1.0.0',
    },
  },
});
// Generate programmatically
import { generate } from 'nestjs-openapi';

const result = await generate('./openapi.config.ts');
console.log(`Generated ${result.operationCount} operations`);
// Serve at runtime
import { OpenApiModule } from 'nestjs-openapi';

@Module({
  imports: [
    OpenApiModule.forRoot({
      filePath: 'openapi.json',
      serveSwaggerUi: true,
    }),
  ],
})
export class AppModule {}

Types

Configuration and OpenAPI spec types:

TypeDescription
ConfigMain configuration interface
FilesConfigInput file configuration
OpenApiConfigOpenAPI metadata configuration
OptionsConfigGeneration options
SecurityConfigSecurity scheme configuration
OpenApiSpecGenerated OpenAPI specification

Validation Utilities

Helpers for broken $ref detection and reporting:

ExportDescription
validateSpec()Detect broken $refs in a spec
formatValidationResult()Format a validation summary for output
categorizeBrokenRefs()Group missing refs by likely cause

Errors

Typed error classes for error handling:

ErrorDescription
ConfigNotFoundErrorConfig file not found
ConfigLoadErrorFailed to load config
ConfigValidationErrorInvalid configuration
ProjectInitErrorTypeScript project init failed
EntryNotFoundErrorEntry module not found

Advanced API

For advanced use cases and Effect-TS integration:

import {
  generateEffect,
  generateAsync,
  type GenerateOptions,
} from 'nestjs-openapi';

See Advanced: Effect API for details.

Import Paths

All exports are available from the main package:

// Primary API
import { generate, defineConfig, OpenApiModule } from 'nestjs-openapi';

// Types
import type { Config, OpenApiSpec } from 'nestjs-openapi';

// Errors
import { ConfigNotFoundError, EntryNotFoundError } from 'nestjs-openapi';

// Module injection tokens
import { OPENAPI_SPEC, OPENAPI_MODULE_OPTIONS } from 'nestjs-openapi';

On this page