openapi: 3.0.1
info:
title: Swagger Generator Generation API
description: The Swagger Generator online REST API at generator3.swagger.io provides endpoints for generating client SDKs, server stubs, and documentation artifacts from OpenAPI V2 and V3 specifications. Supports 40+ client languages and 20+ server frameworks with configurable generation options.
version: 3.0.75
contact:
name: Swagger
url: https://swagger.io/tools/swagger-codegen/
license:
name: Apache 2.0
url: https://github.com/swagger-api/swagger-codegen/blob/master/LICENSE
x-logo:
url: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
servers:
- url: https://generator3.swagger.io
description: Swagger Generator V3 online service
tags:
- name: Generation
description: Code generation endpoints for clients, servers, and documentation
paths:
/generate:
post:
operationId: generateCode
summary: Generate Code From Spec
description: Generate a client SDK, server stub, or documentation package from an OpenAPI specification provided in the request body. Returns the generated artifact as a binary ZIP file.
tags:
- Generation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GenerationRequest'
example:
lang: python
type: CLIENT
codegenVersion: V3
spec:
openapi: 3.0.0
info:
title: My API
version: 1.0.0
paths: {}
responses:
'200':
description: Generated artifact as a ZIP archive
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
description: Invalid generation request
'500':
description: Generation failed
get:
operationId: generateCodeFromUrl
summary: Generate Code From URL
description: Generate a client SDK, server stub, or documentation package from an OpenAPI specification referenced by URL via a JSON configuration at the provided URL.
tags:
- Generation
parameters:
- name: codegenOptionsURL
in: query
required: true
schema:
type: string
format: uri
description: URL to a JSON GenerationRequest configuration object
responses:
'200':
description: Generated artifact as a ZIP archive
content:
application/octet-stream:
schema:
type: string
format: binary
'400':
description: Invalid URL or unreachable configuration
components:
schemas:
GenerationRequest:
type: object
required:
- lang
description: Request body for code generation operations
properties:
lang:
type: string
description: The generator language/framework identifier (e.g., python, java, spring)
type:
type: string
enum:
- CLIENT
- SERVER
- DOCUMENTATION
- CONFIG
description: Generator type
codegenVersion:
type: string
enum:
- V2
- V3
default: V3
description: Codegen version — V2 for OpenAPI 2.x specs, V3 for OpenAPI 3.x
spec:
type: object
description: Inline OpenAPI specification as a JSON object
additionalProperties: true
specURL:
type: string
format: uri
description: URL to a remote OpenAPI specification file
options:
$ref: '#/components/schemas/Options'
Options:
type: object
description: Configurable code generation options. Available options vary per language. Retrieve available options for a language via GET /options.
properties:
packageName:
type: string
description: Package/module name for the generated code
packageVersion:
type: string
description: Version to set in the generated package metadata
groupId:
type: string
description: Maven groupId for Java-based generators
artifactId:
type: string
description: Maven artifactId for Java-based generators
artifactVersion:
type: string
description: Maven artifact version
sourceFolder:
type: string
description: Source code folder path within the generated project
modelPackage:
type: string
description: Package name for generated model classes
apiPackage:
type: string
description: Package name for generated API client classes
invokerPackage:
type: string
description: Package name for generated invoker/entry-point classes
httpUserAgent:
type: string
description: User-Agent string set in generated HTTP client code
gitUserId:
type: string
description: GitHub user ID for SCM metadata in generated packages
gitRepoId:
type: string
description: GitHub repository ID for SCM metadata in generated packages
hideGenerationTimestamp:
type: boolean
description: Omit generation timestamp from generated file headers
dateLibrary:
type: string
description: Date/time library to use in generated code
useRxJS6:
type: boolean
description: Use RxJS 6 in TypeScript Angular generators
npmName:
type: string
description: npm package name for JavaScript/TypeScript generators
npmVersion:
type: string
description: npm package version
npmRepository:
type: string
description: npm registry URL
withSeparateModelsAndApi:
type: boolean
description: Put models and API in separate source folders