Swagger Codegen Generation API

Code generation endpoints for clients, servers, and documentation

OpenAPI Specification

swagger-codegen-generation-api-openapi.yml Raw ↑
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