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.2.3
  x-apisguru-categories:
    - developer_tools
    - tools
  x-logo:
    backgroundColor: '#98C600'
    url: 'https://pbs.twimg.com/profile_images/524603118596534273/pIea9Ji0_400x400.png'
  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
      x-swagger-router-controller: clients
      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
      x-swagger-router-controller: clients
      parameters:
        - description: The target language for the client library
          enum:
            - akka-scala
            - android
            - apex
            - async-scala
            - bash
            - clojure
            - cpprest
            - csharp
            - CsharpDotNet2
            - cwiki
            - dart
            - dynamic-html
            - eiffel
            - elixir
            - flash
            - go
            - groovy
            - html
            - html2
            - java
            - javascript
            - javascript-closure-angular
            - jaxrs-cxf-client
            - jmeter
            - kotlin
            - objc
            - perl
            - php
            - powershell
            - python
            - qt5cpp
            - ruby
            - scala
            - swagger
            - swagger-yaml
            - swift
            - swift3
            - swift4
            - tizen
            - typescript-angular
            - typescript-angular2
            - typescript-fetch
            - typescript-jquery
            - typescript-node
          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
      x-swagger-router-controller: clients
      parameters:
        - description: The target language for the client library
          enum:
            - akka-scala
            - android
            - apex
            - async-scala
            - bash
            - clojure
            - cpprest
            - csharp
            - CsharpDotNet2
            - cwiki
            - dart
            - dynamic-html
            - eiffel
            - elixir
            - flash
            - go
            - groovy
            - html
            - html2
            - java
            - javascript
            - javascript-closure-angular
            - jaxrs-cxf-client
            - jmeter
            - kotlin
            - objc
            - perl
            - php
            - powershell
            - python
            - qt5cpp
            - ruby
            - scala
            - swagger
            - swagger-yaml
            - swift
            - swift3
            - swift4
            - tizen
            - typescript-angular
            - typescript-angular2
            - typescript-fetch
            - typescript-jquery
            - typescript-node
          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
      x-swagger-router-controller: clients
      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
      x-swagger-router-controller: servers
      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
      x-swagger-router-controller: servers
      parameters:
        - description: The target language for the server framework
          enum:
            - aspnet5
            - aspnetcore
            - erlang-server
            - finch
            - go-server
            - haskell
            - inflector
            - java-play-framework
            - java-vertx
            - jaxrs
            - jaxrs-cxf
            - jaxrs-cxf-cdi
            - jaxrs-resteasy
            - jaxrs-resteasy-eap
            - jaxrs-spec
            - lumen
            - msf4j
            - nancyfx
            - nodejs-server
            - php-symfony
            - pistache-server
            - python-flask
            - rails5
            - restbed
            - scalatra
            - silex-PHP
            - 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
      x-swagger-router-controller: servers
      parameters:
        - description: framework
          enum:
            - aspnet5
            - aspnetcore
            - erlang-server
            - finch
            - go-server
            - haskell
            - inflector
            - java-play-framework
            - java-vertx
            - jaxrs
            - jaxrs-cxf
            - jaxrs-cxf-cdi
            - jaxrs-resteasy
            - jaxrs-resteasy-eap
            - jaxrs-spec
            - lumen
            - msf4j
            - nancyfx
            - nodejs-server
            - php-symfony
            - pistache-server
            - python-flask
            - rails5
            - restbed
            - scalatra
            - silex-PHP
            - 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
      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
    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
