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:
| Export | Description |
|---|---|
generate() | Generate OpenAPI spec (JSON or YAML) from config file |
defineConfig() | Type-safe configuration helper |
OpenApiModule | NestJS 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:
| Type | Description |
|---|---|
Config | Main configuration interface |
FilesConfig | Input file configuration |
OpenApiConfig | OpenAPI metadata configuration |
OptionsConfig | Generation options |
SecurityConfig | Security scheme configuration |
OpenApiSpec | Generated OpenAPI specification |
Validation Utilities
Helpers for broken $ref detection and reporting:
| Export | Description |
|---|---|
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:
| Error | Description |
|---|---|
ConfigNotFoundError | Config file not found |
ConfigLoadError | Failed to load config |
ConfigValidationError | Invalid configuration |
ProjectInitError | TypeScript project init failed |
EntryNotFoundError | Entry 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';