{
  "swagger": "2.0",
  "info": {
    "description": "This is a sample celler server.",
    "title": "Swagger Example API",
    "termsOfService": "http://swagger.io/terms/",
    "contact": {
      "name": "API Support",
      "url": "http://www.swagger.io/support",
      "email": "support@swagger.io"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "version": "1.0"
  },
  "host": "localhost:8080",
  "paths": {
    "/api/v1/examples/attribute": {
      "get": {
        "description": "attribute",
        "produces": [
          "application/json"
        ],
        "tags": [
          "example"
        ],
        "summary": "attribute example",
        "parameters": [
          {
            "type": "string",
            "default": "A",
            "description": "string default",
            "name": "default",
            "in": "query"
          },
          {
            "enum": [
              1,
              2,
              3
            ],
            "type": "integer",
            "description": "int enums",
            "name": "enumint",
            "in": "query"
          },
          {
            "enum": [
              1.1,
              1.2,
              1.3
            ],
            "type": "number",
            "description": "int enums",
            "name": "enumnumber",
            "in": "query"
          },
          {
            "enum": [
              "A",
              "B",
              "C"
            ],
            "type": "string",
            "description": "string enums",
            "name": "enumstring",
            "in": "query"
          },
          {
            "maximum": 10,
            "minimum": 1,
            "type": "integer",
            "description": "int valid",
            "name": "int",
            "in": "query"
          },
          {
            "maxLength": 10,
            "minLength": 5,
            "type": "string",
            "description": "string valid",
            "name": "string",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "answer",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "ok",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "ok",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/api/v1/examples/calc": {
      "get": {
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "integer",
            "description": "used for calc",
            "name": "val1",
            "in": "query",
            "required": true
          },
          {
            "type": "integer",
            "description": "used for calc",
            "name": "val2",
            "in": "query",
            "required": true
          }
        ],
        "responses": {
          "203": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/api/v1/examples/groups/{group_id}/accounts/{account_id}": {
      "get": {
        "description": "path params",
        "produces": [
          "application/json"
        ],
        "tags": [
          "example"
        ],
        "summary": "path params example",
        "parameters": [
          {
            "type": "integer",
            "description": "Account ID",
            "name": "account_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "description": "Group ID",
            "name": "group_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/api/v1/examples/header": {
      "get": {
        "description": "custome header",
        "produces": [
          "application/json"
        ],
        "tags": [
          "example"
        ],
        "summary": "custome header example",
        "parameters": [
          {
            "type": "string",
            "description": "Authentication header",
            "name": "Authorization",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/api/v1/examples/ping": {
      "get": {
        "description": "do ping",
        "produces": [
          "application/json"
        ],
        "tags": [
          "example"
        ],
        "summary": "ping example",
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "default": {
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/api/v1/examples/post": {
      "post": {
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/model.Account"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/model.Account"
            }
          },
          "default": {
            "description": "",
            "schema": {
              "$ref": "#/definitions/main.Error"
            }
          }
        }
      }
    },
    "/api/v1/examples/securities": {
      "get": {
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "description": "custome header",
        "produces": [
          "application/json"
        ],
        "tags": [
          "example"
        ],
        "summary": "custome header example",
        "parameters": [
          {
            "type": "string",
            "description": "Authentication header",
            "name": "Authorization",
            "in": "header",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "",
            "schema": {
              "type": "string"
            }
          },
          "404": {
            "description": "",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "main.Error": {
      "type": "object",
      "properties": {
        "error": {
          "type": "string"
        },
        "error_debug": {
          "type": "string"
        },
        "error_description": {
          "type": "string"
        },
        "status_code": {
          "type": "integer"
        }
      }
    },
    "model.Account": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int64",
          "example": 1
        },
        "name": {
          "type": "string",
          "example": "account name"
        },
        "some_number": {
          "type": "integer",
          "example": 1234
        },
        "uuid": {
          "type": "string",
          "format": "uuid",
          "example": "550e8400-e29b-41d4-a716-446655440000"
        }
      }
    }
  },
  "securityDefinitions": {
    "ApiKeyAuth": {
      "type": "apiKey",
      "name": "Authorization",
      "in": "header"
    }
  }
}