All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schemas.openapi.json Maven / Gradle / Ivy

The newest version!
{
  "openapi" : "3.0.3",
  "info" : {
    "title" : "Otoroshi Admin API",
    "description" : "Admin API of the Otoroshi reverse proxy",
    "version" : "16.12.0-dev",
    "contact" : {
      "name" : "Otoroshi Team",
      "email" : "[email protected]"
    },
    "license" : {
      "name" : "Apache 2.0",
      "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "externalDocs" : {
    "url" : "https://www.otoroshi.io",
    "description" : "everything about otoroshi"
  },
  "servers" : [ {
    "url" : "http://otoroshi-api.oto.tools:8080",
    "description" : "your local otoroshi server"
  } ],
  "tags" : [ {
    "name" : "admin-sessions",
    "description" : "???"
  }, {
    "name" : "admins",
    "description" : "???"
  }, {
    "name" : "analytics",
    "description" : "???"
  }, {
    "name" : "apikeys",
    "description" : "???"
  }, {
    "name" : "apps-sessions",
    "description" : "???"
  }, {
    "name" : "auth-modules",
    "description" : "???"
  }, {
    "name" : "backends",
    "description" : "???"
  }, {
    "name" : "certificates",
    "description" : "???"
  }, {
    "name" : "cluster",
    "description" : "???"
  }, {
    "name" : "data-exporters",
    "description" : "???"
  }, {
    "name" : "entities",
    "description" : "???"
  }, {
    "name" : "error-templates",
    "description" : "???"
  }, {
    "name" : "events",
    "description" : "???"
  }, {
    "name" : "experimental",
    "description" : "???"
  }, {
    "name" : "forms",
    "description" : "???"
  }, {
    "name" : "frontends",
    "description" : "???"
  }, {
    "name" : "globalconfig",
    "description" : "???"
  }, {
    "name" : "groups",
    "description" : "???"
  }, {
    "name" : "import-export",
    "description" : "???"
  }, {
    "name" : "infos",
    "description" : "???"
  }, {
    "name" : "jwt-verifiers",
    "description" : "???"
  }, {
    "name" : "lines",
    "description" : "???"
  }, {
    "name" : "live",
    "description" : "???"
  }, {
    "name" : "organizations",
    "description" : "???"
  }, {
    "name" : "pki",
    "description" : "???"
  }, {
    "name" : "plugins",
    "description" : "???"
  }, {
    "name" : "privateapps",
    "description" : "???"
  }, {
    "name" : "route-compositions",
    "description" : "???"
  }, {
    "name" : "routes",
    "description" : "???"
  }, {
    "name" : "scripts",
    "description" : "???"
  }, {
    "name" : "services",
    "description" : "???"
  }, {
    "name" : "snowmonkey",
    "description" : "???"
  }, {
    "name" : "tcp",
    "description" : "???"
  }, {
    "name" : "teams",
    "description" : "???"
  }, {
    "name" : "templates",
    "description" : "???"
  }, {
    "name" : "tunnels",
    "description" : "???"
  }, {
    "name" : "version",
    "description" : "???"
  } ],
  "paths" : {
    "/api/privateapps/sessions/send/{id}/{username}" : {
      "post" : {
        "tags" : [ "privateapps" ],
        "summary" : "Send an email to a user to update its own settings",
        "operationId" : "otoroshi.controllers.PrivateAppsController.sendSelfUpdateLink",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        }, {
          "name" : "username",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the username parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Empty"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      }
    },
    "/api/privateapps/sessions/{id}/{username}" : {
      "post" : {
        "tags" : [ "privateapps" ],
        "summary" : "Registers a private app session",
        "operationId" : "otoroshi.controllers.PrivateAppsController.registerSession",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        }, {
          "name" : "username",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the username parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Empty"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      }
    },
    "/api/infos" : {
      "get" : {
        "tags" : [ "infos" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.InfosApiController.infos",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/version" : {
      "get" : {
        "tags" : [ "version" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.InfosApiController.version",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/new/apikey" : {
      "get" : {
        "tags" : [ "templates" ],
        "summary" : "Creates a new ApiKey from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateApiKey_templates",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        }
      }
    },
    "/api/new/service" : {
      "get" : {
        "tags" : [ "templates" ],
        "summary" : "Creates a new Service from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateService_templates",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        }
      }
    },
    "/api/new/tcp/service" : {
      "get" : {
        "tags" : [ "templates" ],
        "summary" : "Creates a new TcpService from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateTcpService_templates",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        }
      }
    },
    "/api/new/group" : {
      "get" : {
        "tags" : [ "templates" ],
        "summary" : "Creates a new ServiceGroup from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateServiceGroup_templates",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        }
      }
    },
    "/api/new/resources" : {
      "post" : {
        "tags" : [ "templates" ],
        "summary" : "Creates a new Resources from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateResources",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unknown"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Unknown"
              }
            }
          }
        }
      }
    },
    "/api/tcp/services/_template" : {
      "post" : {
        "tags" : [ "tcp" ],
        "summary" : "Creates a new Template from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.createFromTemplate_tcp",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      }
    },
    "/api/admins/simple/_template" : {
      "post" : {
        "tags" : [ "admins" ],
        "summary" : "Creates a new Template from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.createFromTemplate_simple",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.OtoroshiAdmin"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      },
      "get" : {
        "tags" : [ "admins" ],
        "summary" : "Creates a new SimpleAdmin from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateSimpleAdmin",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/admins/webauthn/_template" : {
      "post" : {
        "tags" : [ "admins" ],
        "summary" : "Creates a new Template from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.createFromTemplate_webauthn",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.OtoroshiAdmin"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      },
      "get" : {
        "tags" : [ "admins" ],
        "summary" : "Creates a new WebauthnAdmin from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateWebauthnAdmin",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/{entity}/_template" : {
      "post" : {
        "tags" : [ "templates" ],
        "summary" : "Creates a new Template from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.createFromTemplate_templates",
        "parameters" : [ {
          "name" : "entity",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the entity parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Any"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      }
    },
    "/api/apikeys/_template" : {
      "get" : {
        "tags" : [ "apikeys" ],
        "summary" : "Creates a new ApiKey from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateApiKey_apikeys",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        }
      }
    },
    "/api/apikeys/_bulk" : {
      "post" : {
        "tags" : [ "apikeys" ],
        "summary" : "Create multiple ApiKeys at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "apikeys" ],
        "summary" : "Update multiple ApiKeys at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "apikeys" ],
        "summary" : "Update (using json-patch) multiple ApiKeys at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "apikeys" ],
        "summary" : "Delete multiple ApiKeys at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/apikeys/{id}/quotas" : {
      "get" : {
        "tags" : [ "apikeys" ],
        "summary" : "Consumed quotas for a specific apikey",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.apiKeyQuotas",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.RemainingQuotas"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "apikeys" ],
        "summary" : "Reset quotas consumption for an apikey",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.resetApiKeyQuotas",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.RemainingQuotas"
                }
              }
            }
          }
        }
      }
    },
    "/api/apikeys/{id}" : {
      "get" : {
        "tags" : [ "apikeys" ],
        "summary" : "Find a specific ApiKey using its id",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "apikeys" ],
        "summary" : "Deletes a specific ApiKey using its id",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "apikeys" ],
        "summary" : "Updates a specific ApiKey using its id",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "apikeys" ],
        "summary" : "Updates (using json-patch) a specific ApiKey using its id",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
              }
            }
          }
        }
      }
    },
    "/api/apikeys" : {
      "get" : {
        "tags" : [ "apikeys" ],
        "summary" : "Find all possible ApiKeys entities",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "apikeys" ],
        "summary" : "Creates a ApiKey",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ApiKey"
              }
            }
          }
        }
      }
    },
    "/api/routes/{routeId}/apikeys/{clientId}/quotas" : {
      "get" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysFromRouteController.apiKeyQuotas",
        "parameters" : [ {
          "name" : "routeId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the routeId parameter"
        }, {
          "name" : "clientId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the clientId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysFromRouteController.resetApiKeyQuotas",
        "parameters" : [ {
          "name" : "routeId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the routeId parameter"
        }, {
          "name" : "clientId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the clientId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/routes/{routeId}/apikeys/{clientId}" : {
      "get" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysFromRouteController.apiKey",
        "parameters" : [ {
          "name" : "routeId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the routeId parameter"
        }, {
          "name" : "clientId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the clientId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysFromRouteController.updateApiKey",
        "parameters" : [ {
          "name" : "routeId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the routeId parameter"
        }, {
          "name" : "clientId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the clientId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysFromRouteController.patchApiKey",
        "parameters" : [ {
          "name" : "routeId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the routeId parameter"
        }, {
          "name" : "clientId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the clientId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysFromRouteController.deleteApiKey",
        "parameters" : [ {
          "name" : "routeId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the routeId parameter"
        }, {
          "name" : "clientId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the clientId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/routes/{routeId}/apikeys" : {
      "post" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysFromRouteController.createApiKey",
        "parameters" : [ {
          "name" : "routeId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the routeId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      },
      "get" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ApiKeysFromRouteController.apiKeys",
        "parameters" : [ {
          "name" : "routeId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the routeId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/groups/{groupId}/status" : {
      "get" : {
        "tags" : [ "groups" ],
        "summary" : "Statis for a group of services over time",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.groupStatus",
        "parameters" : [ {
          "name" : "groupId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the groupId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unknown"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/_template" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Creates a new Service from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateService_services",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/template" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Get the error template for the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.serviceTemplate",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorTemplateList"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "services" ],
        "summary" : "Update the error template of the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.updateServiceTemplate",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "services" ],
        "summary" : "Creates an error template for the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.createServiceTemplate",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "services" ],
        "summary" : "Deletes the error template for the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.deleteServiceTemplate",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/targets" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Get targets of the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.serviceTargets",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TargetsList"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "services" ],
        "summary" : "Adds a target to the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.serviceAddTarget",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Target"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.Target"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "services" ],
        "summary" : "Deletes a target to the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.serviceDeleteTarget",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "services" ],
        "summary" : "Update the target of the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.updateServiceTargets",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Target"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.Target"
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/live" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Get live stats for a specific service",
        "operationId" : "otoroshi.controllers.adminapi.StatsController.serviceLiveStats_services",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the serviceId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LiveStats"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/stats" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Statistics for a service",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.serviceStats",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the serviceId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unknown"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/events" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Events for a service",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.serviceEvents",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the serviceId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unknown"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/status" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Status of a service over time",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.serviceStatus",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the serviceId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unknown"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/health" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Get healthcheck status for the current service",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.serviceHealth",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The serviceId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HealthCheckEventList"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/response" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Response time statistics for a service",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.serviceResponseTime",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the serviceId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unknown"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{serviceId}/canary" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Get members of a canary campaign",
        "operationId" : "otoroshi.controllers.adminapi.CanaryController.serviceCanaryMembers",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the serviceId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Any"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "services" ],
        "summary" : "Reset members of a canary campaign",
        "operationId" : "otoroshi.controllers.adminapi.CanaryController.resetServiceCanaryMembers",
        "parameters" : [ {
          "name" : "serviceId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the serviceId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/_bulk" : {
      "post" : {
        "tags" : [ "services" ],
        "summary" : "Create multiple ServiceDescriptors at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "services" ],
        "summary" : "Update multiple ServiceDescriptors at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "services" ],
        "summary" : "Update (using json-patch) multiple ServiceDescriptors at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "services" ],
        "summary" : "Delete multiple ServiceDescriptors at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/services/{id}/route" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.convertAsRoute",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "services" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.importAsRoute",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/services/{id}" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Find a specific ServiceDescriptor using its id",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "services" ],
        "summary" : "Deletes a specific ServiceDescriptor using its id",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "services" ],
        "summary" : "Updates a specific ServiceDescriptor using its id",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "services" ],
        "summary" : "Updates (using json-patch) a specific ServiceDescriptor using its id",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
              }
            }
          }
        }
      }
    },
    "/api/services" : {
      "get" : {
        "tags" : [ "services" ],
        "summary" : "Find all possible ServiceDescriptors entities",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "services" ],
        "summary" : "Creates a ServiceDescriptor",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
              }
            }
          }
        }
      }
    },
    "/api/groups/_template" : {
      "get" : {
        "tags" : [ "groups" ],
        "summary" : "Creates a new ServiceGroup from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateServiceGroup_groups",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        }
      }
    },
    "/api/groups/_bulk" : {
      "post" : {
        "tags" : [ "groups" ],
        "summary" : "Create multiple ServiceGroups at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "groups" ],
        "summary" : "Update multiple ServiceGroups at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "groups" ],
        "summary" : "Update (using json-patch) multiple ServiceGroups at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "groups" ],
        "summary" : "Delete multiple ServiceGroups at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/groups/{id}/services" : {
      "get" : {
        "tags" : [ "groups" ],
        "summary" : "Get the services from a service group",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.serviceGroupServices",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServiceDescriptorList"
                }
              }
            }
          }
        }
      }
    },
    "/api/groups/{id}" : {
      "get" : {
        "tags" : [ "groups" ],
        "summary" : "Find a specific ServiceGroup using its id",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "groups" ],
        "summary" : "Deletes a specific ServiceGroup using its id",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "groups" ],
        "summary" : "Updates a specific ServiceGroup using its id",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "groups" ],
        "summary" : "Updates (using json-patch) a specific ServiceGroup using its id",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
              }
            }
          }
        }
      }
    },
    "/api/groups" : {
      "get" : {
        "tags" : [ "groups" ],
        "summary" : "Find all possible ServiceGroups entities",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "groups" ],
        "summary" : "Creates a ServiceGroup",
        "operationId" : "otoroshi.controllers.adminapi.ServiceGroupController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ServiceGroup"
              }
            }
          }
        }
      }
    },
    "/api/certificates/_template" : {
      "get" : {
        "tags" : [ "certificates" ],
        "summary" : "Creates a new Certificate from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateCertificate",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        }
      }
    },
    "/api/certificates/{certId}/_renew" : {
      "post" : {
        "tags" : [ "certificates" ],
        "summary" : "Renew a certificates with the same attributes as the original one",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.renewCert",
        "parameters" : [ {
          "name" : "certId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The certId param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      }
    },
    "/api/certificates/_bulk" : {
      "post" : {
        "tags" : [ "certificates" ],
        "summary" : "Create multiple Certs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "certificates" ],
        "summary" : "Update multiple Certs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "certificates" ],
        "summary" : "Update (using json-patch) multiple Certs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "certificates" ],
        "summary" : "Delete multiple Certs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/certificates/{id}" : {
      "get" : {
        "tags" : [ "certificates" ],
        "summary" : "Find a specific Cert using its id",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "certificates" ],
        "summary" : "Deletes a specific Cert using its id",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "certificates" ],
        "summary" : "Updates a specific Cert using its id",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "certificates" ],
        "summary" : "Updates (using json-patch) a specific Cert using its id",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
              }
            }
          }
        }
      }
    },
    "/api/certificates/_bundle" : {
      "post" : {
        "tags" : [ "certificates" ],
        "summary" : "Import PEM bundle as otoroshi certificates",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.importBundle",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PemCertificateBody"
              }
            }
          }
        }
      }
    },
    "/api/certificates" : {
      "get" : {
        "tags" : [ "certificates" ],
        "summary" : "Find all possible Certs entities",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "certificates" ],
        "summary" : "Creates a Cert",
        "operationId" : "otoroshi.controllers.adminapi.CertificatesController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
              }
            }
          }
        }
      }
    },
    "/api/pki/certs/_letencrypt" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Generates a certificates using Let's Encrypt or any ACME compatible system",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.genLetsEncryptCert",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCertResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LetsEncryptCertBody"
              }
            }
          }
        }
      }
    },
    "/api/pki/certs/_p12" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Import de .p12 file as client certificates",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.importCertFromP12",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ByteStreamBody"
              }
            }
          }
        }
      }
    },
    "/api/pki/certs/_valid" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Check if a certificate is valid (based on its own data)",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.certificateIsValid",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CertValidResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.Cert"
              }
            }
          }
        }
      }
    },
    "/api/pki/certs/_data" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Extract data from a certificate",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.certificateData",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Any"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PemCertificateBody"
              }
            }
          }
        }
      }
    },
    "/api/pki/certs" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Generates a self signed certificates",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.genSelfSignedCert",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCertResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCsrQuery"
              }
            }
          }
        }
      }
    },
    "/api/pki/csrs" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Generates a CSR",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.genCsr",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCsrResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCsrQuery"
              }
            }
          }
        }
      }
    },
    "/api/pki/keys" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Generates a keypair",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.genKeyPair",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenKeyPairResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenKeyPairQuery"
              }
            }
          }
        }
      }
    },
    "/api/pki/cas" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Generates a self signed CA",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.genSelfSignedCA",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCertResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCsrQuery"
              }
            }
          }
        }
      }
    },
    "/api/pki/cas/{ca}/certs/_sign" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Sign a certificate based on a CSR",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.signCert",
        "parameters" : [ {
          "name" : "ca",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the ca parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.SignCertResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PemCsrBody"
              }
            }
          }
        }
      }
    },
    "/api/pki/cas/{ca}/certs" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Generates a certificate",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.genCert",
        "parameters" : [ {
          "name" : "ca",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the ca parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCertResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCsrQuery"
              }
            }
          }
        }
      }
    },
    "/api/pki/cas/{ca}/cas" : {
      "post" : {
        "tags" : [ "pki" ],
        "summary" : "Generates a sub-CA",
        "operationId" : "otoroshi.controllers.adminapi.PkiController.genSubCA",
        "parameters" : [ {
          "name" : "ca",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the ca parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCertResponse"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCsrQuery"
              }
            }
          }
        }
      }
    },
    "/api/lines/{line}/services" : {
      "get" : {
        "tags" : [ "lines" ],
        "summary" : "Get all service for a line of work",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.servicesForALine",
        "parameters" : [ {
          "name" : "line",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The line param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServiceDescriptorList"
                }
              }
            }
          }
        }
      }
    },
    "/api/lines" : {
      "get" : {
        "tags" : [ "lines" ],
        "summary" : "Get all lines of work (prod, preprod, etc)",
        "operationId" : "otoroshi.controllers.adminapi.ServicesController.allLines",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StringList"
                }
              }
            }
          }
        }
      }
    },
    "/api/live/host" : {
      "get" : {
        "tags" : [ "live" ],
        "summary" : "Get local host metrics",
        "operationId" : "otoroshi.controllers.adminapi.StatsController.hostMetrics",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HostMetrics"
                }
              }
            }
          }
        }
      }
    },
    "/api/live/{id}" : {
      "get" : {
        "tags" : [ "live" ],
        "summary" : "Get live stats for a specific service",
        "operationId" : "otoroshi.controllers.adminapi.StatsController.serviceLiveStats_live",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LiveStats"
                }
              }
            }
          }
        }
      }
    },
    "/api/live" : {
      "get" : {
        "tags" : [ "live" ],
        "summary" : "Get global live statis",
        "operationId" : "otoroshi.controllers.adminapi.StatsController.globalLiveStats",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LiveStats"
                }
              }
            }
          }
        }
      }
    },
    "/api/globalconfig/_template" : {
      "get" : {
        "tags" : [ "globalconfig" ],
        "summary" : "Creates a new GlobalConfig from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateGlobalConfig",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalConfig"
                }
              }
            }
          }
        }
      }
    },
    "/api/globalconfig" : {
      "get" : {
        "tags" : [ "globalconfig" ],
        "summary" : "Get the global config",
        "operationId" : "otoroshi.controllers.adminapi.GlobalConfigController.globalConfig",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalConfig"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "globalconfig" ],
        "summary" : "Update the global config",
        "operationId" : "otoroshi.controllers.adminapi.GlobalConfigController.updateGlobalConfig",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.GlobalConfig"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "globalconfig" ],
        "summary" : "Update (with json-patch) the global config",
        "operationId" : "otoroshi.controllers.adminapi.GlobalConfigController.patchGlobalConfig",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchBody"
              }
            }
          }
        }
      }
    },
    "/api/otoroshi.json" : {
      "get" : {
        "tags" : [ "import-export" ],
        "summary" : "Export all the content of the otoroshi datastore",
        "operationId" : "otoroshi.controllers.adminapi.ImportExportController.fullExport",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Any"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "import-export" ],
        "summary" : "Import the content of the otoroshi datastore (json)",
        "operationId" : "otoroshi.controllers.adminapi.ImportExportController.fullImport",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GlobalConfigImportBody"
              }
            }
          }
        }
      }
    },
    "/api/import" : {
      "post" : {
        "tags" : [ "import-export" ],
        "summary" : "Import the content of the otoroshi datastore (file)",
        "operationId" : "otoroshi.controllers.adminapi.ImportExportController.fullImportFromFile",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GlobalConfigImportBody"
              }
            }
          }
        }
      }
    },
    "/api/snowmonkey/_start" : {
      "post" : {
        "tags" : [ "snowmonkey" ],
        "summary" : "Start the snowmonkey of all otoroshi instances",
        "operationId" : "otoroshi.controllers.adminapi.SnowMonkeyController.startSnowMonkey",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      }
    },
    "/api/snowmonkey/_stop" : {
      "post" : {
        "tags" : [ "snowmonkey" ],
        "summary" : "Stop the snowmonkey of all otoroshi instances",
        "operationId" : "otoroshi.controllers.adminapi.SnowMonkeyController.stopSnowMonkey",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Empty"
              }
            }
          }
        }
      }
    },
    "/api/snowmonkey/outages" : {
      "delete" : {
        "tags" : [ "snowmonkey" ],
        "summary" : "Reset the snowmonkey outages",
        "operationId" : "otoroshi.controllers.adminapi.SnowMonkeyController.resetSnowMonkey",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Done"
                }
              }
            }
          }
        }
      },
      "get" : {
        "tags" : [ "snowmonkey" ],
        "summary" : "Get the current snowmonkey outages",
        "operationId" : "otoroshi.controllers.adminapi.SnowMonkeyController.getSnowMonkeyOutages",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OutagesList"
                }
              }
            }
          }
        }
      }
    },
    "/api/snowmonkey/config" : {
      "get" : {
        "tags" : [ "snowmonkey" ],
        "summary" : "Get the snowmonkey config",
        "operationId" : "otoroshi.controllers.adminapi.SnowMonkeyController.getSnowMonkeyConfig",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.SnowMonkeyConfig"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "snowmonkey" ],
        "summary" : "Updates the snowmonkey configuration",
        "operationId" : "otoroshi.controllers.adminapi.SnowMonkeyController.updateSnowMonkey",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.SnowMonkeyConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.SnowMonkeyConfig"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "snowmonkey" ],
        "summary" : "Updates (using json-patch) the snowmonkey configuration",
        "operationId" : "otoroshi.controllers.adminapi.SnowMonkeyController.patchSnowMonkey",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.SnowMonkeyConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchBody"
              }
            }
          }
        }
      }
    },
    "/api/verifiers/_template" : {
      "get" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Creates a new JwtVerifier from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateJwtVerifier",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                }
              }
            }
          }
        }
      }
    },
    "/api/verifiers/_bulk" : {
      "post" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Create multiple GlobalJwtVerifiers at the same time",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Update multiple GlobalJwtVerifiers at the same time",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Update (using json-patch) multiple GlobalJwtVerifiers at the same time",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Delete multiple GlobalJwtVerifiers at the same time",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/verifiers/{id}" : {
      "get" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Find a specific GlobalJwtVerifier using its id",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Deletes a specific GlobalJwtVerifier using its id",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Updates a specific GlobalJwtVerifier using its id",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Updates (using json-patch) a specific GlobalJwtVerifier using its id",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
              }
            }
          }
        }
      }
    },
    "/api/verifiers" : {
      "get" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Find all possible GlobalJwtVerifiers entities",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "jwt-verifiers" ],
        "summary" : "Creates a GlobalJwtVerifier",
        "operationId" : "otoroshi.controllers.adminapi.JwtVerifierController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.GlobalJwtVerifier"
              }
            }
          }
        }
      }
    },
    "/api/auths/_template" : {
      "get" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Creates a new AuthModule from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateAuthModule",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                }
              }
            }
          }
        }
      }
    },
    "/api/auths/templates" : {
      "get" : {
        "tags" : [ "auth-modules" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.findAllTemplates",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/auths/{id}/register/start" : {
      "post" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Stats the registration of a user",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.startRegistration",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unknown"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/WebAuthnRegistrationStartBody"
              }
            }
          }
        }
      }
    },
    "/api/auths/{id}/register/finish" : {
      "post" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Finishes the registration of a user",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.finishRegistration",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Unknown"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/WebAuthnRegistrationFinishBody"
              }
            }
          }
        }
      }
    },
    "/api/auths/_bulk" : {
      "post" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Create multiple AuthModuleConfigs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Update multiple AuthModuleConfigs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Update (using json-patch) multiple AuthModuleConfigs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Delete multiple AuthModuleConfigs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/auths/{id}" : {
      "get" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Find a specific AuthModuleConfig using its id",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Deletes a specific AuthModuleConfig using its id",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Updates a specific AuthModuleConfig using its id",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Updates (using json-patch) a specific AuthModuleConfig using its id",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
              }
            }
          }
        }
      }
    },
    "/api/auths" : {
      "get" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Find all possible AuthModuleConfigs entities",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "auth-modules" ],
        "summary" : "Creates a AuthModuleConfig",
        "operationId" : "otoroshi.controllers.adminapi.AuthModulesController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.auth.AuthModuleConfig"
              }
            }
          }
        }
      }
    },
    "/api/cluster/sessions/{id}" : {
      "get" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.isSessionValid",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/cluster/sessions" : {
      "post" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.createSession",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/cluster/quotas" : {
      "put" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.updateState",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/cluster/state/ws" : {
      "get" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.stateWs",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/cluster/state" : {
      "get" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.readState",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/cluster/relay" : {
      "post" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.relayRouting",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/cluster/members" : {
      "get" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.getClusterMembers",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.clearClusterMembers",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/cluster/live" : {
      "get" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.liveCluster",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/cluster/login-tokens/{id}" : {
      "get" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.isLoginTokenValid",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.createLoginToken",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/cluster/user-tokens/{id}" : {
      "get" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.getUserToken",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/cluster/user-tokens" : {
      "post" : {
        "tags" : [ "cluster" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ClusterController.setUserToken",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/tunnels/register" : {
      "get" : {
        "tags" : [ "tunnels" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.tunnel.TunnelController.tunnelEndpoint",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/tunnels/infos" : {
      "get" : {
        "tags" : [ "tunnels" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.tunnel.TunnelController.infos",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/tunnels/{tunnelId}/relay" : {
      "get" : {
        "tags" : [ "tunnels" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.tunnel.TunnelController.tunnelRelayWs",
        "parameters" : [ {
          "name" : "tunnelId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the tunnelId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "tunnels" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.tunnel.TunnelController.tunnelRelay",
        "parameters" : [ {
          "name" : "tunnelId",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the tunnelId parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/tunnels" : {
      "get" : {
        "tags" : [ "tunnels" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.tunnel.TunnelController.tunnelInfos",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/_template" : {
      "get" : {
        "tags" : [ "scripts" ],
        "summary" : "Creates a new Script from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateScript",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/_list" : {
      "get" : {
        "tags" : [ "scripts" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.findAllScriptsList",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/_compile" : {
      "post" : {
        "tags" : [ "scripts" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.compileScript",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/scripts/_bulk" : {
      "post" : {
        "tags" : [ "scripts" ],
        "summary" : "Create multiple Scripts at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.script.Script"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "scripts" ],
        "summary" : "Update multiple Scripts at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.script.Script"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "scripts" ],
        "summary" : "Update (using json-patch) multiple Scripts at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "scripts" ],
        "summary" : "Delete multiple Scripts at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/{id}" : {
      "get" : {
        "tags" : [ "scripts" ],
        "summary" : "Find a specific Script using its id",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.script.Script"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "scripts" ],
        "summary" : "Deletes a specific Script using its id",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.script.Script"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "scripts" ],
        "summary" : "Updates a specific Script using its id",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.script.Script"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.script.Script"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "scripts" ],
        "summary" : "Updates (using json-patch) a specific Script using its id",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.script.Script"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.script.Script"
              }
            }
          }
        }
      }
    },
    "/api/scripts" : {
      "get" : {
        "tags" : [ "scripts" ],
        "summary" : "Find all possible Scripts entities",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.script.Script"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "scripts" ],
        "summary" : "Creates a Script",
        "operationId" : "otoroshi.controllers.adminapi.ScriptApiController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.script.Script"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.script.Script"
              }
            }
          }
        }
      }
    },
    "/api/tcp/_template" : {
      "get" : {
        "tags" : [ "tcp" ],
        "summary" : "Creates a new TcpService from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateTcpService_tcp",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/tcp/services/_bulk" : {
      "post" : {
        "tags" : [ "tcp" ],
        "summary" : "Create multiple TcpServices at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "tcp" ],
        "summary" : "Update multiple TcpServices at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "tcp" ],
        "summary" : "Update (using json-patch) multiple TcpServices at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "tcp" ],
        "summary" : "Delete multiple TcpServices at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/tcp/services/{id}" : {
      "get" : {
        "tags" : [ "tcp" ],
        "summary" : "Find a specific TcpService using its id",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "tcp" ],
        "summary" : "Deletes a specific TcpService using its id",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "tcp" ],
        "summary" : "Updates a specific TcpService using its id",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "tcp" ],
        "summary" : "Updates (using json-patch) a specific TcpService using its id",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
              }
            }
          }
        }
      }
    },
    "/api/tcp/services" : {
      "get" : {
        "tags" : [ "tcp" ],
        "summary" : "Find all possible TcpServices entities",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "tcp" ],
        "summary" : "Creates a TcpService",
        "operationId" : "otoroshi.controllers.adminapi.TcpServiceApiController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.tcp.TcpService"
              }
            }
          }
        }
      }
    },
    "/api/error-templates/_bulk" : {
      "post" : {
        "tags" : [ "error-templates" ],
        "summary" : "Create multiple ErrorTemplates at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "error-templates" ],
        "summary" : "Update multiple ErrorTemplates at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "error-templates" ],
        "summary" : "Update (using json-patch) multiple ErrorTemplates at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "error-templates" ],
        "summary" : "Delete multiple ErrorTemplates at the same time",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/error-templates/{id}" : {
      "get" : {
        "tags" : [ "error-templates" ],
        "summary" : "Find a specific ErrorTemplate using its id",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "error-templates" ],
        "summary" : "Deletes a specific ErrorTemplate using its id",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "error-templates" ],
        "summary" : "Updates a specific ErrorTemplate using its id",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "error-templates" ],
        "summary" : "Updates (using json-patch) a specific ErrorTemplate using its id",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
              }
            }
          }
        }
      }
    },
    "/api/error-templates" : {
      "get" : {
        "tags" : [ "error-templates" ],
        "summary" : "Find all possible ErrorTemplates entities",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "error-templates" ],
        "summary" : "Creates a ErrorTemplate",
        "operationId" : "otoroshi.controllers.adminapi.ErrorTemplatesController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
              }
            }
          }
        }
      }
    },
    "/api/tenants/_template" : {
      "get" : {
        "tags" : [ "organizations" ],
        "summary" : "Creates a new Tenant from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateTenant",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/_bulk" : {
      "post" : {
        "tags" : [ "organizations" ],
        "summary" : "Create multiple Tenants at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Tenant"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "organizations" ],
        "summary" : "Update multiple Tenants at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Tenant"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "organizations" ],
        "summary" : "Update (using json-patch) multiple Tenants at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "organizations" ],
        "summary" : "Delete multiple Tenants at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/tenants/{id}" : {
      "get" : {
        "tags" : [ "organizations" ],
        "summary" : "Find a specific Tenant using its id",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Tenant"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "organizations" ],
        "summary" : "Deletes a specific Tenant using its id",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Tenant"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "organizations" ],
        "summary" : "Updates a specific Tenant using its id",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Tenant"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.Tenant"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "organizations" ],
        "summary" : "Updates (using json-patch) a specific Tenant using its id",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Tenant"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.Tenant"
              }
            }
          }
        }
      }
    },
    "/api/tenants" : {
      "get" : {
        "tags" : [ "organizations" ],
        "summary" : "Find all possible Tenants entities",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.models.Tenant"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "organizations" ],
        "summary" : "Creates a Tenant",
        "operationId" : "otoroshi.controllers.adminapi.TenantsController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Tenant"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.Tenant"
              }
            }
          }
        }
      }
    },
    "/api/teams/_template" : {
      "get" : {
        "tags" : [ "teams" ],
        "summary" : "Creates a new Team from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateTeam",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/teams/_bulk" : {
      "post" : {
        "tags" : [ "teams" ],
        "summary" : "Create multiple Teams at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Team"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "teams" ],
        "summary" : "Update multiple Teams at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Team"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "teams" ],
        "summary" : "Update (using json-patch) multiple Teams at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "teams" ],
        "summary" : "Delete multiple Teams at the same time",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/teams/{id}" : {
      "get" : {
        "tags" : [ "teams" ],
        "summary" : "Find a specific Team using its id",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Team"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "teams" ],
        "summary" : "Deletes a specific Team using its id",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Team"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "teams" ],
        "summary" : "Updates a specific Team using its id",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Team"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.Team"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "teams" ],
        "summary" : "Updates (using json-patch) a specific Team using its id",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Team"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.Team"
              }
            }
          }
        }
      }
    },
    "/api/teams" : {
      "get" : {
        "tags" : [ "teams" ],
        "summary" : "Find all possible Teams entities",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.models.Team"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "teams" ],
        "summary" : "Creates a Team",
        "operationId" : "otoroshi.controllers.adminapi.TeamsController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.Team"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.Team"
              }
            }
          }
        }
      }
    },
    "/api/data-exporter-configs/_template" : {
      "get" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Creates a new DataExporterConfig from a template",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.initiateDataExporterConfig",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/data-exporter-configs/_bulk" : {
      "post" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Create multiple DataExporterConfigs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Update multiple DataExporterConfigs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Update (using json-patch) multiple DataExporterConfigs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Delete multiple DataExporterConfigs at the same time",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/data-exporter-configs/{id}" : {
      "get" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Find a specific DataExporterConfig using its id",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Deletes a specific DataExporterConfig using its id",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Updates a specific DataExporterConfig using its id",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Updates (using json-patch) a specific DataExporterConfig using its id",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
              }
            }
          }
        }
      }
    },
    "/api/data-exporter-configs" : {
      "get" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Find all possible DataExporterConfigs entities",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "data-exporters" ],
        "summary" : "Creates a DataExporterConfig",
        "operationId" : "otoroshi.controllers.adminapi.DataExporterConfigController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfig"
              }
            }
          }
        }
      }
    },
    "/api/routes/_form" : {
      "get" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.form",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/routes/_template" : {
      "get" : {
        "tags" : [ "routes" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.initiateRoute",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/routes/_bulk" : {
      "post" : {
        "tags" : [ "routes" ],
        "summary" : "Create multiple NgRoutes at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "routes" ],
        "summary" : "Update multiple NgRoutes at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "routes" ],
        "summary" : "Update (using json-patch) multiple NgRoutes at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "routes" ],
        "summary" : "Delete multiple NgRoutes at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/routes/{id}" : {
      "get" : {
        "tags" : [ "routes" ],
        "summary" : "Find a specific NgRoute using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "routes" ],
        "summary" : "Deletes a specific NgRoute using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "routes" ],
        "summary" : "Updates a specific NgRoute using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "routes" ],
        "summary" : "Updates (using json-patch) a specific NgRoute using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
              }
            }
          }
        }
      }
    },
    "/api/routes" : {
      "get" : {
        "tags" : [ "routes" ],
        "summary" : "Find all possible NgRoutes entities",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "routes" ],
        "summary" : "Creates a NgRoute",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.NgRoute"
              }
            }
          }
        }
      }
    },
    "/api/route-compositions/_form" : {
      "get" : {
        "tags" : [ "route-compositions" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.form",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/route-compositions/_openapi" : {
      "post" : {
        "tags" : [ "route-compositions" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.fromOpenapi",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/route-compositions/_template" : {
      "get" : {
        "tags" : [ "route-compositions" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.initiateRouteComposition",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/route-compositions/_bulk" : {
      "post" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Create multiple NgRouteCompositions at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Update multiple NgRouteCompositions at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Update (using json-patch) multiple NgRouteCompositions at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Delete multiple NgRouteCompositions at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/route-compositions/{id}" : {
      "get" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Find a specific NgRouteComposition using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Deletes a specific NgRouteComposition using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Updates a specific NgRouteComposition using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Updates (using json-patch) a specific NgRouteComposition using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
              }
            }
          }
        }
      }
    },
    "/api/route-compositions" : {
      "get" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Find all possible NgRouteCompositions entities",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "route-compositions" ],
        "summary" : "Creates a NgRouteComposition",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRouteCompositionsController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.NgRouteComposition"
              }
            }
          }
        }
      }
    },
    "/api/backends/_form" : {
      "get" : {
        "tags" : [ "backends" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.form",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/backends/_template" : {
      "get" : {
        "tags" : [ "backends" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.initiateStoredNgBackend",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/backends/_bulk" : {
      "post" : {
        "tags" : [ "backends" ],
        "summary" : "Create multiple StoredNgBackends at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.bulkCreateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "backends" ],
        "summary" : "Update multiple StoredNgBackends at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.bulkUpdateAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "backends" ],
        "summary" : "Update (using json-patch) multiple StoredNgBackends at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.bulkPatchAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkPatchBody"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "backends" ],
        "summary" : "Delete multiple StoredNgBackends at the same time",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.bulkDeleteAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BulkResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/api/backends/{id}" : {
      "get" : {
        "tags" : [ "backends" ],
        "summary" : "Find a specific StoredNgBackend using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.findEntityByIdAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "backends" ],
        "summary" : "Deletes a specific StoredNgBackend using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.deleteEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "backends" ],
        "summary" : "Updates a specific StoredNgBackend using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.updateEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "backends" ],
        "summary" : "Updates (using json-patch) a specific StoredNgBackend using its id",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.patchEntityAction",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "The id param of the target entity"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
              }
            }
          }
        }
      }
    },
    "/api/backends" : {
      "get" : {
        "tags" : [ "backends" ],
        "summary" : "Find all possible StoredNgBackends entities",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.findAllEntitiesAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "backends" ],
        "summary" : "Creates a StoredNgBackend",
        "operationId" : "otoroshi.next.controllers.adminapi.NgBackendsController.createAction",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "201" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body in nd-json format (1 stringified entity per line)",
          "required" : true,
          "content" : {
            "application/x-ndjson" : {
              "schema" : {
                "$ref" : "#/components/schemas/otoroshi.next.models.StoredNgBackend"
              }
            }
          }
        }
      }
    },
    "/api/frontends/_form" : {
      "get" : {
        "tags" : [ "frontends" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgFrontendsController.form",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/plugins/categories" : {
      "get" : {
        "tags" : [ "plugins" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.NgPluginsController.categories",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/plugins/steps" : {
      "get" : {
        "tags" : [ "plugins" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.NgPluginsController.steps",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/plugins/all" : {
      "get" : {
        "tags" : [ "plugins" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.NgPluginsController.plugins",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/forms/_single" : {
      "get" : {
        "tags" : [ "forms" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.NgPluginsController.form",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/forms" : {
      "get" : {
        "tags" : [ "forms" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.NgPluginsController.forms",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/stats/global" : {
      "get" : {
        "tags" : [ "analytics" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.globalStats",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/status/global" : {
      "get" : {
        "tags" : [ "analytics" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.globalStatus",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/stats" : {
      "get" : {
        "tags" : [ "analytics" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.filterableStats",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/events" : {
      "get" : {
        "tags" : [ "analytics" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.filterableEvents",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/events/_template" : {
      "get" : {
        "tags" : [ "analytics" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.TemplatesController.templateSpec",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/status" : {
      "post" : {
        "tags" : [ "analytics" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.AnalyticsController.servicesStatus",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/experimental/certificates/_by_domain" : {
      "get" : {
        "tags" : [ "experimental" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.NgRoutesController.domainsAndCertificates",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/x-ndjson" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/entities/{entity}/{id}" : {
      "get" : {
        "tags" : [ "entities" ],
        "summary" : "???",
        "operationId" : "otoroshi.next.controllers.adminapi.EntitiesController.getEntityGraph",
        "parameters" : [ {
          "name" : "entity",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the entity parameter"
        }, {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin-sessions" : {
      "get" : {
        "tags" : [ "admin-sessions" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.sessions",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "admin-sessions" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.discardAllSessions",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin-sessions/{id}" : {
      "delete" : {
        "tags" : [ "admin-sessions" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.discardSession",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/apps-sessions" : {
      "get" : {
        "tags" : [ "apps-sessions" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.privateAppsSessions",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "apps-sessions" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.discardAllPrivateAppsSessions",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/apps-sessions/{id}" : {
      "delete" : {
        "tags" : [ "apps-sessions" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.discardPrivateAppsSession",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/audit/events" : {
      "get" : {
        "tags" : [ "events" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.EventsController.auditEvents",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/alert/events" : {
      "get" : {
        "tags" : [ "events" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.EventsController.alertEvents",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/admins/simple" : {
      "post" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.registerSimpleAdmin",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      },
      "get" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.simpleAdmins",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/admins/simple/{username}" : {
      "get" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.findAdmin",
        "parameters" : [ {
          "name" : "username",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the username parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.updateAdmin",
        "parameters" : [ {
          "name" : "username",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the username parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.deleteAdmin",
        "parameters" : [ {
          "name" : "username",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the username parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/admins/webauthn" : {
      "get" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.webAuthnAdmins",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.registerWebAuthnAdmin",
        "parameters" : [ ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/admins/webauthn/{username}" : {
      "get" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.findWebAuthnAdmin",
        "parameters" : [ {
          "name" : "username",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the username parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.updateWebAuthnAdmin",
        "parameters" : [ {
          "name" : "username",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the username parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        },
        "requestBody" : {
          "description" : "the request body",
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "description" : "unknown type",
                "type" : "object"
              }
            }
          }
        }
      }
    },
    "/api/admins/webauthn/{username}/{id}" : {
      "delete" : {
        "tags" : [ "admins" ],
        "summary" : "???",
        "operationId" : "otoroshi.controllers.adminapi.UsersController.webAuthnDeleteAdmin",
        "parameters" : [ {
          "name" : "username",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the username parameter"
        }, {
          "name" : "id",
          "in" : "path",
          "schema" : {
            "type" : "string"
          },
          "required" : true,
          "description" : "the id parameter"
        } ],
        "security" : [ {
          "otoroshi_auth" : [ ]
        } ],
        "responses" : {
          "401" : {
            "description" : "You have to provide an Api Key. Api Key can be passed with 'Otoroshi-Client-Id' and 'Otoroshi-Client-Secret' headers, or use basic http authentication",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad resource format. Take another look to the swagger, or open an issue",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource not found or does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "description" : "unknown type",
                  "type" : "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "otoroshi.models.ElasticAnalyticsConfig" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Object type",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ],
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ]
          },
          "sendWorkers" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "applyTemplate" : {
            "type" : "boolean",
            "description" : "Enable template creation/update"
          },
          "uris" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "mtlsConfig" : {
            "$ref" : "#/components/schemas/otoroshi.utils.http.MtlsConfig",
            "description" : "TLS settings for the http client"
          },
          "version" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Version of Elasticsearch"
          },
          "maxBulkSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "headers" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Additionnal headers in the http request"
          },
          "indexSettings" : {
            "$ref" : "#/components/schemas/otoroshi.models.IndexSettings",
            "description" : "Indexation settings"
          },
          "user" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Elasticsearch user"
          },
          "index" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Index name"
          },
          "password" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Elastic password"
          }
        },
        "type" : "object",
        "description" : "Settings for connection to an elastic cluster"
      },
      "otoroshi.events.SaslConfig" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "username" : {
            "type" : "string",
            "description" : "SASL username"
          },
          "password" : {
            "type" : "string",
            "description" : "SASL password"
          },
          "mechanism" : {
            "type" : "string",
            "description" : "SASL login mechanism"
          }
        }
      },
      "otoroshi.next.models.NgMinimalRoute" : {
        "type" : "object",
        "description" : "A route representation with it's minimal attributes",
        "properties" : {
          "backend_ref" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "The backend id of the route (if one)"
          },
          "frontend" : {
            "$ref" : "#/components/schemas/otoroshi.next.models.NgFrontend",
            "description" : "The frontend of the route"
          },
          "override_plugins" : {
            "type" : "boolean",
            "description" : "Override global plugin list from route composition"
          },
          "backend" : {
            "$ref" : "#/components/schemas/otoroshi.next.models.NgMinimalBackend",
            "description" : "The backend of the route"
          }
        }
      },
      "ErrorTemplateList" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/otoroshi.models.ErrorTemplate"
        }
      },
      "otoroshi.auth.GroupRights" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "userRights" : {
            "$ref" : "#/components/schemas/otoroshi.models.UserRights",
            "description" : "???"
          },
          "users" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      },
      "otoroshi.next.models.NgRouteComposition" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "capture" : {
            "type" : "boolean",
            "description" : "???"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "debug_flow" : {
            "type" : "boolean",
            "description" : "???"
          },
          "routes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.next.models.NgMinimalRoute"
            },
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "description" : {
            "type" : "string",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "export_reporting" : {
            "type" : "boolean",
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "client" : {
            "$ref" : "#/components/schemas/otoroshi.next.models.NgClientConfig",
            "description" : "???"
          },
          "groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      },
      "LetsEncryptCertBody" : {
        "type" : "object",
        "description" : "PEM encoded certificate"
      },
      "otoroshi.models.KidAlgoSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of algosettings",
            "enum" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        },
        "type" : "object",
        "description" : "Settings to find keypair based on header kid for verification"
      },
      "Done" : {
        "type" : "object",
        "description" : "operation is done",
        "properties" : {
          "done" : {
            "type" : "boolean"
          }
        }
      },
      "otoroshi.utils.mailer.MailgunSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of exporter",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
          },
          "eu" : {
            "type" : "boolean",
            "description" : "European tenant"
          },
          "apiKey" : {
            "type" : "string",
            "description" : "Mailgun apikey"
          },
          "domain" : {
            "type" : "string",
            "description" : "Mailgun domain"
          },
          "to" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.mailer.EmailLocation"
            },
            "description" : "Destination email address"
          }
        },
        "type" : "object",
        "description" : "Settings for the mailgun mailer"
      },
      "otoroshi.auth.LdapAuthModuleConfig" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the type of the module",
            "enum" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
          },
          "extraMetadata" : {
            "type" : "object",
            "description" : "???"
          },
          "desc" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "allowEmptyPassword" : {
            "type" : "boolean",
            "description" : "???"
          },
          "groupFilters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.auth.GroupFilter"
            },
            "description" : "???"
          },
          "rightsOverride" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/otoroshi.models.UserRights"
            },
            "description" : "???"
          },
          "serverUrls" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "clientSideSessionEnabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "basicAuth" : {
            "type" : "boolean",
            "description" : "???"
          },
          "searchBase" : {
            "type" : "string",
            "description" : "???"
          },
          "groupRights" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/otoroshi.auth.GroupRights"
            },
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "superAdmins" : {
            "type" : "boolean",
            "description" : "???"
          },
          "sessionMaxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "metadataField" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "searchFilter" : {
            "type" : "string",
            "description" : "???"
          },
          "adminUsername" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "userValidators" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.JsonPathValidator"
            },
            "description" : "???"
          },
          "emailField" : {
            "type" : "string",
            "description" : "???"
          },
          "extractProfileFilter" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "userBase" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "adminPassword" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "extractProfileFilterNot" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "nameField" : {
            "type" : "string",
            "description" : "???"
          },
          "extractProfile" : {
            "type" : "boolean",
            "description" : "???"
          },
          "dataOverride" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "description" : "???"
          },
          "sessionCookieValues" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SessionCookieValues",
            "description" : "???"
          }
        },
        "type" : "object",
        "description" : "???"
      },
      "otoroshi.models.Team" : {
        "type" : "object",
        "description" : "An otoroshi model for a team of users in the organization (otoroshi-ui)",
        "properties" : {
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "name" : {
            "type" : "string",
            "description" : "Entity name"
          },
          "description" : {
            "type" : "string",
            "description" : "Entity description"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/otoroshi.models.TenantId",
            "description" : "Entity organization"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "id" : {
            "$ref" : "#/components/schemas/otoroshi.models.TeamId",
            "description" : "Entity id"
          }
        }
      },
      "otoroshi.events.HealthCheckEvent" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "error" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "health" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "logicCheck" : {
            "type" : "boolean",
            "description" : "???"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "url" : {
            "type" : "string",
            "description" : "???"
          },
          "duration" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          }
        }
      },
      "ServiceDescriptorList" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptor"
        }
      },
      "otoroshi.models.ApiKey" : {
        "type" : "object",
        "description" : "An otoroshi apikey that can allow you to access some services",
        "properties" : {
          "dailyQuota" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Authorized number of calls per day"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Bunch of metadata for the key"
          },
          "throttlingQuota" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Authorized number of calls per second, measured on 10 seconds"
          },
          "constrainedServicesOnly" : {
            "type" : "boolean",
            "description" : "This apikey can only be used on services that constrained their apikey routing"
          },
          "allowClientIdOnly" : {
            "type" : "boolean",
            "description" : "This apikey can be used juste with the client_id value"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "The location of the apikey"
          },
          "restrictions" : {
            "$ref" : "#/components/schemas/otoroshi.models.Restrictions",
            "description" : "Apikey restrictions settings"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Apikey tags"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether or not the key is enabled. If disabled, resources won't be available to calls using this key"
          },
          "readOnly" : {
            "type" : "boolean",
            "description" : "The apikey only allow access for GET, HEAD and OPTIONS verbs"
          },
          "clientSecret" : {
            "type" : "string",
            "description" : "The secret of the Api Key. Usually 64 random alpha numerical characters, but can be anything"
          },
          "validUntil" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "number"
            } ],
            "description" : "Date until when the apikey is valid"
          },
          "clientName" : {
            "type" : "string",
            "description" : "The name of the api key, for humans ;-)"
          },
          "monthlyQuota" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Authorized number of calls per month"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of this apikey"
          },
          "rotation" : {
            "$ref" : "#/components/schemas/otoroshi.models.ApiKeyRotation",
            "description" : "Apikey rotation settings"
          },
          "authorizedEntities" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.models.EntityIdentifier"
            },
            "description" : "The group/service ids (prefixed by group_ or service_ on which the key is authorized"
          },
          "clientId" : {
            "type" : "string",
            "description" : "The unique id of the Api Key. Usually 16 random alpha numerical characters, but can be anything"
          }
        }
      },
      "otoroshi.models.UserRight" : {
        "type" : "object",
        "description" : "Represent a user right (teams, organizations) in otoroshi-ui",
        "properties" : {
          "tenant" : {
            "$ref" : "#/components/schemas/otoroshi.models.TenantAccess",
            "description" : "Access rights on organizations"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.models.TeamAccess"
            },
            "description" : "Access rights on teams"
          }
        }
      },
      "otoroshi.auth.GenericOauth2ModuleConfig" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the type of the module",
            "enum" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
          },
          "extraMetadata" : {
            "type" : "object",
            "description" : "???"
          },
          "desc" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "rightsOverride" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/otoroshi.models.UserRights"
            },
            "description" : "???"
          },
          "clientId" : {
            "type" : "string",
            "description" : "???"
          },
          "otoroshiRightsField" : {
            "type" : "string",
            "description" : "???"
          },
          "clientSideSessionEnabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "scope" : {
            "type" : "string",
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "accessTokenField" : {
            "type" : "string",
            "description" : "???"
          },
          "superAdmins" : {
            "type" : "boolean",
            "description" : "???"
          },
          "sessionMaxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "refreshTokens" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loginUrl" : {
            "type" : "string",
            "description" : "???"
          },
          "apiKeyTagsField" : {
            "type" : "string",
            "description" : "???"
          },
          "otoroshiDataField" : {
            "type" : "string",
            "description" : "???"
          },
          "userValidators" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.JsonPathValidator"
            },
            "description" : "???"
          },
          "emailField" : {
            "type" : "string",
            "description" : "???"
          },
          "mtlsConfig" : {
            "$ref" : "#/components/schemas/otoroshi.utils.http.MtlsConfig",
            "description" : "???"
          },
          "tokenUrl" : {
            "type" : "string",
            "description" : "???"
          },
          "useCookie" : {
            "type" : "boolean",
            "description" : "???"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "pkce" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.auth.PKCEConfig"
            } ],
            "description" : "???"
          },
          "authorizeUrl" : {
            "type" : "string",
            "description" : "???"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "callbackUrl" : {
            "type" : "string",
            "description" : "???"
          },
          "proxy" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/play.api.libs.ws.WSProxyServer"
            } ],
            "description" : "???"
          },
          "apiKeyMetaField" : {
            "type" : "string",
            "description" : "???"
          },
          "clientSecret" : {
            "type" : "string",
            "description" : "???"
          },
          "useJson" : {
            "type" : "boolean",
            "description" : "???"
          },
          "oidConfig" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "claims" : {
            "type" : "string",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noWildcardRedirectURI" : {
            "type" : "boolean",
            "description" : "???"
          },
          "nameField" : {
            "type" : "string",
            "description" : "???"
          },
          "introspectionUrl" : {
            "type" : "string",
            "description" : "???"
          },
          "logoutUrl" : {
            "type" : "string",
            "description" : "???"
          },
          "dataOverride" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "description" : "???"
          },
          "userInfoUrl" : {
            "type" : "string",
            "description" : "???"
          },
          "jwtVerifier" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.models.AlgoSettings"
            } ],
            "description" : "???"
          },
          "readProfileFromToken" : {
            "type" : "boolean",
            "description" : "???"
          },
          "sessionCookieValues" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SessionCookieValues",
            "description" : "???"
          }
        },
        "type" : "object",
        "description" : "???"
      },
      "otoroshi.models.GlobalJwtVerifier" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of verifier",
            "enum" : [ "global" ]
          },
          "desc" : {
            "type" : "string",
            "description" : "Verifier description"
          },
          "name" : {
            "type" : "string",
            "description" : "Verifier name"
          },
          "strict" : {
            "type" : "boolean",
            "description" : "Does it fail if JWT not found"
          },
          "source" : {
            "$ref" : "#/components/schemas/otoroshi.models.JwtTokenLocation",
            "description" : "Where to find the jwt token"
          },
          "algoSettings" : {
            "$ref" : "#/components/schemas/otoroshi.models.AlgoSettings",
            "description" : "Algo settings of the verifier"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "id" : {
            "type" : "string",
            "description" : "Verifier id"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "Entity location"
          },
          "strategy" : {
            "$ref" : "#/components/schemas/otoroshi.models.VerifierStrategy",
            "description" : "The strategy of the verifier"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          }
        },
        "type" : "object",
        "description" : "Otoroshi model for JWT token verifier"
      },
      "otoroshi.models.ServiceGroup" : {
        "type" : "object",
        "description" : "The otoroshi model for a group of services",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "A unique random string to identify your service"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "Entity location"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of your service. Only for debug and human readability purposes"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Just a bunch of random properties"
          },
          "description" : {
            "type" : "string",
            "description" : "Entity description"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          }
        }
      },
      "otoroshi.ssl.pki.models.GenCsrQuery" : {
        "type" : "object",
        "description" : "Settings for generating a certificate",
        "properties" : {
          "client" : {
            "type" : "boolean",
            "description" : "Is cert client ?"
          },
          "hosts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Certificate SANs"
          },
          "key" : {
            "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenKeyPairQuery",
            "description" : "Keypair specs"
          },
          "includeAIA" : {
            "type" : "boolean",
            "description" : "Include AIA extension (if generated from otoroshi CA)"
          },
          "signatureAlg" : {
            "type" : "string",
            "description" : "Signature algorithm"
          },
          "existingSerialNumber" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "integer",
              "format" : "int64"
            } ],
            "description" : ""
          },
          "duration" : {
            "type" : "number",
            "description" : "Certificate lifespan"
          },
          "digestAlg" : {
            "type" : "string",
            "description" : "Digest algo"
          },
          "ca" : {
            "type" : "boolean",
            "description" : "Is cert ca ?"
          },
          "name" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Certificate name"
          },
          "subject" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Certificate subject"
          }
        }
      },
      "otoroshi.utils.mailer.ConsoleMailerSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of exporter",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
          }
        },
        "type" : "object",
        "description" : "Settings for the console mailer"
      },
      "otoroshi.script.Script" : {
        "type" : "object",
        "description" : "An otoroshi plugins stored as scala code in the otoroshi datastore",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the script"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "Entity location"
          },
          "desc" : {
            "type" : "string",
            "description" : "The description of the script"
          },
          "code" : {
            "type" : "string",
            "description" : "The code of the script"
          },
          "id" : {
            "type" : "string",
            "description" : "The id of the script"
          },
          "type" : {
            "$ref" : "#/components/schemas/otoroshi.script.PluginType",
            "description" : "Plugin type"
          }
        }
      },
      "otoroshi.utils.mailer.MailjetSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of exporter",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
          },
          "apiKeyPublic" : {
            "type" : "string",
            "description" : "Public key"
          },
          "apiKeyPrivate" : {
            "type" : "string",
            "description" : "Private key"
          },
          "to" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.mailer.EmailLocation"
            },
            "description" : "Destination email address"
          }
        },
        "type" : "object",
        "description" : "Settings for the mailjet mailer"
      },
      "play.api.libs.ws.WSProxyServer" : {
        "type" : "object",
        "properties" : {
          "host" : {
            "type" : "string",
            "description" : "The hostname of the proxy server."
          },
          "port" : {
            "type" : "string",
            "description" : "The port of the proxy server."
          },
          "protocol" : {
            "type" : "string",
            "description" : "The protocol of the proxy server.  Use \"http\" or \"https\".  Defaults to \"http\" if not specified."
          },
          "principal" : {
            "type" : "string",
            "description" : "The principal (aka username) of the credentials for the proxy server."
          },
          "password" : {
            "type" : "string",
            "description" : "The password for the credentials for the proxy server."
          },
          "ntlmDomain" : {
            "type" : "string",
            "description" : "The ntlm domain for the proxy server."
          },
          "encoding" : {
            "type" : "string",
            "description" : "The realm's charset."
          },
          "nonProxyHosts" : {
            "type" : "string",
            "description" : "The non proxied hosts"
          }
        },
        "description" : "Proxy server"
      },
      "otoroshi.models.ServiceDescriptorIdentifier" : {
        "type" : "string",
        "description" : "the id of a service prefixed by 'service_'"
      },
      "otoroshi.models.ESKPAlgoSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of algosettings",
            "enum" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Size of the key"
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id to use the keypair"
          }
        },
        "type" : "object",
        "description" : "Settings to use elliptic curve signing algorithm from a certificate keypair"
      },
      "otoroshi.models.ServiceDescriptor" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "buildMode" : {
            "type" : "boolean",
            "description" : "???"
          },
          "hosts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "privateApp" : {
            "type" : "boolean",
            "description" : "???"
          },
          "localScheme" : {
            "type" : "string",
            "description" : "???"
          },
          "authConfigRef" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "issueCertCA" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "root" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "additionalHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "domain" : {
            "type" : "string",
            "description" : "???"
          },
          "clientConfig" : {
            "$ref" : "#/components/schemas/otoroshi.models.ClientConfig",
            "description" : "???"
          },
          "matchingRoot" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "forceHttps" : {
            "type" : "boolean",
            "description" : "???"
          },
          "localHost" : {
            "type" : "string",
            "description" : "???"
          },
          "sendOtoroshiHeadersBack" : {
            "type" : "boolean",
            "description" : "???"
          },
          "healthCheck" : {
            "$ref" : "#/components/schemas/otoroshi.models.HealthCheck",
            "description" : "???"
          },
          "strictlyPrivate" : {
            "type" : "boolean",
            "description" : "???"
          },
          "detectApiKeySooner" : {
            "type" : "boolean",
            "description" : "???"
          },
          "allowHttp10" : {
            "type" : "boolean",
            "description" : "???"
          },
          "subdomain" : {
            "type" : "string",
            "description" : "???"
          },
          "paths" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "stripPath" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secComAlgoChallengeOtoToBack" : {
            "$ref" : "#/components/schemas/otoroshi.models.AlgoSettings",
            "description" : "???"
          },
          "apiKeyConstraints" : {
            "$ref" : "#/components/schemas/otoroshi.models.ApiKeyConstraints",
            "description" : "???"
          },
          "env" : {
            "type" : "string",
            "description" : "???"
          },
          "xForwardedHeaders" : {
            "type" : "boolean",
            "description" : "???"
          },
          "transformerRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "gzip" : {
            "$ref" : "#/components/schemas/otoroshi.utils.gzip.GzipConfig",
            "description" : "???"
          },
          "sendInfoToken" : {
            "type" : "boolean",
            "description" : "???"
          },
          "tcpUdpTunneling" : {
            "type" : "boolean",
            "description" : "???"
          },
          "removeHeadersOut" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "useAkkaHttpClient" : {
            "type" : "boolean",
            "description" : "???"
          },
          "maintenanceMode" : {
            "type" : "boolean",
            "description" : "???"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "removeHeadersIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "logAnalyticsOnServer" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secComAlgoInfoToken" : {
            "$ref" : "#/components/schemas/otoroshi.models.AlgoSettings",
            "description" : "???"
          },
          "userFacing" : {
            "type" : "boolean",
            "description" : "???"
          },
          "transformerConfig" : {
            "type" : "object",
            "description" : "???"
          },
          "clientValidatorRef" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "securityExcludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "ipFiltering" : {
            "$ref" : "#/components/schemas/otoroshi.models.IpFiltering",
            "description" : "???"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.models.Target"
            },
            "description" : "???"
          },
          "redirection" : {
            "$ref" : "#/components/schemas/otoroshi.models.RedirectionSettings",
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "restrictions" : {
            "$ref" : "#/components/schemas/otoroshi.models.Restrictions",
            "description" : "???"
          },
          "overrideHost" : {
            "type" : "boolean",
            "description" : "???"
          },
          "accessValidator" : {
            "$ref" : "#/components/schemas/otoroshi.script.AccessValidatorRef",
            "description" : "???"
          },
          "sendStateChallenge" : {
            "type" : "boolean",
            "description" : "???"
          },
          "chaosConfig" : {
            "$ref" : "#/components/schemas/otoroshi.models.ChaosConfig",
            "description" : "???"
          },
          "secComInfoTokenVersion" : {
            "$ref" : "#/components/schemas/otoroshi.models.SecComInfoTokenVersion",
            "description" : "???"
          },
          "additionalHeadersOut" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComHeaders" : {
            "$ref" : "#/components/schemas/otoroshi.models.SecComHeaders",
            "description" : "???"
          },
          "matchingHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComAlgoChallengeBackToOto" : {
            "$ref" : "#/components/schemas/otoroshi.models.AlgoSettings",
            "description" : "???"
          },
          "secComUseSameAlgo" : {
            "type" : "boolean",
            "description" : "???"
          },
          "useNewWSClient" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secComExcludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "redirectToLocal" : {
            "type" : "boolean",
            "description" : "???"
          },
          "enforceSecureCommunication" : {
            "type" : "boolean",
            "description" : "???"
          },
          "missingOnlyHeadersOut" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComSettings" : {
            "$ref" : "#/components/schemas/otoroshi.models.AlgoSettings",
            "description" : "???"
          },
          "handleLegacyDomain" : {
            "type" : "boolean",
            "description" : "???"
          },
          "canary" : {
            "$ref" : "#/components/schemas/otoroshi.models.Canary",
            "description" : "???"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "plugins" : {
            "$ref" : "#/components/schemas/otoroshi.script.plugins.Plugins",
            "description" : "???"
          },
          "secComTtl" : {
            "type" : "number",
            "description" : "???"
          },
          "description" : {
            "type" : "string",
            "description" : "???"
          },
          "secComVersion" : {
            "$ref" : "#/components/schemas/otoroshi.models.SecComVersion",
            "description" : "???"
          },
          "preRouting" : {
            "$ref" : "#/components/schemas/otoroshi.script.PreRoutingRef",
            "description" : "???"
          },
          "groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "readOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "privatePatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "targetsLoadBalancing" : {
            "$ref" : "#/components/schemas/otoroshi.models.LoadBalancing",
            "description" : "???"
          },
          "cors" : {
            "$ref" : "#/components/schemas/otoroshi.models.CorsSettings",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "publicPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "api" : {
            "$ref" : "#/components/schemas/otoroshi.models.ApiDescriptor",
            "description" : "???"
          },
          "missingOnlyHeadersIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "issueCert" : {
            "type" : "boolean",
            "description" : "???"
          },
          "headersVerification" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "jwtVerifier" : {
            "$ref" : "#/components/schemas/otoroshi.models.JwtVerifier",
            "description" : "???"
          },
          "letsEncrypt" : {
            "type" : "boolean",
            "description" : "???"
          }
        }
      },
      "otoroshi.models.TeamAccess" : {
        "type" : "object",
        "description" : "Access rights for teams",
        "properties" : {
          "canRead" : {
            "type" : "boolean",
            "description" : "Can this access right read data"
          },
          "value" : {
            "type" : "string",
            "description" : "Access pattern"
          },
          "canWrite" : {
            "type" : "boolean",
            "description" : "Can this access right write data"
          }
        }
      },
      "otoroshi.ssl.Cert" : {
        "properties" : {
          "certType" : {
            "type" : "string",
            "description" : "the kind of certificate",
            "enum" : [ "client", "ca", "letsEncrypt", "keypair", "selfSigned", "certificate" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Entity name"
          },
          "revoked" : {
            "type" : "boolean",
            "description" : "Certificate is revoked"
          },
          "subject" : {
            "type" : "string",
            "description" : "Certificate subject"
          },
          "description" : {
            "type" : "string",
            "description" : "Entity description"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "domain" : {
            "type" : "string",
            "description" : "Certificate domain"
          },
          "ca" : {
            "type" : "boolean",
            "description" : "Is cert a CA ?"
          },
          "keypair" : {
            "type" : "boolean",
            "description" : "Is cert used for its keypair only ?"
          },
          "letsEncrypt" : {
            "type" : "boolean",
            "description" : "Let's encrypt (ACME) generated"
          },
          "autoRenew" : {
            "type" : "boolean",
            "description" : "Auto renew cert"
          },
          "caRef" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Reference to the CA (if any)"
          },
          "to" : {
            "type" : "number",
            "description" : "Stop date"
          },
          "exposed" : {
            "type" : "boolean",
            "description" : "Is the cert exposed (public key exposed in jwks.json)"
          },
          "id" : {
            "type" : "string",
            "description" : "Entity id"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "Entity location"
          },
          "sans" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Certificate SANs"
          },
          "client" : {
            "type" : "boolean",
            "description" : "Is cert a client cert ?"
          },
          "from" : {
            "type" : "number",
            "description" : "Start date"
          },
          "valid" : {
            "type" : "boolean",
            "description" : "Is cert valid"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "privateKey" : {
            "type" : "string",
            "description" : "Certificate private key (PEM encoded)"
          },
          "selfSigned" : {
            "type" : "boolean",
            "description" : "Is cert self signed"
          },
          "chain" : {
            "type" : "string",
            "description" : "Certicates chain (PEM encoded)"
          },
          "password" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Certificate password"
          }
        },
        "type" : "object",
        "description" : "The otoroshi model for X509 certificates"
      },
      "otoroshi.models.AlgoSettings" : {
        "oneOf" : [ {
          "$ref" : "#/components/schemas/otoroshi.models.ESAlgoSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.models.ESKPAlgoSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.models.HSAlgoSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.models.JWKSAlgoSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.models.KidAlgoSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.models.RSAKPAlgoSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.models.RSAlgoSettings"
        } ]
      },
      "otoroshi.tcp.TcpRule" : {
        "type" : "object",
        "description" : "Associate targets for a domain (SNI)",
        "properties" : {
          "domain" : {
            "type" : "string",
            "description" : "match on SNI domain"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.tcp.TcpTarget"
            },
            "description" : "TCP targets"
          }
        }
      },
      "otoroshi.models.CleverCloudSettings" : {
        "type" : "object",
        "description" : "Settings for connection to the clever-cloud api",
        "properties" : {
          "consumerSecret" : {
            "type" : "string",
            "description" : "Clever-Cloud oauth consumer secret"
          },
          "consumerKey" : {
            "type" : "string",
            "description" : "Clever-Cloud oauth consumer key"
          },
          "secret" : {
            "type" : "string",
            "description" : "Clever-Cloud oauth secret"
          },
          "token" : {
            "type" : "string",
            "description" : "Clever-Cloud oauth token"
          },
          "orgaId" : {
            "type" : "string",
            "description" : "Clever-Cloud organization id"
          }
        }
      },
      "otoroshi.next.models.NgRoute" : {
        "type" : "object",
        "description" : "A routing primitive representing how a request is matched and where the request is forwarded",
        "properties" : {
          "debug_flow" : {
            "type" : "boolean",
            "description" : "Enable report debugging"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Is the route enabled"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the route"
          },
          "id" : {
            "type" : "string",
            "description" : "The ud of the route"
          },
          "export_reporting" : {
            "type" : "boolean",
            "description" : "Export the execution reporting through standard data exporter"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "The metadata of the route"
          },
          "frontend" : {
            "$ref" : "#/components/schemas/otoroshi.next.models.NgFrontend",
            "description" : "The frontend of the route"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "The location of the route"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "The tags of the route"
          },
          "capture" : {
            "type" : "boolean",
            "description" : "Capture http traffic"
          },
          "groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "The groups of the route"
          },
          "backend_ref" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "The backend id of the route (if one)"
          },
          "description" : {
            "type" : "string",
            "description" : "The description of the route"
          },
          "backend" : {
            "$ref" : "#/components/schemas/otoroshi.next.models.NgBackend",
            "description" : "The backend of the route"
          }
        }
      },
      "otoroshi.models.GlobalConfig" : {
        "type" : "object",
        "description" : "The global config (dynamic) for otoroshi",
        "properties" : {
          "geolocationSettings" : {
            "$ref" : "#/components/schemas/otoroshi.models.GeolocationSettings",
            "description" : "Settings for geolocation extraction"
          },
          "alertsEmails" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Email addresses that will receive all Otoroshi alert events"
          },
          "throttlingQuota" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Authorized number of calls per second globally, measured on 10 seconds"
          },
          "anonymousReporting" : {
            "type" : "boolean",
            "description" : "???"
          },
          "maxWebhookSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Max number of items in webhooks"
          },
          "env" : {
            "type" : "object",
            "description" : "???"
          },
          "maxConcurrentRequests" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "The number of authorized request processed at the same time"
          },
          "cleverSettings" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.models.CleverCloudSettings"
            } ],
            "description" : "Optional CleverCloud configuration"
          },
          "templates" : {
            "$ref" : "#/components/schemas/otoroshi.models.DefaultTemplates",
            "description" : "The otoroshi default templates for entities"
          },
          "endlessIpAddresses" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "IP addresses for which any request to Otoroshi will respond with 128 Gb of zeros"
          },
          "plugins" : {
            "$ref" : "#/components/schemas/otoroshi.script.plugins.Plugins",
            "description" : "global plugins settings"
          },
          "kafkaConfig" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.events.KafkaConfig"
            } ],
            "description" : "Kafka settings"
          },
          "maxLogsSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of events kept locally"
          },
          "proxies" : {
            "$ref" : "#/components/schemas/otoroshi.models.Proxies",
            "description" : "Web proxies settings"
          },
          "enableEmbeddedMetrics" : {
            "type" : "boolean",
            "description" : "Enable embedded metrics"
          },
          "elasticReadsConfig" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.models.ElasticAnalyticsConfig"
            } ],
            "description" : "Config. for elastic reads"
          },
          "trustXForwarded" : {
            "type" : "boolean",
            "description" : "Use X-Forwarded-* headers for routing"
          },
          "quotasSettings" : {
            "$ref" : "#/components/schemas/otoroshi.models.QuotasAlmostExceededSettings",
            "description" : "Settings to generate alert when an apikey almost exceeded or exceeded its quotas"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "limitConcurrentRequests" : {
            "type" : "boolean",
            "description" : "If enabled, Otoroshi will reject new request if too much at the same time"
          },
          "useAkkaHttpClient" : {
            "type" : "boolean",
            "description" : "Globally use akka http client for everything"
          },
          "elasticWritesConfigs" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.models.ElasticAnalyticsConfig"
            },
            "description" : "Configs. for Elastic writes"
          },
          "logAnalyticsOnServer" : {
            "type" : "boolean",
            "description" : "Log analytics event on the server"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "apiReadOnly" : {
            "type" : "boolean",
            "description" : "If enabled, Admin API won't be able to write/update/delete entities"
          },
          "backOfficeAuthRef" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Id of the auth module used for otoroshi-ui login"
          },
          "streamEntityOnly" : {
            "type" : "boolean",
            "description" : "HTTP will be streamed only. Doesn't work with old browsers"
          },
          "otoroshiId" : {
            "type" : "string",
            "description" : "Unique id for this otoroshi instance"
          },
          "mailerSettings" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.utils.mailer.MailerSettings"
            } ],
            "description" : "Optional mailer configuration"
          },
          "lines" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Possibles lines for Otoroshi"
          },
          "extensions" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "description" : "???"
          },
          "middleFingers" : {
            "type" : "boolean",
            "description" : "Use middle finger emoji as a response character for endless HTTP responses"
          },
          "analyticsWebhooks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.models.Webhook"
            },
            "description" : "Webhook that will receive all internal Otoroshi events"
          },
          "autoCert" : {
            "$ref" : "#/components/schemas/otoroshi.models.AutoCert",
            "description" : "Auto certs settings"
          },
          "maintenanceMode" : {
            "type" : "boolean",
            "description" : "Global maintenant mode"
          },
          "initWithNewEngine" : {
            "type" : "boolean",
            "description" : "Was this instance init with new engine as default"
          },
          "letsEncryptSettings" : {
            "$ref" : "#/components/schemas/otoroshi.utils.letsencrypt.LetsEncryptSettings",
            "description" : "Let's encrypt (ACME) settings"
          },
          "snowMonkeyConfig" : {
            "$ref" : "#/components/schemas/otoroshi.models.SnowMonkeyConfig",
            "description" : "Snowmonky settings"
          },
          "scripts" : {
            "$ref" : "#/components/schemas/otoroshi.models.GlobalScripts",
            "description" : "global plugins settings. will be deprecated soon"
          },
          "perIpThrottlingQuota" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Authorized number of calls per second globally per IP address, measured on 10 seconds"
          },
          "useCircuitBreakers" : {
            "type" : "boolean",
            "description" : "If enabled, services will be authorized to use circuit breakers"
          },
          "maxHttp10ResponseSize" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "The max size in bytes of an HTTP 1.0 response"
          },
          "tlsSettings" : {
            "$ref" : "#/components/schemas/otoroshi.models.TlsSettings",
            "description" : "TLS settings"
          },
          "statsdConfig" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.events.StatsdConfig"
            } ],
            "description" : "Statsd settings (agent connection)"
          },
          "autoLinkToDefaultGroup" : {
            "type" : "boolean",
            "description" : "If not defined, every new service descriptor will be added to the default group"
          },
          "alertsWebhooks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.models.Webhook"
            },
            "description" : "Webhook that will receive all Otoroshi alert events"
          },
          "ipFiltering" : {
            "$ref" : "#/components/schemas/otoroshi.models.IpFiltering",
            "description" : "Global ip filtering settings"
          },
          "u2fLoginOnly" : {
            "type" : "boolean",
            "description" : "If enabled, login to backoffice through Auth0 will be disabled"
          },
          "userAgentSettings" : {
            "$ref" : "#/components/schemas/otoroshi.models.UserAgentSettings",
            "description" : "Settings for useragent extraction"
          }
        }
      },
      "StringList" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        }
      },
      "otoroshi.ssl.pki.models.GenKeyPairQuery" : {
        "type" : "object",
        "description" : "Settings for generating a keypair",
        "properties" : {
          "algo" : {
            "type" : "string",
            "description" : "Keypair algorithm"
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Keypair size"
          }
        }
      },
      "HealthCheckEventList" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/otoroshi.events.HealthCheckEvent"
        }
      },
      "otoroshi.auth.BasicAuthUser" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "metadata" : {
            "type" : "object",
            "description" : "???"
          },
          "password" : {
            "type" : "string",
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "email" : {
            "type" : "string",
            "description" : "???"
          },
          "webauthn" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.auth.WebAuthnDetails"
            } ],
            "description" : "???"
          },
          "rights" : {
            "$ref" : "#/components/schemas/otoroshi.models.UserRights",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          }
        }
      },
      "LiveStats" : {
        "type" : "object",
        "description" : "Service live stats"
      },
      "Any" : {
        "oneOf" : [ {
          "type" : "object"
        }, {
          "type" : "array"
        }, {
          "type" : "string"
        }, {
          "type" : "boolean"
        }, {
          "type" : "number"
        }, {
          "type" : "integer"
        } ]
      },
      "otoroshi.models.SimpleOtoroshiAdmin" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of admin",
            "enum" : [ "simple", "webauthn" ]
          },
          "username" : {
            "type" : "string",
            "description" : "User username"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "label" : {
            "type" : "string",
            "description" : "User label"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "Entity location"
          },
          "typ" : {
            "$ref" : "#/components/schemas/otoroshi.models.OtoroshiAdminType",
            "description" : "Type of user"
          },
          "createdAt" : {
            "type" : "number",
            "description" : "User creation date"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "rights" : {
            "$ref" : "#/components/schemas/otoroshi.models.UserRights",
            "description" : "User rights"
          },
          "password" : {
            "type" : "string",
            "description" : "User password (bcrypt hashed)"
          }
        },
        "type" : "object",
        "description" : "An otoroshi admin user"
      },
      "otoroshi.models.EntityIdentifier" : {
        "oneOf" : [ {
          "$ref" : "#/components/schemas/otoroshi.models.ServiceDescriptorIdentifier"
        }, {
          "$ref" : "#/components/schemas/otoroshi.models.ServiceGroupIdentifier"
        } ]
      },
      "otoroshi.ssl.pki.models.SignCertResponse" : {
        "type" : "object",
        "description" : "Response for a certificate signing operation",
        "properties" : {
          "cert" : {
            "type" : "string",
            "description" : "Cert (PEM encoded)"
          },
          "csr" : {
            "type" : "string",
            "description" : "CSR (PEM encoded)"
          },
          "ca" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string",
              "description" : "pem encoded X509 certificate"
            } ],
            "description" : "Ca cert (PEM encoded)"
          }
        }
      },
      "otoroshi.events.KafkaConfig" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of exporter",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
          },
          "sendEvents" : {
            "type" : "boolean",
            "description" : "Send events to it, or just connect"
          },
          "truststore" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Optional truststore"
          },
          "hostValidation" : {
            "type" : "boolean",
            "description" : "Enabled TLS hostname validation"
          },
          "servers" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "URLs of the kafka servers"
          },
          "mtlsConfig" : {
            "$ref" : "#/components/schemas/otoroshi.utils.http.MtlsConfig",
            "description" : "TLS config to access the cluster"
          },
          "securityProtocol" : {
            "type" : "string",
            "description" : "Used security protocol"
          },
          "keystore" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Optional keystore"
          },
          "topic" : {
            "type" : "string",
            "description" : "Optional kafka topic (otoroshi-events by default)"
          },
          "keyPass" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Optional keypass"
          },
          "saslConfig" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.events.SaslConfig"
            } ],
            "description" : "SASL configuration"
          }
        },
        "type" : "object",
        "description" : "???"
      },
      "otoroshi.models.UserRights" : {
        "type" : "object",
        "description" : "Represent a list of user rights",
        "properties" : {
          "rights" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.models.UserRight"
            },
            "description" : "Access rights of a user"
          }
        }
      },
      "otoroshi.auth.WebAuthnDetails" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "handle" : {
            "type" : "string",
            "description" : "???"
          },
          "credentials" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "description" : "???"
          }
        }
      },
      "otoroshi.tcp.TcpTarget" : {
        "type" : "object",
        "description" : "Target for a TCP proxy",
        "properties" : {
          "host" : {
            "type" : "string",
            "description" : "Target host"
          },
          "ip" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Target ip"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Target port"
          },
          "tls" : {
            "type" : "boolean",
            "description" : "Use tls"
          }
        }
      },
      "otoroshi.models.RSAlgoSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of algosettings",
            "enum" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "SHA function size"
          },
          "publicKey" : {
            "type" : "string",
            "description" : "Public key (for verification)"
          },
          "privateKey" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "Private key (for signing)"
          }
        },
        "type" : "object",
        "description" : "Settings to use RSA signing algorithm"
      },
      "otoroshi.tcp.TcpService" : {
        "type" : "object",
        "description" : "Model for a TCP proxy",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Service enabled"
          },
          "description" : {
            "type" : "string",
            "description" : "Entity description"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "network port"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "rules" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.tcp.TcpRule"
            },
            "description" : "Routing rules"
          },
          "clientAuth" : {
            "$ref" : "#/components/schemas/otoroshi.ssl.ClientAuth",
            "description" : "Use client authentication"
          },
          "interface" : {
            "type" : "string",
            "description" : "Network interface"
          },
          "sni" : {
            "$ref" : "#/components/schemas/otoroshi.tcp.SniSettings",
            "description" : "SNI settings"
          },
          "id" : {
            "type" : "string",
            "description" : "Entity id"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "Entity location"
          },
          "name" : {
            "type" : "string",
            "description" : "Entity name"
          },
          "tls" : {
            "$ref" : "#/components/schemas/otoroshi.tcp.TlsMode",
            "description" : "TLS mode"
          }
        }
      },
      "WebAuthnRegistrationFinishBody" : {
        "type" : "object",
        "description" : ""
      },
      "otoroshi.models.Webhook" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of exporter",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
          },
          "url" : {
            "type" : "string",
            "description" : "The URL where events are posted"
          },
          "headers" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Headers to authorize the call or whatever"
          },
          "mtlsConfig" : {
            "$ref" : "#/components/schemas/otoroshi.utils.http.MtlsConfig",
            "description" : "TLS config when calling webhook"
          }
        },
        "type" : "object",
        "description" : "Settings for webhook call"
      },
      "otoroshi.models.RemainingQuotas" : {
        "type" : "object",
        "description" : "Remaining quotas for an apikey",
        "properties" : {
          "currentCallsPerSec" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Current number of call per second"
          },
          "remainingCallsPerSec" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Remaining number of call per second"
          },
          "currentCallsPerDay" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Current number of call per day"
          },
          "authorizedCallsPerDay" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of authorized call per day"
          },
          "currentCallsPerMonth" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Current number of call per month"
          },
          "remainingCallsPerMonth" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Remaining number of call per month"
          },
          "authorizedCallsPerSec" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of authorized call per second"
          },
          "authorizedCallsPerMonth" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of authorized call per month"
          },
          "remainingCallsPerDay" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Remaining number of call per day"
          }
        }
      },
      "ErrorResponse" : {
        "type" : "object",
        "description" : "error response"
      },
      "otoroshi.next.models.StoredNgBackend" : {
        "type" : "object",
        "description" : "A backend that can be stored in the otoroshi datastore",
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "The description of the backend"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "The tags of the backend"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "The metadata of the backend"
          },
          "backend" : {
            "$ref" : "#/components/schemas/otoroshi.next.models.NgBackend",
            "description" : "The actual backend"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the backend"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "The location of the backend"
          },
          "id" : {
            "type" : "string",
            "description" : "The id of the backend"
          }
        }
      },
      "Empty" : {
        "type" : "object",
        "description" : "an empty body. Useful for RPC like endpoints"
      },
      "otoroshi.models.ServiceGroupIdentifier" : {
        "type" : "string",
        "description" : "the id of a group prefixed by 'group_'"
      },
      "otoroshi.ssl.pki.models.GenCertResponse" : {
        "type" : "object",
        "description" : "Response for a certificate generation operation",
        "properties" : {
          "ca" : {
            "type" : "string",
            "description" : "Ca cert (PEM encoded)"
          },
          "caChain" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "pem encoded X509 certificate"
            },
            "description" : "Ca chain (PEM encoded)"
          },
          "csrQuery" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/otoroshi.ssl.pki.models.GenCsrQuery"
            } ],
            "description" : "JSON generation query"
          },
          "cert" : {
            "type" : "string",
            "description" : "Cert (PEM encoded)"
          },
          "serial" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Certificate serial number"
          },
          "key" : {
            "type" : "string",
            "description" : "Private key (PEM encoded)"
          },
          "csr" : {
            "type" : "string",
            "description" : "CSR (PEM encoded)"
          }
        }
      },
      "HostMetrics" : {
        "type" : "object",
        "description" : "Host metrics"
      },
      "otoroshi.models.SnowMonkeyConfig" : {
        "type" : "object",
        "description" : "Settings for the snow monkey (chaos engineering)",
        "properties" : {
          "dryRun" : {
            "type" : "boolean",
            "description" : "Whether or not outages will actualy impact requests"
          },
          "outageDurationTo" : {
            "type" : "number",
            "description" : "End of outage duration range"
          },
          "chaosConfig" : {
            "$ref" : "#/components/schemas/otoroshi.models.ChaosConfig",
            "description" : "Chaos settings"
          },
          "timesPerDay" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of time per day each service will be outage"
          },
          "outageDurationFrom" : {
            "type" : "number",
            "description" : "Start of outage duration range"
          },
          "startTime" : {
            "type" : "string",
            "description" : "Start time of Snow Monkey each day"
          },
          "includeUserFacingDescriptors" : {
            "type" : "boolean",
            "description" : "Whether or not user facing apps. will be impacted by Snow Monkey"
          },
          "targetGroups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Groups impacted by Snow Monkey. If empty, all groups will be impacted"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether or not this config is enabled"
          },
          "stopTime" : {
            "type" : "string",
            "description" : "Stop time of Snow Monkey each day"
          },
          "outageStrategy" : {
            "$ref" : "#/components/schemas/otoroshi.models.OutageStrategy",
            "description" : ""
          }
        }
      },
      "otoroshi.auth.GroupFilter" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "group" : {
            "type" : "string",
            "description" : "???"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/otoroshi.models.TenantAccess",
            "description" : "???"
          },
          "team" : {
            "type" : "string",
            "description" : "???"
          }
        }
      },
      "CertValidResponse" : {
        "type" : "object",
        "description" : "Is certificate valid",
        "properties" : {
          "valid" : {
            "type" : "boolean"
          }
        }
      },
      "BulkResponseBody" : {
        "type" : "object",
        "description" : "BulkResponseBody object"
      },
      "otoroshi.models.Target" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "host" : {
            "type" : "string",
            "description" : "???"
          },
          "weight" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "protocol" : {
            "type" : "string",
            "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
            "description" : "???"
          },
          "predicate" : {
            "$ref" : "#/components/schemas/otoroshi.models.TargetPredicate",
            "description" : "???"
          },
          "ipAddress" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "mtlsConfig" : {
            "$ref" : "#/components/schemas/otoroshi.utils.http.MtlsConfig",
            "description" : "???"
          },
          "scheme" : {
            "type" : "string",
            "description" : "???"
          }
        }
      },
      "otoroshi.models.OtoroshiAdmin" : {
        "oneOf" : [ {
          "$ref" : "#/components/schemas/otoroshi.models.SimpleOtoroshiAdmin"
        }, {
          "$ref" : "#/components/schemas/otoroshi.models.WebAuthnOtoroshiAdmin"
        } ]
      },
      "otoroshi.auth.BasicAuthModuleConfig" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the type of the module",
            "enum" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
          },
          "desc" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "clientSideSessionEnabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "basicAuth" : {
            "type" : "boolean",
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "users" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.auth.BasicAuthUser"
            },
            "description" : "???"
          },
          "sessionMaxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "webauthn" : {
            "type" : "boolean",
            "description" : "???"
          },
          "userValidators" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.JsonPathValidator"
            },
            "description" : "???"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "sessionCookieValues" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SessionCookieValues",
            "description" : "???"
          }
        },
        "type" : "object",
        "description" : "???"
      },
      "otoroshi.utils.mailer.EmailLocation" : {
        "type" : "object",
        "description" : "Email location settings",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Destination name"
          },
          "email" : {
            "type" : "string",
            "description" : "Email address"
          }
        }
      },
      "otoroshi.models.ESAlgoSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of algosettings",
            "enum" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "SHA function size"
          },
          "publicKey" : {
            "type" : "string",
            "description" : "The EC private key. If used for signing, can be null"
          },
          "privateKey" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "The EC private key. If used for verification, can be null"
          }
        },
        "type" : "object",
        "description" : "Settings to use elliptic curve signing algorithm"
      },
      "WebAuthnRegistrationStartBody" : {
        "type" : "object",
        "description" : ""
      },
      "PatchDocument" : {
        "type" : "object",
        "description" : "A JSONPatch document as defined by RFC 6902",
        "required" : [ "op", "path" ],
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "The operation to be performed",
            "enum" : [ "add", "remove", "replace", "move", "copy", "test" ]
          },
          "path" : {
            "type" : "string",
            "description" : "A JSON-Pointer"
          },
          "value" : {
            "type" : "object",
            "description" : "The value to be used within the operations."
          },
          "from" : {
            "type" : "string",
            "description" : "A string containing a JSON Pointer value."
          }
        }
      },
      "otoroshi.models.Tenant" : {
        "type" : "object",
        "description" : "An otoroshi model for an organization (otoroshi-ui)",
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Entity description"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "name" : {
            "type" : "string",
            "description" : "Entity name"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "id" : {
            "$ref" : "#/components/schemas/otoroshi.models.TenantId",
            "description" : "Entity id"
          }
        }
      },
      "otoroshi.models.Outage" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "descriptorName" : {
            "type" : "string",
            "description" : "???"
          },
          "descriptorId" : {
            "type" : "string",
            "description" : "???"
          },
          "until" : {
            "type" : "string",
            "description" : "???"
          },
          "duration" : {
            "type" : "number",
            "description" : "???"
          },
          "startedAt" : {
            "type" : "number",
            "description" : "???"
          }
        }
      },
      "otoroshi.utils.JsonPathValidator" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "path" : {
            "type" : "string",
            "description" : "???"
          },
          "value" : {
            "type" : "object",
            "description" : "???"
          },
          "error" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          }
        }
      },
      "otoroshi.utils.mailer.SendgridSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of exporter",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
          },
          "apiKey" : {
            "type" : "string",
            "description" : "Sendgrid apikey"
          },
          "to" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.mailer.EmailLocation"
            },
            "description" : "Destination email address"
          }
        },
        "type" : "object",
        "description" : "Settings for the sendgrid mailer"
      },
      "ByteStreamBody" : {
        "type" : "string",
        "description" : ""
      },
      "PemCertificateBody" : {
        "type" : "string",
        "description" : "PEM encoded certificate"
      },
      "OutagesList" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/otoroshi.models.Outage"
        }
      },
      "otoroshi.models.DataExporterConfig" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "desc" : {
            "type" : "string",
            "description" : "???"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "bufferSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "jsonWorkers" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "groupDuration" : {
            "type" : "number",
            "description" : "???"
          },
          "groupSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "type" : {
            "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfigType",
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "sendWorkers" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "config" : {
            "$ref" : "#/components/schemas/otoroshi.models.Exporter",
            "description" : "???"
          },
          "projection" : {
            "type" : "object",
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "filtering" : {
            "$ref" : "#/components/schemas/otoroshi.models.DataExporterConfigFiltering",
            "description" : "???"
          }
        }
      },
      "otoroshi.ssl.pki.models.GenKeyPairResponse" : {
        "type" : "object",
        "description" : "Response for a keypair generation operation",
        "properties" : {
          "publicKey" : {
            "type" : "string",
            "description" : "Public key (PEM encoded)"
          },
          "privateKey" : {
            "type" : "string",
            "description" : "Private key (PEM encoded)"
          }
        }
      },
      "PemCsrBody" : {
        "type" : "string",
        "description" : "PEM encoded csr"
      },
      "Unknown" : {
        "type" : "object",
        "description" : "value used by the openapi generator when no matching type found. Should be fixed in a near future."
      },
      "otoroshi.auth.SamlAuthModuleConfig" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the type of the module",
            "enum" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
          },
          "desc" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "ssoProtocolBinding" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SAMLProtocolBinding",
            "description" : "???"
          },
          "clientSideSessionEnabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "emailAttributeName" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "validatingCertificates" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "singleLogoutProtocolBinding" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SAMLProtocolBinding",
            "description" : "???"
          },
          "sessionMaxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "issuer" : {
            "type" : "string",
            "description" : "???"
          },
          "signature" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SAMLSignature",
            "description" : "???"
          },
          "userValidators" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.JsonPathValidator"
            },
            "description" : "???"
          },
          "singleLogoutUrl" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "type" : "string"
            } ],
            "description" : "???"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "usedNameIDAsEmail" : {
            "type" : "boolean",
            "description" : "???"
          },
          "singleSignOnUrl" : {
            "type" : "string",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "validateAssertions" : {
            "type" : "boolean",
            "description" : "???"
          },
          "nameIDFormat" : {
            "$ref" : "#/components/schemas/otoroshi.auth.NameIDFormat",
            "description" : "???"
          },
          "validateSignature" : {
            "type" : "boolean",
            "description" : "???"
          },
          "credentials" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SAMLCredentials",
            "description" : "???"
          },
          "sessionCookieValues" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SessionCookieValues",
            "description" : "???"
          }
        },
        "type" : "object",
        "description" : "???"
      },
      "otoroshi.auth.PKCEConfig" : {
        "type" : "object",
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "algorithm" : {
            "type" : "string",
            "description" : "???"
          }
        }
      },
      "otoroshi.events.StatsdConfig" : {
        "type" : "object",
        "description" : "Settings for connection to a statsd agent",
        "properties" : {
          "datadog" : {
            "type" : "boolean",
            "description" : "Datadog agent"
          },
          "host" : {
            "type" : "string",
            "description" : "The host of the StatsD agent"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The port of the StatsD agent"
          }
        }
      },
      "otoroshi.models.JWKSAlgoSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of algosettings",
            "enum" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "$ref" : "#/components/schemas/otoroshi.utils.http.MtlsConfig",
            "description" : "TLS config"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "oneOf" : [ {
              "type" : "string",
              "nullable" : true,
              "description" : "null type"
            }, {
              "$ref" : "#/components/schemas/play.api.libs.ws.WSProxyServer"
            } ],
            "description" : "Web proxy for http client"
          },
          "headers" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Http header when fetching JWKS"
          },
          "ttl" : {
            "type" : "number",
            "description" : "Cache ttl"
          },
          "timeout" : {
            "type" : "number",
            "description" : "Timeout when fetching JWKS"
          }
        },
        "type" : "object",
        "description" : "Settings to use keypair from JWKS for verification"
      },
      "otoroshi.ssl.pki.models.GenCsrResponse" : {
        "type" : "object",
        "description" : "Response for a csr generation operation",
        "properties" : {
          "csr" : {
            "type" : "string",
            "description" : "CSR (PEM encoded)"
          },
          "publicKey" : {
            "type" : "string",
            "description" : "Public key (PEM encoded)"
          },
          "privateKey" : {
            "type" : "string",
            "description" : "Private key (PEM encoded)"
          }
        }
      },
      "otoroshi.models.RSAKPAlgoSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of algosettings",
            "enum" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "SHA function size"
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          }
        },
        "type" : "object",
        "description" : "Settings to use RSA signing algorithm from a certificate keypair"
      },
      "otoroshi.utils.mailer.MailerSettings" : {
        "oneOf" : [ {
          "$ref" : "#/components/schemas/otoroshi.utils.mailer.ConsoleMailerSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.utils.mailer.GenericMailerSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.utils.mailer.MailgunSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.utils.mailer.MailjetSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.utils.mailer.NoneMailerSettings"
        }, {
          "$ref" : "#/components/schemas/otoroshi.utils.mailer.SendgridSettings"
        } ]
      },
      "otoroshi.auth.Oauth1ModuleConfig" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the type of the module",
            "enum" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
          },
          "accessTokenURL" : {
            "type" : "string",
            "description" : "???"
          },
          "desc" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "authorizeURL" : {
            "type" : "string",
            "description" : "???"
          },
          "rightsOverride" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/otoroshi.models.UserRights"
            },
            "description" : "???"
          },
          "consumerKey" : {
            "type" : "string",
            "description" : "???"
          },
          "callbackURL" : {
            "type" : "string",
            "description" : "???"
          },
          "profileURL" : {
            "type" : "string",
            "description" : "???"
          },
          "clientSideSessionEnabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "sessionMaxAge" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "httpMethod" : {
            "$ref" : "#/components/schemas/otoroshi.auth.OAuth1Provider",
            "description" : "???"
          },
          "userValidators" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.JsonPathValidator"
            },
            "description" : "???"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "requestTokenURL" : {
            "type" : "string",
            "description" : "???"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "consumerSecret" : {
            "type" : "string",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "sessionCookieValues" : {
            "$ref" : "#/components/schemas/otoroshi.auth.SessionCookieValues",
            "description" : "???"
          }
        },
        "type" : "object",
        "description" : "???"
      },
      "otoroshi.models.ErrorTemplate" : {
        "type" : "object",
        "description" : "Service descriptor error template",
        "properties" : {
          "template50x" : {
            "type" : "string",
            "description" : "The 50x error html template"
          },
          "templateMaintenance" : {
            "type" : "string",
            "description" : "The maintenance html template"
          },
          "templateBuild" : {
            "type" : "string",
            "description" : "The build html template"
          },
          "serviceId" : {
            "type" : "string",
            "description" : "Service id for this template"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "???"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "messages" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Map of messages"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "template40x" : {
            "type" : "string",
            "description" : "The 40x error html template"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "description" : {
            "type" : "string",
            "description" : "???"
          }
        }
      },
      "otoroshi.utils.mailer.NoneMailerSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of exporter",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
          }
        },
        "type" : "object",
        "description" : "Settings for the /dev/null mailer"
      },
      "BulkPatchBody" : {
        "type" : "object",
        "description" : "BulkPatchBody object"
      },
      "GlobalConfigImportBody" : {
        "type" : "object",
        "description" : ""
      },
      "otoroshi.auth.AuthModuleConfig" : {
        "oneOf" : [ {
          "$ref" : "#/components/schemas/otoroshi.auth.BasicAuthModuleConfig"
        }, {
          "$ref" : "#/components/schemas/otoroshi.auth.GenericOauth2ModuleConfig"
        }, {
          "$ref" : "#/components/schemas/otoroshi.auth.LdapAuthModuleConfig"
        }, {
          "$ref" : "#/components/schemas/otoroshi.auth.Oauth1ModuleConfig"
        }, {
          "$ref" : "#/components/schemas/otoroshi.auth.SamlAuthModuleConfig"
        } ]
      },
      "otoroshi.utils.mailer.GenericMailerSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of exporter",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
          },
          "url" : {
            "type" : "string",
            "description" : "Sender URL"
          },
          "headers" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Sender headers"
          },
          "to" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/otoroshi.utils.mailer.EmailLocation"
            },
            "description" : "Destination email address"
          }
        },
        "type" : "object",
        "description" : "Settings for the generic mailer (http requests)"
      },
      "TargetsList" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/otoroshi.models.Target"
        }
      },
      "otoroshi.models.WebAuthnOtoroshiAdmin" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of admin",
            "enum" : [ "simple", "webauthn" ]
          },
          "username" : {
            "type" : "string",
            "description" : "User username"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "label" : {
            "type" : "string",
            "description" : "User label"
          },
          "_loc" : {
            "$ref" : "#/components/schemas/otoroshi.models.EntityLocation",
            "description" : "Entity location"
          },
          "typ" : {
            "$ref" : "#/components/schemas/otoroshi.models.OtoroshiAdminType",
            "description" : "User type"
          },
          "createdAt" : {
            "type" : "number",
            "description" : "User creation date"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "rights" : {
            "$ref" : "#/components/schemas/otoroshi.models.UserRights",
            "description" : "User rights"
          },
          "credentials" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "description" : "User webauthn credentials"
          },
          "handle" : {
            "type" : "string",
            "description" : "User webauthn handle"
          },
          "password" : {
            "type" : "string",
            "description" : "User password"
          }
        },
        "type" : "object",
        "description" : "An otoroshi admin user that uses webauthn at login"
      },
      "PatchBody" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/PatchDocument"
        }
      },
      "otoroshi.models.HSAlgoSettings" : {
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of algosettings",
            "enum" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Size for SHA function"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          }
        },
        "type" : "object",
        "description" : "Settings to use HMAC-SHA signing algorithm"
      }
    },
    "securitySchemes" : {
      "otoroshi_auth" : {
        "type" : "http",
        "scheme" : "basic"
      }
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy