swagger: "2.0"
schemes:
  - https
host: generator.swagger.io
basePath: /api
info:
  contact:
    name: apiteam@swagger.io
  description: "This is an online swagger codegen server.  You can find out more at https://github.com/swagger-api/swagger-codegen or on [irc.freenode.net, #swagger](http://swagger.io/irc/)."
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: http://swagger.io/terms/
  title: Swagger Generator
  version: 2.4.31
  x-apisguru-categories:
    - developer_tools
    - tools
  x-logo:
    backgroundColor: "#98C600"
    url: https://twitter.com/SwaggerApi/profile_image?size=original
  x-origin:
    - format: swagger
      url: https://generator.swagger.io/api/swagger.json
      version: "2.0"
  x-providerName: swagger.io
  x-serviceName: generator
tags:
  - name: gen
  - name: clients
  - name: servers
paths:
  /gen/clients:
    get:
      description: ""
      operationId: clientOptions
      parameters: []
      responses:
        "200":
          description: successful operation
          schema:
            items:
              type: string
            type: array
      summary: Gets languages supported by the client generator
      tags:
        - clients
  "/gen/clients/{language}":
    get:
      description: ""
      operationId: getClientOptions
      parameters:
        - description: The target language for the client library
          enum:
            - ada
            - akka-scala
            - android
            - apex
            - bash
            - clojure
            - cpprest
            - csharp
            - csharp-dotnet2
            - cwiki
            - dart
            - dart-jaguar
            - dynamic-html
            - eiffel
            - elixir
            - elm
            - erlang-client
            - flash
            - go
            - groovy
            - haskell-http-client
            - html
            - html2
            - java
            - javascript
            - javascript-closure-angular
            - jaxrs-cxf-client
            - jmeter
            - kotlin
            - lua
            - objc
            - perl
            - php
            - powershell
            - python
            - qt5cpp
            - r
            - ruby
            - rust
            - scala
            - scalaz
            - swagger
            - swagger-yaml
            - swift
            - swift3
            - swift4
            - swift5
            - tizen
            - typescript-angular
            - typescript-angularjs
            - typescript-aurelia
            - typescript-fetch
            - typescript-inversify
            - typescript-jquery
            - typescript-node
            - ue4cpp
          in: path
          name: language
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: successful operation
          schema:
            additionalProperties:
              $ref: "#/definitions/CliOption"
            type: object
      summary: Returns options for a client library
      tags:
        - clients
    post:
      description: Accepts a `GeneratorInput` options map for spec location and generation options
      operationId: generateClient
      parameters:
        - description: The target language for the client library
          enum:
            - ada
            - akka-scala
            - android
            - apex
            - bash
            - clojure
            - cpprest
            - csharp
            - csharp-dotnet2
            - cwiki
            - dart
            - dart-jaguar
            - dynamic-html
            - eiffel
            - elixir
            - elm
            - erlang-client
            - flash
            - go
            - groovy
            - haskell-http-client
            - html
            - html2
            - java
            - javascript
            - javascript-closure-angular
            - jaxrs-cxf-client
            - jmeter
            - kotlin
            - lua
            - objc
            - perl
            - php
            - powershell
            - python
            - qt5cpp
            - r
            - ruby
            - rust
            - scala
            - scalaz
            - swagger
            - swagger-yaml
            - swift
            - swift3
            - swift4
            - swift5
            - tizen
            - typescript-angular
            - typescript-angularjs
            - typescript-aurelia
            - typescript-fetch
            - typescript-inversify
            - typescript-jquery
            - typescript-node
            - ue4cpp
          in: path
          name: language
          required: true
          type: string
        - description: Configuration for building the client library
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/GeneratorInput"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/ResponseCode"
      summary: Generates a client library
      tags:
        - clients
  "/gen/download/{fileId}":
    get:
      description: A valid `fileId` is generated by the `/clients/{language}` or `/servers/{language}` POST operations.  The fileId code can be used just once, after which a new `fileId` will need to be requested.
      operationId: downloadFile
      parameters:
        - in: path
          name: fileId
          required: true
          type: string
      produces:
        - application/octet-stream
      responses:
        "200":
          description: successful operation
          schema:
            type: string
      summary: Downloads a pre-generated file
      tags:
        - clients
        - servers
  /gen/servers:
    get:
      description: ""
      operationId: serverOptions
      parameters: []
      responses:
        "200":
          description: successful operation
          schema:
            items:
              type: string
            type: array
      summary: Gets languages supported by the server generator
      tags:
        - servers
  "/gen/servers/{framework}":
    get:
      description: ""
      operationId: getServerOptions
      parameters:
        - description: The target language for the server framework
          enum:
            - ada-server
            - aspnetcore
            - erlang-server
            - finch
            - go-server
            - haskell
            - inflector
            - java-pkmst
            - java-play-framework
            - java-vertx
            - jaxrs
            - jaxrs-cxf
            - jaxrs-cxf-cdi
            - jaxrs-resteasy
            - jaxrs-resteasy-eap
            - jaxrs-spec
            - kotlin-server
            - lumen
            - msf4j
            - nancyfx
            - nodejs-server
            - php-silex
            - php-symfony
            - pistache-server
            - python-flask
            - rails5
            - restbed
            - rust-server
            - scala-lagom-server
            - scalatra
            - sinatra
            - slim
            - spring
            - undertow
            - ze-ph
          in: path
          name: framework
          required: true
          type: string
      produces:
        - application/json
      responses:
        "200":
          description: successful operation
          schema:
            additionalProperties:
              $ref: "#/definitions/CliOption"
            type: object
      summary: Returns options for a server framework
      tags:
        - servers
    post:
      description: Accepts a `GeneratorInput` options map for spec location and generation options.
      operationId: generateServerForLanguage
      parameters:
        - description: framework
          enum:
            - ada-server
            - aspnetcore
            - erlang-server
            - finch
            - go-server
            - haskell
            - inflector
            - java-pkmst
            - java-play-framework
            - java-vertx
            - jaxrs
            - jaxrs-cxf
            - jaxrs-cxf-cdi
            - jaxrs-resteasy
            - jaxrs-resteasy-eap
            - jaxrs-spec
            - kotlin-server
            - lumen
            - msf4j
            - nancyfx
            - nodejs-server
            - php-silex
            - php-symfony
            - pistache-server
            - python-flask
            - rails5
            - restbed
            - rust-server
            - scala-lagom-server
            - scalatra
            - sinatra
            - slim
            - spring
            - undertow
            - ze-ph
          in: path
          name: framework
          required: true
          type: string
        - description: parameters
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/GeneratorInput"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/ResponseCode"
      summary: Generates a server library
      tags:
        - servers
definitions:
  AuthorizationValue:
    properties:
      keyName:
        type: string
      type:
        type: string
      urlMatcher:
        $ref: "#/definitions/UrlMatcher"
      value:
        type: string
    type: object
  CliOption:
    properties:
      default:
        type: string
      description:
        type: string
      enum:
        additionalProperties:
          type: string
        type: object
      optionName:
        type: string
      type:
        description: Data type is based on the types supported by the JSON-Schema
        type: string
    type: object
  GeneratorInput:
    properties:
      authorizationValue:
        $ref: "#/definitions/AuthorizationValue"
      options:
        additionalProperties:
          type: string
        type: object
      securityDefinition:
        $ref: "#/definitions/SecuritySchemeDefinition"
      spec:
        type: object
      swaggerUrl:
        example: http://petstore.swagger.io/v2/swagger.json
        type: string
      usingFlattenSpec:
        type: boolean
    type: object
  ResponseCode:
    properties:
      code:
        description: File download code
        example: d40029be-eda6-4d62-b1ef-d05e2e91a72a
        type: string
      link:
        description: URL for fetching the generated client
        example: http://generator.swagger.io:80/api/gen/download/d40029be-eda6-4d62-b1ef-d05e2e91a72a
        type: string
    type: object
  SecuritySchemeDefinition:
    properties:
      description:
        type: string
      type:
        type: string
    type: object
  UrlMatcher:
    type: object
