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

schemas.openapi-flat.json Maven / Gradle / Ivy

{
  "otoroshi.models.ElasticAnalyticsConfig" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "null type",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ],
        "nullable" : true
      },
      "sendWorkers" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "applyTemplate" : {
        "type" : "boolean",
        "description" : "Enable template creation/update"
      },
      "uris" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "mtlsConfig" : {
        "description" : "TLS settings for the http client",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "version" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "maxBulkSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Additionnal headers in the http request"
      },
      "indexSettings" : {
        "description" : "Indexation settings",
        "properties" : {
          "clientSide" : {
            "type" : "boolean",
            "description" : "Enable index splitting on client side"
          },
          "numberOfShards" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "numberOfReplicas" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "interval" : {
            "description" : "Index splitting interval",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "user" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "index" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "password" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    },
    "type" : "object",
    "description" : "Settings for connection to an elastic cluster"
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesIngressControllerJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.models.NgRouteDataStore" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.CorsSettings" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "allowCredentials" : {
        "type" : "boolean",
        "description" : "???"
      },
      "maxAge" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "allowMethods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allowHeaders" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "excludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "exposeHeaders" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allowOrigin" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.apikeys.BiscuitConf" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "privkey" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "checks" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "facts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "rules" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "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.models.LargeResponseFaultConfig" : {
    "type" : "object",
    "description" : "Settings for a large response fault (chaos engineering)",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
      },
      "additionalResponseSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "Add n 0 bytes"
      }
    }
  },
  "otoroshi.models.MappingSettings" : {
    "type" : "object",
    "description" : "Settings to transform a jwt token",
    "properties" : {
      "map" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Change values"
      },
      "values" : {
        "type" : "object",
        "description" : "Add values"
      },
      "remove" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Remove some token claims"
      }
    }
  },
  "otoroshi.next.models.NgContextualPlugins" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "_env" : {
        "description" : "???",
        "properties" : {
          "circuitBeakersHolder" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "next_plugins_merge" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesEntity" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.ApikeyQuotas" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.core.apikeys.JwtApikeyExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.GzipResponseCompressor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "compression_level" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "buffer_size" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "chunked_threshold" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "excluded_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "white_list" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "black_list" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.models.VerificationSettings" : {
    "type" : "object",
    "description" : "jwt token verification settings",
    "properties" : {
      "fields" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Fields validation"
      },
      "arrayFields" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Fields array validation"
      }
    }
  },
  "otoroshi.next.models.NgMinimalRoute" : {
    "type" : "object",
    "description" : "A route representation with it's minimal attributes",
    "properties" : {
      "backend_ref" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "frontend" : {
        "description" : "The frontend of the route",
        "properties" : {
          "headers" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "the headers that will be matched"
          },
          "query" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "the query params that will be matched"
          },
          "domains" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "The domain and path that will be matched"
          },
          "methods" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "the http methods that will be matched"
          },
          "exact" : {
            "type" : "boolean",
            "description" : "Match on exact path ?"
          },
          "strip_path" : {
            "type" : "boolean",
            "description" : "Is path stripped from backend request"
          }
        },
        "type" : "object"
      },
      "override_plugins" : {
        "type" : "boolean",
        "description" : "Override global plugin list from route composition"
      },
      "backend" : {
        "description" : "The backend of the route",
        "properties" : {
          "root" : {
            "type" : "string",
            "description" : "The root path of the backend or the full rewrite path"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "ip_address" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "protocol" : {
                  "type" : "string",
                  "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                  "description" : "Protocol for the target"
                },
                "predicate" : {
                  "description" : "Predicate to choose this target",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of predicate",
                      "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    },
                    "dc" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "positions" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "latitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "longitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "radius" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "???"
                    },
                    "provider" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "dataCenter" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "rack" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "region" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "zone" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "tls_config" : {
                  "description" : "TLS settings to contact this target",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "Enabled"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "Trusted cert. ids"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "Loose verification"
                    },
                    "trust_all" : {
                      "type" : "boolean",
                      "description" : "Trust any certificate"
                    },
                    "trusted_certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "Trusted cert. ids"
                    }
                  },
                  "type" : "object"
                },
                "tls" : {
                  "type" : "boolean",
                  "description" : "Does the target uses TLS"
                },
                "port" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "port of the target"
                },
                "id" : {
                  "type" : "string",
                  "description" : "id of the target"
                },
                "weight" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "The weight of the target when choosing"
                },
                "hostname" : {
                  "type" : "string",
                  "description" : "hostname of the target"
                }
              },
              "type" : "object"
            },
            "description" : "The targets of the backend"
          },
          "load_balancing" : {
            "description" : "Loadbalancing config og the backend",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
              },
              "ratio" : {
                "type" : "number",
                "format" : "double"
              }
            },
            "type" : "object"
          },
          "rewrite" : {
            "type" : "boolean",
            "description" : "Does the backend performs a full url rewrite ?"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.NgLatencyInjectionFaultConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "from" : {
        "type" : "number",
        "description" : "???"
      },
      "to" : {
        "type" : "number",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgCertificateAsApikey" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "daily_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "monthly_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "read_only" : {
        "type" : "boolean",
        "description" : "???"
      },
      "allow_client_id_only" : {
        "type" : "boolean",
        "description" : "???"
      },
      "throttling_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "constrained_services_only" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.JwtVerification" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "verifiers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.log4j.Log4jExpressionText" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "value" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgAuthModuleUserExtractorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "module" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgGzipConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "compression_level" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "buffer_size" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "chunked_threshold" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "excluded_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "white_list" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "black_list" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.W3CTracingConfigKind" : {
    "description" : "Configuration for W3CTracing",
    "type" : "string",
    "enum" : [ "jaeger", "zipkin", "logger", "noop" ]
  },
  "otoroshi.next.plugins.TailscaleLocalApiClient" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.JQConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "request" : {
        "type" : "string",
        "description" : "???"
      },
      "response" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.TeamId" : {
    "type" : "string",
    "description" : "team id"
  },
  "otoroshi.next.plugins.NgAllowedMethodsConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowed" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "forbidden" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "WebauthnAdminList" : {
    "type" : "array",
    "items" : {
      "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" : {
          "description" : "Entity location",
          "properties" : {
            "tenant" : {
              "description" : "Organization of the current entity",
              "type" : "string"
            },
            "teams" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Teams of the current entity"
            }
          },
          "type" : "object"
        },
        "typ" : {
          "description" : "Admin kind",
          "type" : "string",
          "enum" : [ "SIMPLE", "WEBAUTHN" ]
        },
        "createdAt" : {
          "type" : "number",
          "description" : "User creation date"
        },
        "metadata" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          },
          "description" : "Entity metadata"
        },
        "rights" : {
          "description" : "User rights",
          "properties" : {
            "rights" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "tenant" : {
                    "description" : "Access rights on organizations",
                    "properties" : {
                      "canWrite" : {
                        "type" : "boolean",
                        "description" : "Can this access right write data"
                      },
                      "value" : {
                        "type" : "string",
                        "description" : "Access pattern"
                      },
                      "canRead" : {
                        "type" : "boolean",
                        "description" : "Can this access right read data"
                      }
                    },
                    "type" : "object"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "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"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Access rights on teams"
                  }
                },
                "type" : "object"
              },
              "description" : "Access rights of a user"
            }
          },
          "type" : "object"
        },
        "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"
    }
  },
  "otoroshi.next.plugins.WasmSink" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.RegionMatch" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of predicate",
        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
      },
      "region" : {
        "type" : "string",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.Cors" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allow_credentials" : {
        "type" : "boolean",
        "description" : "???"
      },
      "max_age" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "allow_origin" : {
        "type" : "string",
        "description" : "???"
      },
      "allow_methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "excluded_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allow_headers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "expose_headers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "ErrorTemplateList" : {
    "type" : "array",
    "items" : {
      "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" : {
          "description" : "???",
          "properties" : {
            "tenant" : {
              "description" : "Organization of the current entity",
              "type" : "string"
            },
            "teams" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Teams of the current entity"
            }
          },
          "type" : "object"
        },
        "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" : "???"
        }
      },
      "type" : "object"
    }
  },
  "otoroshi.next.plugins.PublicPrivatePaths" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "strict" : {
        "type" : "boolean",
        "description" : "???"
      },
      "public_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "private_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.auth.GroupRights" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "userRights" : {
        "description" : "???",
        "properties" : {
          "rights" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "tenant" : {
                  "description" : "Access rights on organizations",
                  "properties" : {
                    "canWrite" : {
                      "type" : "boolean",
                      "description" : "Can this access right write data"
                    },
                    "value" : {
                      "type" : "string",
                      "description" : "Access pattern"
                    },
                    "canRead" : {
                      "type" : "boolean",
                      "description" : "Can this access right read data"
                    }
                  },
                  "type" : "object"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "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"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights on teams"
                }
              },
              "type" : "object"
            },
            "description" : "Access rights of a user"
          }
        },
        "type" : "object"
      },
      "users" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.quotas.ServiceQuotasConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "throttlingQuota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "dailyQuota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "monthlyQuota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.ApikeyCalls" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "mandatory" : {
        "type" : "boolean",
        "description" : "???"
      },
      "extractors" : {
        "description" : "???",
        "properties" : {
          "basic" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "query_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "custom_headers" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "client_id_header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "client_secret_header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "client_id" : {
            "description" : "???",
            "properties" : {
              "header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "query_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "jwt" : {
            "description" : "???",
            "properties" : {
              "cookie_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "key_pair_signed" : {
                "type" : "boolean",
                "description" : "???"
              },
              "query_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "secret_signed" : {
                "type" : "boolean",
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "include_request_attrs" : {
                "type" : "boolean",
                "description" : "???"
              },
              "header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "pass_with_user" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wipe_backend_request" : {
        "type" : "boolean",
        "description" : "???"
      },
      "validate" : {
        "type" : "boolean",
        "description" : "???"
      },
      "routing" : {
        "description" : "???",
        "properties" : {
          "none_meta_keys_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "all_meta_keys_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "all_meta_in" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "none_meta_in" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "one_tag_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "one_meta_in" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "all_tags_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "one_meta_key_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "none_tag_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "update_quotas" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.script.AccessContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "attrs" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "config" : {
        "type" : "object",
        "description" : "???"
      },
      "descriptor" : {
        "description" : "???",
        "properties" : {
          "buildMode" : {
            "type" : "boolean",
            "description" : "???"
          },
          "hosts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "privateApp" : {
            "type" : "boolean",
            "description" : "???"
          },
          "localScheme" : {
            "type" : "string",
            "description" : "???"
          },
          "authConfigRef" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "issueCertCA" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "root" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "additionalHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "domain" : {
            "type" : "string",
            "description" : "???"
          },
          "clientConfig" : {
            "description" : "???",
            "properties" : {
              "connectionTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "useCircuitBreaker" : {
                "type" : "boolean",
                "description" : "???"
              },
              "retryInitialDelay" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "cacheConnectionSettings" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "queueSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "proxy" : {
                "description" : "???",
                "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"
                  }
                }
              },
              "callTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "callAndStreamTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "globalTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "maxErrors" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "retries" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "backoffFactor" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "customTimeouts" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "callAndStreamTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "callTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "idleTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "globalTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "connectionTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "idleTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "sampleInterval" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "matchingRoot" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "forceHttps" : {
            "type" : "boolean",
            "description" : "???"
          },
          "localHost" : {
            "type" : "string",
            "description" : "???"
          },
          "sendOtoroshiHeadersBack" : {
            "type" : "boolean",
            "description" : "???"
          },
          "healthCheck" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "url" : {
                "type" : "string",
                "description" : "???"
              },
              "timeout" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "apiKeyConstraints" : {
            "description" : "???",
            "properties" : {
              "customHeadersAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "clientIdHeaderName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "clientSecretHeaderName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "routing" : {
                "description" : "???",
                "properties" : {
                  "oneTagIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneMetaKeysIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "oneMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "oneMetaKeyIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allMetaKeysIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneTagIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allTagsIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "clientIdAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "jwtAuth" : {
                "description" : "???",
                "properties" : {
                  "keyPairSigned" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "cookieName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "secretSigned" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "maxJwtLifespanSecs" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "includeRequestAttributes" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "basicAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "env" : {
            "type" : "string",
            "description" : "???"
          },
          "xForwardedHeaders" : {
            "type" : "boolean",
            "description" : "???"
          },
          "transformerRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "gzip" : {
            "description" : "???",
            "properties" : {
              "compressionLevel" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "blackList" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "chunkedThreshold" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "bufferSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "whiteList" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "userFacing" : {
            "type" : "boolean",
            "description" : "???"
          },
          "transformerConfig" : {
            "type" : "object",
            "description" : "???"
          },
          "clientValidatorRef" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "securityExcludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "ipFiltering" : {
            "description" : "???",
            "properties" : {
              "whitelist" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "blacklist" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "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" : {
                  "description" : "???",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of predicate",
                      "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    },
                    "dc" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "positions" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "latitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "longitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "radius" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "???"
                    },
                    "provider" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "dataCenter" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "rack" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "region" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "zone" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "ipAddress" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "mtlsConfig" : {
                  "description" : "???",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "scheme" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "redirection" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "code" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "to" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "restrictions" : {
            "description" : "???",
            "properties" : {
              "forbidden" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowed" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "notFound" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowLast" : {
                "type" : "boolean",
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "overrideHost" : {
            "type" : "boolean",
            "description" : "???"
          },
          "accessValidator" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "config" : {
                "type" : "object",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "sendStateChallenge" : {
            "type" : "boolean",
            "description" : "???"
          },
          "chaosConfig" : {
            "description" : "???",
            "properties" : {
              "badResponsesFaultConfig" : {
                "description" : "Settings for bad responses",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "responses" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "The HTTP status for the response"
                        },
                        "body" : {
                          "type" : "string",
                          "description" : "The body of the HTTP response"
                        },
                        "headers" : {
                          "type" : "object",
                          "additionalProperties" : {
                            "type" : "string"
                          },
                          "description" : "The HTTP headers of the response"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "The possibles responses"
                  }
                }
              },
              "largeRequestFaultConfig" : {
                "description" : "Settings for large requests",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "additionalRequestSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                  }
                }
              },
              "largeResponseFaultConfig" : {
                "description" : "Settings for large responses",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "additionalResponseSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Add n 0 bytes"
                  }
                }
              },
              "latencyInjectionFaultConfig" : {
                "description" : "Settings for latency injection",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "from" : {
                    "type" : "number",
                    "description" : "The start range of latency added to the request"
                  },
                  "to" : {
                    "type" : "number",
                    "description" : "The end range of latency added to the request"
                  }
                }
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Whether or not this config is enabled"
              }
            },
            "type" : "object"
          },
          "secComInfoTokenVersion" : {
            "description" : "Version of the info token",
            "type" : "string",
            "enum" : [ "Legacy", "Latest" ]
          },
          "additionalHeadersOut" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComHeaders" : {
            "description" : "???",
            "properties" : {
              "claimRequestName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "stateRequestName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "stateResponseName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "matchingHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComAlgoChallengeBackToOto" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "handleLegacyDomain" : {
            "type" : "boolean",
            "description" : "???"
          },
          "canary" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "traffic" : {
                "type" : "number",
                "format" : "double",
                "description" : "???"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "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" : {
                      "description" : "???",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "ipAddress" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "mtlsConfig" : {
                      "description" : "???",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "scheme" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "root" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "_loc" : {
            "description" : "???",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "plugins" : {
            "description" : "???",
            "properties" : {
              "config" : {
                "type" : "object",
                "description" : "Plugins configuration"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Plugins enabled"
              },
              "excluded" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Excluded paths"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Enabled plugins"
              }
            },
            "type" : "object"
          },
          "secComTtl" : {
            "type" : "number",
            "description" : "???"
          },
          "description" : {
            "type" : "string",
            "description" : "???"
          },
          "secComVersion" : {
            "description" : "Version of the challenge token",
            "type" : "string",
            "enum" : [ "V1", "v2" ]
          },
          "preRouting" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "config" : {
                "type" : "object",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "readOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "privatePatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "targetsLoadBalancing" : {
            "description" : "???",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
              },
              "ratio" : {
                "type" : "number",
                "format" : "double"
              }
            },
            "type" : "object"
          },
          "cors" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "allowCredentials" : {
                "type" : "boolean",
                "description" : "???"
              },
              "maxAge" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "allowMethods" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allowHeaders" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "exposeHeaders" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allowOrigin" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "publicPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "api" : {
            "description" : "???",
            "properties" : {
              "exposeApi" : {
                "type" : "boolean",
                "description" : "???"
              },
              "openApiDescriptorUrl" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "missingOnlyHeadersIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "issueCert" : {
            "type" : "boolean",
            "description" : "???"
          },
          "headersVerification" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "jwtVerifier" : {
            "description" : "???",
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "the kind of verifier",
                "enum" : [ "global", "local", "ref" ]
              },
              "desc" : {
                "type" : "string",
                "description" : "Verifier description"
              },
              "name" : {
                "type" : "string",
                "description" : "Verifier name"
              },
              "strict" : {
                "type" : "boolean",
                "description" : "???"
              },
              "source" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "name" ]
                }, {
                  "required" : [ "type", "name", "remove" ]
                }, {
                  "required" : [ "type", "name" ]
                } ],
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of location",
                    "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Query param name"
                  },
                  "remove" : {
                    "type" : "string",
                    "description" : "Remove from value"
                  }
                }
              },
              "algoSettings" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "tags" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Entity tags"
              },
              "id" : {
                "type" : "string",
                "description" : "Verifier id"
              },
              "_loc" : {
                "description" : "Entity location",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "strategy" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "strict", "token", "verificationSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings", "algoSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
                } ],
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of strategy",
                    "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                  },
                  "strict" : {
                    "type" : "boolean",
                    "description" : "If the token already exists in the request, then fail"
                  },
                  "token" : {
                    "type" : "object",
                    "description" : "The default token"
                  },
                  "verificationSettings" : {
                    "description" : "Verification settings",
                    "properties" : {
                      "fields" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "Fields validation"
                      },
                      "arrayFields" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "Fields array validation"
                      }
                    },
                    "type" : "object"
                  },
                  "algoSettings" : {
                    "description" : "Algorithm settings for re-signing token",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "size", "publicKey", "privateKey" ]
                    }, {
                      "required" : [ "type", "size", "certId" ]
                    }, {
                      "required" : [ "type", "size", "secret", "base64" ]
                    }, {
                      "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                    }, {
                      "required" : [ "type", "onlyExposedCerts" ]
                    }, {
                      "required" : [ "type", "size", "certId" ]
                    }, {
                      "required" : [ "type", "size", "publicKey", "privateKey" ]
                    } ],
                    "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" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "certId" : {
                        "type" : "string",
                        "description" : "Certificate id"
                      },
                      "secret" : {
                        "type" : "string",
                        "description" : "HMAC secret"
                      },
                      "base64" : {
                        "type" : "boolean",
                        "description" : "The secret is base64 encoded"
                      },
                      "url" : {
                        "type" : "string",
                        "description" : "JWKS url"
                      },
                      "tlsConfig" : {
                        "description" : "TLS config",
                        "properties" : {
                          "mtls" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustAll" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustedCerts" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "kty" : {
                        "type" : "string",
                        "description" : "Key type"
                      },
                      "proxy" : {
                        "description" : "Web proxy for http client",
                        "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"
                          }
                        }
                      },
                      "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"
                      },
                      "onlyExposedCerts" : {
                        "type" : "boolean",
                        "description" : "Use only exposed certs"
                      }
                    }
                  },
                  "transformSettings" : {
                    "description" : "Transformation settings",
                    "properties" : {
                      "location" : {
                        "description" : "Location of the token",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "description" : "the kind of location",
                            "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                          },
                          "name" : {
                            "type" : "string",
                            "description" : "Query param name"
                          },
                          "remove" : {
                            "type" : "string",
                            "description" : "Remove from value"
                          }
                        },
                        "type" : "object"
                      },
                      "mappingSettings" : {
                        "description" : "Token mapping settings",
                        "properties" : {
                          "map" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Change values"
                          },
                          "values" : {
                            "type" : "object",
                            "description" : "Add values"
                          },
                          "remove" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Remove some token claims"
                          }
                        },
                        "type" : "object"
                      }
                    },
                    "type" : "object"
                  }
                }
              },
              "metadata" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Entity metadata"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "ids" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "letsEncrypt" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "index" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "globalConfig" : {
        "type" : "object",
        "description" : "???"
      },
      "apikey" : {
        "description" : "???",
        "type" : "object",
        "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" : {
            "description" : "The location of the apikey",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "restrictions" : {
            "description" : "Apikey restrictions settings",
            "properties" : {
              "forbidden" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowed" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "notFound" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowLast" : {
                "type" : "boolean",
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "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" : {
            "description" : "Apikey rotation settings",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "Rotation enabled"
              },
              "rotationEvery" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Rotate every n hours"
              },
              "gracePeriod" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "period (in hours) during which both secrets works"
              },
              "nextSecret" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "authorizedEntities" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "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"
          }
        }
      },
      "snowflake" : {
        "type" : "string",
        "description" : "???"
      },
      "user" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "realm" : {
            "type" : "string",
            "description" : "Session realm name"
          },
          "token" : {
            "type" : "object",
            "description" : "Session tokens (from OAuth)"
          },
          "expiredAt" : {
            "type" : "number",
            "description" : "Session expiration date"
          },
          "profile" : {
            "type" : "object",
            "description" : "Session user profile"
          },
          "lastRefresh" : {
            "type" : "number",
            "description" : "Session last refresh (if OAuth refresh_token supported)"
          },
          "randomId" : {
            "type" : "string",
            "description" : "Session random id"
          },
          "email" : {
            "type" : "string",
            "description" : "Session user email"
          },
          "createdAt" : {
            "type" : "number",
            "description" : "Creation date of the session"
          },
          "_loc" : {
            "description" : "Entity location",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "authConfigId" : {
            "type" : "string",
            "description" : "Auth module id that created the session"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "name" : {
            "type" : "string",
            "description" : "Entity name"
          },
          "otoroshiData" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          }
        }
      }
    }
  },
  "otoroshi.greenscore.SectionId" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "value" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.wasm.WasmConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.JQResponseConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.utils.http.MtlsConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "mtls" : {
        "type" : "boolean",
        "description" : "???"
      },
      "loose" : {
        "type" : "boolean",
        "description" : "???"
      },
      "trustAll" : {
        "type" : "boolean",
        "description" : "???"
      },
      "trustedCerts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "certs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgClientCertChainHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "dns_header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "pem_header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "send_pem" : {
        "type" : "boolean",
        "description" : "???"
      },
      "send_chain" : {
        "type" : "boolean",
        "description" : "???"
      },
      "send_dns" : {
        "type" : "boolean",
        "description" : "???"
      },
      "chain_header_name" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.JwtSigner" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "verifier" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "replace_if_present" : {
        "type" : "boolean",
        "description" : "???"
      },
      "fail_if_present" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgClientCredentialsConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "default_key_pair" : {
        "type" : "string",
        "description" : "???"
      },
      "expiration" : {
        "type" : "number",
        "description" : "???"
      },
      "secure" : {
        "type" : "boolean",
        "description" : "???"
      },
      "biscuit" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "privkey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "checks" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "facts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "rules" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      },
      "domain" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.geoloc.IpStackGeolocationInfoExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.metrics.PrometheusServiceMetrics" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgHtmlPatcher" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "append_head" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "append_body" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesClient" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "config" : {
        "description" : "???",
        "properties" : {
          "endpoint" : {
            "type" : "string",
            "description" : "???"
          },
          "templates" : {
            "type" : "object",
            "description" : "???"
          },
          "token" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "restartDependantDeployments" : {
            "type" : "boolean",
            "description" : "???"
          },
          "watchGracePeriodSeconds" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "connectionTimeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "crds" : {
            "type" : "boolean",
            "description" : "???"
          },
          "watch" : {
            "type" : "boolean",
            "description" : "???"
          },
          "labels" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "openshiftDnsOperatorCoreDnsName" : {
            "type" : "string",
            "description" : "???"
          },
          "syncIntervalSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "kubeDnsOperatorCoreDnsName" : {
            "type" : "string",
            "description" : "???"
          },
          "defaultGroup" : {
            "type" : "string",
            "description" : "???"
          },
          "kubeDnsOperatorCoreDnsNamespace" : {
            "type" : "string",
            "description" : "???"
          },
          "triggerKey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "otoroshiNamespace" : {
            "type" : "string",
            "description" : "???"
          },
          "watchTimeoutSeconds" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "openshiftDnsOperatorCleanupDomains" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "namespaces" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "openshiftDnsOperatorCoreDnsPort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "coreDnsEnv" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "triggerPath" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "image" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "coreDnsConfigMapName" : {
            "type" : "string",
            "description" : "???"
          },
          "clusterDomain" : {
            "type" : "string",
            "description" : "???"
          },
          "idleTimeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "caCert" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "trust" : {
            "type" : "boolean",
            "description" : "???"
          },
          "ingressClasses" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "userPassword" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "syncDaikokuApikeysOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "openshiftDnsOperatorCleanup" : {
            "type" : "boolean",
            "description" : "???"
          },
          "kubeSystemNamespace" : {
            "type" : "string",
            "description" : "???"
          },
          "ingressEndpointIp" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "namespacesLabels" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "openshiftDnsOperatorCleanupNames" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "kubeDnsOperatorCoreDnsPort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "mutatingWebhookName" : {
            "type" : "string",
            "description" : "???"
          },
          "kubeLeader" : {
            "type" : "boolean",
            "description" : "???"
          },
          "ingressEndpointHostname" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "openshiftDnsOperatorIntegration" : {
            "type" : "boolean",
            "description" : "???"
          },
          "validatingWebhookName" : {
            "type" : "string",
            "description" : "???"
          },
          "coreDnsDeploymentName" : {
            "type" : "string",
            "description" : "???"
          },
          "ingresses" : {
            "type" : "boolean",
            "description" : "???"
          },
          "useProxyState" : {
            "type" : "boolean",
            "description" : "???"
          },
          "coreDnsIntegrationDryRun" : {
            "type" : "boolean",
            "description" : "???"
          },
          "ingressEndpointPublishedService" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "coreDnsAzure" : {
            "type" : "boolean",
            "description" : "???"
          },
          "corednsPort" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "coreDnsIntegration" : {
            "type" : "boolean",
            "description" : "???"
          },
          "otoroshiServiceName" : {
            "type" : "string",
            "description" : "???"
          },
          "meshDomain" : {
            "type" : "string",
            "description" : "???"
          },
          "kubeDnsOperatorIntegration" : {
            "type" : "boolean",
            "description" : "???"
          },
          "triggerHost" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "openshiftDnsOperatorCoreDnsNamespace" : {
            "type" : "string",
            "description" : "???"
          },
          "callAndStreamTimeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "env" : {
        "description" : "???",
        "properties" : {
          "circuitBeakersHolder" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.models.RefJwtVerifier" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of verifier",
        "enum" : [ "global", "local", "ref" ]
      },
      "excludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "ids" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.ViolationsException" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "errors" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "TokenResponse" : {
    "type" : "object",
    "description" : "User login token response",
    "properties" : {
      "valid" : {
        "type" : "string"
      }
    }
  },
  "otoroshi.next.plugins.AuthModule" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "module" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "pass_with_apikey" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.clientcert.HasClientCertValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.WasmPlugin" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "steps" : {
        "type" : "array",
        "items" : {
          "properties" : { },
          "type" : "object"
        },
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "description" : {
        "type" : "string",
        "description" : "???"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "allowedHosts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "memoryPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "allowedPaths" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "config" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "authorizations" : {
            "description" : "???",
            "properties" : {
              "proxyStateAccess" : {
                "type" : "boolean",
                "description" : "???"
              },
              "httpAccess" : {
                "type" : "boolean",
                "description" : "???"
              },
              "globalMapAccess" : {
                "description" : "???",
                "properties" : {
                  "read" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "write" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "pluginDataStoreAccess" : {
                "description" : "???",
                "properties" : {
                  "read" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "write" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "pluginMapAccess" : {
                "description" : "???",
                "properties" : {
                  "read" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "write" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "proxyHttpCallTimeout" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "configurationAccess" : {
                "type" : "boolean",
                "description" : "???"
              },
              "globalDataStoreAccess" : {
                "description" : "???",
                "properties" : {
                  "read" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "write" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "opa" : {
            "type" : "boolean",
            "description" : "???"
          },
          "wasi" : {
            "type" : "boolean",
            "description" : "???"
          },
          "functionName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      }
    }
  },
  "ScriptsList" : {
    "type" : "array",
    "items" : {
      "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" : {
          "description" : "Entity location",
          "properties" : {
            "tenant" : {
              "description" : "Organization of the current entity",
              "type" : "string"
            },
            "teams" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Teams of the current entity"
            }
          },
          "type" : "object"
        },
        "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" : {
          "description" : "Plugin kind",
          "type" : "string",
          "enum" : [ "app", "transformer", "validator", "preroute", "sink", "listener", "job", "exporter" ]
        }
      },
      "type" : "object"
    }
  },
  "otoroshi.models.WeightedBestResponseTime" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.TailscaleStatusPeer" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "raw" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.BodyHelper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.AdditionalHeadersIn" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "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" : {
          "properties" : {
            "backend_ref" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "frontend" : {
              "description" : "The frontend of the route",
              "properties" : {
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "the headers that will be matched"
                },
                "query" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "the query params that will be matched"
                },
                "domains" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "The domain and path that will be matched"
                },
                "methods" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "the http methods that will be matched"
                },
                "exact" : {
                  "type" : "boolean",
                  "description" : "Match on exact path ?"
                },
                "strip_path" : {
                  "type" : "boolean",
                  "description" : "Is path stripped from backend request"
                }
              },
              "type" : "object"
            },
            "override_plugins" : {
              "type" : "boolean",
              "description" : "Override global plugin list from route composition"
            },
            "backend" : {
              "description" : "The backend of the route",
              "properties" : {
                "root" : {
                  "type" : "string",
                  "description" : "The root path of the backend or the full rewrite path"
                },
                "targets" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "ip_address" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "protocol" : {
                        "type" : "string",
                        "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                        "description" : "Protocol for the target"
                      },
                      "predicate" : {
                        "description" : "Predicate to choose this target",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "description" : "the kind of predicate",
                            "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                          },
                          "dc" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "positions" : {
                            "type" : "array",
                            "items" : {
                              "properties" : {
                                "latitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "longitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "radius" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                }
                              },
                              "type" : "object"
                            },
                            "description" : "???"
                          },
                          "provider" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "dataCenter" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "rack" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "region" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "zone" : {
                            "type" : "string",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "tls_config" : {
                        "description" : "TLS settings to contact this target",
                        "properties" : {
                          "enabled" : {
                            "type" : "boolean",
                            "description" : "Enabled"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Trusted cert. ids"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "Loose verification"
                          },
                          "trust_all" : {
                            "type" : "boolean",
                            "description" : "Trust any certificate"
                          },
                          "trusted_certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Trusted cert. ids"
                          }
                        },
                        "type" : "object"
                      },
                      "tls" : {
                        "type" : "boolean",
                        "description" : "Does the target uses TLS"
                      },
                      "port" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "port of the target"
                      },
                      "id" : {
                        "type" : "string",
                        "description" : "id of the target"
                      },
                      "weight" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The weight of the target when choosing"
                      },
                      "hostname" : {
                        "type" : "string",
                        "description" : "hostname of the target"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "The targets of the backend"
                },
                "load_balancing" : {
                  "description" : "Loadbalancing config og the backend",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    },
                    "ratio" : {
                      "type" : "number",
                      "format" : "double"
                    }
                  },
                  "type" : "object"
                },
                "rewrite" : {
                  "type" : "boolean",
                  "description" : "Does the backend performs a full url rewrite ?"
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "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" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "client" : {
        "description" : "???",
        "properties" : {
          "idle_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timeout on idle connection"
          },
          "sample_interval" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
          },
          "cache_connection_settings" : {
            "description" : "Cached connection settings",
            "properties" : {
              "queue_size" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "How much request can be queue before dropping it"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Is cached connection enabled"
              }
            },
            "type" : "object"
          },
          "call_and_stream_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
          },
          "custom_timeouts" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "connection_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Timeout at connection"
                },
                "call_and_stream_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                },
                "path" : {
                  "type" : "string",
                  "description" : "path on which this configuration works"
                },
                "call_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                },
                "idle_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Timeout on idle connection"
                },
                "global_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                }
              },
              "type" : "object"
            },
            "description" : "Custom timeouts per path"
          },
          "connection_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timeout at connection"
          },
          "call_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
          },
          "global_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
          },
          "retry_initial_delay" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
          },
          "backoff_factor" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify the factor to multiply the delay for each retry"
          },
          "proxy" : {
            "description" : "Web proxy settings for http client",
            "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"
              }
            }
          },
          "retries" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
          },
          "max_errors" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Specify how many errors can pass before opening the circuit breaker"
          }
        },
        "type" : "object"
      },
      "groups" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.OIDCIDTokenHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "send" : {
        "type" : "boolean",
        "description" : "???"
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "jwt" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "LetsEncryptCertBody" : {
    "type" : "object",
    "description" : "PEM encoded certificate"
  },
  "otoroshi.greenscore.RouteScreenScore" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "routeId" : {
        "type" : "string",
        "description" : "???"
      },
      "rulesConfig" : {
        "description" : "???",
        "properties" : {
          "sections" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "id" : {
                  "description" : "???",
                  "properties" : {
                    "value" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "rules" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "sectionWeight" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "advice" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "weight" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "id" : {
                        "description" : "???",
                        "properties" : {
                          "value" : {
                            "type" : "string",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "thresholds" : {
            "description" : "???",
            "properties" : {
              "plugins" : {
                "description" : "???",
                "properties" : {
                  "excellent" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "sufficient" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "poor" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "dataOut" : {
                "description" : "???",
                "properties" : {
                  "excellent" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "sufficient" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "poor" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "headersOut" : {
                "description" : "???",
                "properties" : {
                  "excellent" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "sufficient" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "poor" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.OIDCHeaders" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "profile" : {
        "description" : "???",
        "properties" : {
          "send" : {
            "type" : "boolean",
            "description" : "???"
          },
          "header_name" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "idtoken" : {
        "description" : "???",
        "properties" : {
          "send" : {
            "type" : "boolean",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "header_name" : {
            "type" : "string",
            "description" : "???"
          },
          "jwt" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "access_token" : {
        "description" : "???",
        "properties" : {
          "send" : {
            "type" : "boolean",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "header_name" : {
            "type" : "string",
            "description" : "???"
          },
          "jwt" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.controllers.ServiceLike" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "entity" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "groups" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.script.PreRoutingContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "globalConfig" : {
        "type" : "object",
        "description" : "???"
      },
      "snowflake" : {
        "type" : "string",
        "description" : "???"
      },
      "descriptor" : {
        "description" : "???",
        "properties" : {
          "buildMode" : {
            "type" : "boolean",
            "description" : "???"
          },
          "hosts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "privateApp" : {
            "type" : "boolean",
            "description" : "???"
          },
          "localScheme" : {
            "type" : "string",
            "description" : "???"
          },
          "authConfigRef" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "issueCertCA" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "root" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "additionalHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "domain" : {
            "type" : "string",
            "description" : "???"
          },
          "clientConfig" : {
            "description" : "???",
            "properties" : {
              "connectionTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "useCircuitBreaker" : {
                "type" : "boolean",
                "description" : "???"
              },
              "retryInitialDelay" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "cacheConnectionSettings" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "queueSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "proxy" : {
                "description" : "???",
                "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"
                  }
                }
              },
              "callTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "callAndStreamTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "globalTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "maxErrors" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "retries" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "backoffFactor" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "customTimeouts" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "callAndStreamTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "callTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "idleTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "globalTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "connectionTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "idleTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "sampleInterval" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "matchingRoot" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "forceHttps" : {
            "type" : "boolean",
            "description" : "???"
          },
          "localHost" : {
            "type" : "string",
            "description" : "???"
          },
          "sendOtoroshiHeadersBack" : {
            "type" : "boolean",
            "description" : "???"
          },
          "healthCheck" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "url" : {
                "type" : "string",
                "description" : "???"
              },
              "timeout" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "apiKeyConstraints" : {
            "description" : "???",
            "properties" : {
              "customHeadersAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "clientIdHeaderName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "clientSecretHeaderName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "routing" : {
                "description" : "???",
                "properties" : {
                  "oneTagIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneMetaKeysIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "oneMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "oneMetaKeyIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allMetaKeysIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneTagIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allTagsIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "clientIdAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "jwtAuth" : {
                "description" : "???",
                "properties" : {
                  "keyPairSigned" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "cookieName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "secretSigned" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "maxJwtLifespanSecs" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "includeRequestAttributes" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "basicAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "env" : {
            "type" : "string",
            "description" : "???"
          },
          "xForwardedHeaders" : {
            "type" : "boolean",
            "description" : "???"
          },
          "transformerRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "gzip" : {
            "description" : "???",
            "properties" : {
              "compressionLevel" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "blackList" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "chunkedThreshold" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "bufferSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "whiteList" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "userFacing" : {
            "type" : "boolean",
            "description" : "???"
          },
          "transformerConfig" : {
            "type" : "object",
            "description" : "???"
          },
          "clientValidatorRef" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "securityExcludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "ipFiltering" : {
            "description" : "???",
            "properties" : {
              "whitelist" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "blacklist" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "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" : {
                  "description" : "???",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of predicate",
                      "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    },
                    "dc" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "positions" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "latitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "longitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "radius" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "???"
                    },
                    "provider" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "dataCenter" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "rack" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "region" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "zone" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "ipAddress" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "mtlsConfig" : {
                  "description" : "???",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "scheme" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "redirection" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "code" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "to" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "restrictions" : {
            "description" : "???",
            "properties" : {
              "forbidden" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowed" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "notFound" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowLast" : {
                "type" : "boolean",
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "overrideHost" : {
            "type" : "boolean",
            "description" : "???"
          },
          "accessValidator" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "config" : {
                "type" : "object",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "sendStateChallenge" : {
            "type" : "boolean",
            "description" : "???"
          },
          "chaosConfig" : {
            "description" : "???",
            "properties" : {
              "badResponsesFaultConfig" : {
                "description" : "Settings for bad responses",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "responses" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "The HTTP status for the response"
                        },
                        "body" : {
                          "type" : "string",
                          "description" : "The body of the HTTP response"
                        },
                        "headers" : {
                          "type" : "object",
                          "additionalProperties" : {
                            "type" : "string"
                          },
                          "description" : "The HTTP headers of the response"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "The possibles responses"
                  }
                }
              },
              "largeRequestFaultConfig" : {
                "description" : "Settings for large requests",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "additionalRequestSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                  }
                }
              },
              "largeResponseFaultConfig" : {
                "description" : "Settings for large responses",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "additionalResponseSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Add n 0 bytes"
                  }
                }
              },
              "latencyInjectionFaultConfig" : {
                "description" : "Settings for latency injection",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "from" : {
                    "type" : "number",
                    "description" : "The start range of latency added to the request"
                  },
                  "to" : {
                    "type" : "number",
                    "description" : "The end range of latency added to the request"
                  }
                }
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Whether or not this config is enabled"
              }
            },
            "type" : "object"
          },
          "secComInfoTokenVersion" : {
            "description" : "Version of the info token",
            "type" : "string",
            "enum" : [ "Legacy", "Latest" ]
          },
          "additionalHeadersOut" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComHeaders" : {
            "description" : "???",
            "properties" : {
              "claimRequestName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "stateRequestName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "stateResponseName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "matchingHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComAlgoChallengeBackToOto" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "handleLegacyDomain" : {
            "type" : "boolean",
            "description" : "???"
          },
          "canary" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "traffic" : {
                "type" : "number",
                "format" : "double",
                "description" : "???"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "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" : {
                      "description" : "???",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "ipAddress" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "mtlsConfig" : {
                      "description" : "???",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "scheme" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "root" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "_loc" : {
            "description" : "???",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "plugins" : {
            "description" : "???",
            "properties" : {
              "config" : {
                "type" : "object",
                "description" : "Plugins configuration"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Plugins enabled"
              },
              "excluded" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Excluded paths"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Enabled plugins"
              }
            },
            "type" : "object"
          },
          "secComTtl" : {
            "type" : "number",
            "description" : "???"
          },
          "description" : {
            "type" : "string",
            "description" : "???"
          },
          "secComVersion" : {
            "description" : "Version of the challenge token",
            "type" : "string",
            "enum" : [ "V1", "v2" ]
          },
          "preRouting" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "config" : {
                "type" : "object",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "readOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "privatePatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "targetsLoadBalancing" : {
            "description" : "???",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
              },
              "ratio" : {
                "type" : "number",
                "format" : "double"
              }
            },
            "type" : "object"
          },
          "cors" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "allowCredentials" : {
                "type" : "boolean",
                "description" : "???"
              },
              "maxAge" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "allowMethods" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allowHeaders" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "exposeHeaders" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allowOrigin" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "publicPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "api" : {
            "description" : "???",
            "properties" : {
              "exposeApi" : {
                "type" : "boolean",
                "description" : "???"
              },
              "openApiDescriptorUrl" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "missingOnlyHeadersIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "issueCert" : {
            "type" : "boolean",
            "description" : "???"
          },
          "headersVerification" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "jwtVerifier" : {
            "description" : "???",
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "the kind of verifier",
                "enum" : [ "global", "local", "ref" ]
              },
              "desc" : {
                "type" : "string",
                "description" : "Verifier description"
              },
              "name" : {
                "type" : "string",
                "description" : "Verifier name"
              },
              "strict" : {
                "type" : "boolean",
                "description" : "???"
              },
              "source" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "name" ]
                }, {
                  "required" : [ "type", "name", "remove" ]
                }, {
                  "required" : [ "type", "name" ]
                } ],
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of location",
                    "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Query param name"
                  },
                  "remove" : {
                    "type" : "string",
                    "description" : "Remove from value"
                  }
                }
              },
              "algoSettings" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "tags" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Entity tags"
              },
              "id" : {
                "type" : "string",
                "description" : "Verifier id"
              },
              "_loc" : {
                "description" : "Entity location",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "strategy" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "strict", "token", "verificationSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings", "algoSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
                } ],
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of strategy",
                    "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                  },
                  "strict" : {
                    "type" : "boolean",
                    "description" : "If the token already exists in the request, then fail"
                  },
                  "token" : {
                    "type" : "object",
                    "description" : "The default token"
                  },
                  "verificationSettings" : {
                    "description" : "Verification settings",
                    "properties" : {
                      "fields" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "Fields validation"
                      },
                      "arrayFields" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "Fields array validation"
                      }
                    },
                    "type" : "object"
                  },
                  "algoSettings" : {
                    "description" : "Algorithm settings for re-signing token",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "size", "publicKey", "privateKey" ]
                    }, {
                      "required" : [ "type", "size", "certId" ]
                    }, {
                      "required" : [ "type", "size", "secret", "base64" ]
                    }, {
                      "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                    }, {
                      "required" : [ "type", "onlyExposedCerts" ]
                    }, {
                      "required" : [ "type", "size", "certId" ]
                    }, {
                      "required" : [ "type", "size", "publicKey", "privateKey" ]
                    } ],
                    "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" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "certId" : {
                        "type" : "string",
                        "description" : "Certificate id"
                      },
                      "secret" : {
                        "type" : "string",
                        "description" : "HMAC secret"
                      },
                      "base64" : {
                        "type" : "boolean",
                        "description" : "The secret is base64 encoded"
                      },
                      "url" : {
                        "type" : "string",
                        "description" : "JWKS url"
                      },
                      "tlsConfig" : {
                        "description" : "TLS config",
                        "properties" : {
                          "mtls" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustAll" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustedCerts" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "kty" : {
                        "type" : "string",
                        "description" : "Key type"
                      },
                      "proxy" : {
                        "description" : "Web proxy for http client",
                        "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"
                          }
                        }
                      },
                      "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"
                      },
                      "onlyExposedCerts" : {
                        "type" : "boolean",
                        "description" : "Use only exposed certs"
                      }
                    }
                  },
                  "transformSettings" : {
                    "description" : "Transformation settings",
                    "properties" : {
                      "location" : {
                        "description" : "Location of the token",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "description" : "the kind of location",
                            "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                          },
                          "name" : {
                            "type" : "string",
                            "description" : "Query param name"
                          },
                          "remove" : {
                            "type" : "string",
                            "description" : "Remove from value"
                          }
                        },
                        "type" : "object"
                      },
                      "mappingSettings" : {
                        "description" : "Token mapping settings",
                        "properties" : {
                          "map" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Change values"
                          },
                          "values" : {
                            "type" : "object",
                            "description" : "Add values"
                          },
                          "remove" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Remove some token claims"
                          }
                        },
                        "type" : "object"
                      }
                    },
                    "type" : "object"
                  }
                }
              },
              "metadata" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Entity metadata"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "ids" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "letsEncrypt" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "config" : {
        "type" : "object",
        "description" : "???"
      },
      "index" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "attrs" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.IpAddressAllowedList" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "addresses" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.apikeys.ApikeyAuthModule" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.CustomTimeouts" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "callAndStreamTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "callTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "idleTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "globalTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "connectionTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.BasicAuthConstraints" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "headerName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "queryName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.Transform" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of strategy",
        "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
      },
      "verificationSettings" : {
        "description" : "Verification settings",
        "properties" : {
          "fields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields validation"
          },
          "arrayFields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields array validation"
          }
        },
        "type" : "object"
      },
      "transformSettings" : {
        "description" : "Transformation settings",
        "properties" : {
          "location" : {
            "description" : "Location of the token",
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "the kind of location",
                "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
              },
              "name" : {
                "type" : "string",
                "description" : "Query param name"
              },
              "remove" : {
                "type" : "string",
                "description" : "Remove from value"
              }
            },
            "type" : "object"
          },
          "mappingSettings" : {
            "description" : "Token mapping settings",
            "properties" : {
              "map" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Change values"
              },
              "values" : {
                "type" : "object",
                "description" : "Add values"
              },
              "remove" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Remove some token claims"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "algoSettings" : {
        "description" : "Algorithm settings for re-signing token",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      }
    },
    "type" : "object",
    "description" : "jwt token transformation policy settings"
  },
  "otoroshi.next.plugins.NgIpStackGeolocationInfoExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "apikey" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "log" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgAuthModuleUserExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "module" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.OIDCAccessTokenValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "at_least_one" : {
        "type" : "boolean",
        "description" : "???"
      },
      "config" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "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"
  },
  "otoroshi.next.plugins.GraphQLProxyConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "max_complexity" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "schema" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "endpoint" : {
        "type" : "string",
        "description" : "???"
      },
      "max_depth" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.loggers.ResponseBodyEvent" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "reqId" : {
        "type" : "string",
        "description" : "???"
      },
      "from" : {
        "type" : "string",
        "description" : "???"
      },
      "ua" : {
        "type" : "string",
        "description" : "???"
      },
      "method" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.AlwaysMatch" : {
    "type" : "object",
    "description" : "Always select target",
    "properties" : {
      "type" : {
        "type" : "string",
        "enum" : [ "Always" ]
      }
    }
  },
  "otoroshi.next.plugins.MockResponses" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "responses" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "body" : {
              "type" : "string",
              "description" : "???"
            },
            "status" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "headers" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "pass_through" : {
        "type" : "boolean",
        "description" : "???"
      },
      "form_data" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "resources" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "name" : {
                  "type" : "string",
                  "description" : "???"
                },
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "field_name" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "field_type" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "value" : {
                        "type" : "object",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "additional_data" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "endpoints" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "status" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "body" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                },
                "resource" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "headers" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "method" : {
                  "type" : "string",
                  "description" : "???"
                },
                "resource_list" : {
                  "type" : "boolean",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          }
        }
      }
    }
  },
  "otoroshi.next.plugins.NgJwtUserExtractorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "meta_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "strip" : {
        "type" : "boolean",
        "description" : "???"
      },
      "verifier" : {
        "type" : "string",
        "description" : "???"
      },
      "email_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "strict" : {
        "type" : "boolean",
        "description" : "???"
      },
      "name_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.TenantId" : {
    "type" : "string",
    "description" : "organization id"
  },
  "otoroshi.next.plugins.BrotliResponseCompressor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "compression_level" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "buffer_size" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "chunked_threshold" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "excluded_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "white_list" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "black_list" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.auth.SAMLCanocalizationMethod" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.models.NgTreeRouter_Test" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "Done" : {
    "type" : "object",
    "description" : "operation is done",
    "properties" : {
      "done" : {
        "type" : "boolean"
      }
    }
  },
  "UserTokenBody" : {
    "type" : "object",
    "properties" : {
      "token" : {
        "type" : "string"
      }
    }
  },
  "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" : {
          "properties" : {
            "name" : {
              "type" : "string",
              "description" : "Destination name"
            },
            "email" : {
              "type" : "string",
              "description" : "Email address"
            }
          },
          "type" : "object"
        },
        "description" : "Destination email address"
      }
    },
    "type" : "object",
    "description" : "Settings for the mailgun mailer"
  },
  "otoroshi.next.models.KvNgRouteCompositionDataStore" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "_env" : {
        "description" : "???",
        "properties" : {
          "circuitBeakersHolder" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.models.FileSettings" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of exporter",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "maxFileSize" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.plugins.workflow.WorkflowEndpoint" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.InfraProviderMatch" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of predicate",
        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
      },
      "provider" : {
        "type" : "string",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.models.Exporter" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "sendEvents", "truststore", "hostValidation", "servers", "mtlsConfig", "securityProtocol", "keystore", "topic", "keyPass", "saslConfig" ]
    }, {
      "required" : [ "type", "tlsTrustCertsFilePath", "tenant", "uri", "mtlsConfig", "topic", "namespace" ]
    }, {
      "required" : [ "type" ]
    }, {
      "required" : [ "type", "sendWorkers", "applyTemplate", "uris", "mtlsConfig", "version", "maxBulkSize", "headers", "indexSettings", "user", "index", "password" ]
    }, {
      "required" : [ "type", "ref", "config" ]
    }, {
      "required" : [ "type", "path", "maxFileSize" ]
    }, {
      "required" : [ "type", "labels" ]
    }, {
      "required" : [ "type", "url", "headers", "mtlsConfig" ]
    }, {
      "required" : [ "type" ]
    }, {
      "required" : [ "type", "url", "headers", "to" ]
    }, {
      "required" : [ "type" ]
    }, {
      "required" : [ "type", "url", "headers", "to" ]
    }, {
      "required" : [ "type", "eu", "apiKey", "domain", "to" ]
    }, {
      "required" : [ "type", "apiKeyPublic", "apiKeyPrivate", "to" ]
    }, {
      "required" : [ "type" ]
    }, {
      "required" : [ "type", "apiKey", "to" ]
    }, {
      "required" : [ "type", "eu", "apiKey", "domain", "to" ]
    }, {
      "required" : [ "type", "apiKeyPublic", "apiKeyPrivate", "to" ]
    }, {
      "required" : [ "type" ]
    }, {
      "required" : [ "type", "apiKey", "to" ]
    } ],
    "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "hostValidation" : {
        "type" : "boolean",
        "description" : "Enabled TLS hostname validation"
      },
      "servers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "URLs of the kafka servers"
      },
      "mtlsConfig" : {
        "description" : "TLS config when calling webhook",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "securityProtocol" : {
        "type" : "string",
        "description" : "Used security protocol"
      },
      "keystore" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "topic" : {
        "type" : "string",
        "description" : "???"
      },
      "keyPass" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "saslConfig" : {
        "description" : "SASL configuration",
        "type" : "object",
        "properties" : {
          "username" : {
            "type" : "string",
            "description" : "SASL username"
          },
          "password" : {
            "type" : "string",
            "description" : "SASL password"
          },
          "mechanism" : {
            "type" : "string",
            "description" : "SASL login mechanism"
          }
        }
      },
      "tlsTrustCertsFilePath" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "tenant" : {
        "type" : "string",
        "description" : "???"
      },
      "uri" : {
        "type" : "string",
        "description" : "???"
      },
      "namespace" : {
        "type" : "string",
        "description" : "???"
      },
      "sendWorkers" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "applyTemplate" : {
        "type" : "boolean",
        "description" : "Enable template creation/update"
      },
      "uris" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "version" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "maxBulkSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Sender headers"
      },
      "indexSettings" : {
        "description" : "Indexation settings",
        "properties" : {
          "clientSide" : {
            "type" : "boolean",
            "description" : "Enable index splitting on client side"
          },
          "numberOfShards" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "numberOfReplicas" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "interval" : {
            "description" : "Index splitting interval",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "user" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "index" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "password" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "ref" : {
        "type" : "string",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "description" : "???"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "maxFileSize" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "labels" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "url" : {
        "type" : "string",
        "description" : "Sender URL"
      },
      "to" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "name" : {
              "type" : "string",
              "description" : "Destination name"
            },
            "email" : {
              "type" : "string",
              "description" : "Email address"
            }
          },
          "type" : "object"
        },
        "description" : "Destination email address"
      },
      "eu" : {
        "type" : "boolean",
        "description" : "European tenant"
      },
      "apiKey" : {
        "type" : "string",
        "description" : "Sendgrid apikey"
      },
      "domain" : {
        "type" : "string",
        "description" : "Mailgun domain"
      },
      "apiKeyPublic" : {
        "type" : "string",
        "description" : "Public key"
      },
      "apiKeyPrivate" : {
        "type" : "string",
        "description" : "Private key"
      }
    }
  },
  "otoroshi.plugins.discovery.SelfRegistrationConfig" : {
    "description" : "Configuration for the DiscoverySelfRegistrationTransformer plugin",
    "type" : "object",
    "properties" : {
      "registrationTtl" : {
        "description" : "the ttl for a service registration",
        "type" : "number"
      },
      "targetTemplate" : {
        "description" : "A json template for otoroshi target",
        "type" : "object"
      },
      "hosts" : {
        "description" : "The possible list of hosts for a service",
        "type" : "array",
        "items" : {
          "type" : "string"
        }
      }
    }
  },
  "otoroshi.next.models.NgMatchedRoutes" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "routes" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "The frontend of the route",
              "properties" : {
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "the headers that will be matched"
                },
                "query" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "the query params that will be matched"
                },
                "domains" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "The domain and path that will be matched"
                },
                "methods" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "the http methods that will be matched"
                },
                "exact" : {
                  "type" : "boolean",
                  "description" : "Match on exact path ?"
                },
                "strip_path" : {
                  "type" : "boolean",
                  "description" : "Is path stripped from backend request"
                }
              },
              "type" : "object"
            },
            "_loc" : {
              "description" : "The location of the route",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "description" : {
              "type" : "string",
              "description" : "The description of the route"
            },
            "backend" : {
              "description" : "The backend of the route",
              "properties" : {
                "root" : {
                  "type" : "string",
                  "description" : "The root path of the backend or the full rewrite path"
                },
                "health_check" : {
                  "description" : "???",
                  "type" : "object",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "url" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "timeout" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    }
                  }
                },
                "client" : {
                  "description" : "Client config. of the backend",
                  "properties" : {
                    "idle_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout on idle connection"
                    },
                    "sample_interval" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
                    },
                    "cache_connection_settings" : {
                      "description" : "Cached connection settings",
                      "properties" : {
                        "queue_size" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "How much request can be queue before dropping it"
                        },
                        "enabled" : {
                          "type" : "boolean",
                          "description" : "Is cached connection enabled"
                        }
                      },
                      "type" : "object"
                    },
                    "call_and_stream_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                    },
                    "custom_timeouts" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "connection_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Timeout at connection"
                          },
                          "call_and_stream_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                          },
                          "path" : {
                            "type" : "string",
                            "description" : "path on which this configuration works"
                          },
                          "call_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                          },
                          "idle_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Timeout on idle connection"
                          },
                          "global_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "Custom timeouts per path"
                    },
                    "connection_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout at connection"
                    },
                    "call_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                    },
                    "global_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                    },
                    "retry_initial_delay" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
                    },
                    "backoff_factor" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the factor to multiply the delay for each retry"
                    },
                    "proxy" : {
                      "description" : "Web proxy settings for http client",
                      "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"
                        }
                      }
                    },
                    "retries" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
                    },
                    "max_errors" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "Specify how many errors can pass before opening the circuit breaker"
                    }
                  },
                  "type" : "object"
                },
                "load_balancing" : {
                  "description" : "Loadbalancing config og the backend",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    },
                    "ratio" : {
                      "type" : "number",
                      "format" : "double"
                    }
                  },
                  "type" : "object"
                },
                "rewrite" : {
                  "type" : "boolean",
                  "description" : "Does the backend performs a full url rewrite ?"
                },
                "targets" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "ip_address" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "protocol" : {
                        "type" : "string",
                        "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                        "description" : "Protocol for the target"
                      },
                      "predicate" : {
                        "description" : "Predicate to choose this target",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "description" : "the kind of predicate",
                            "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                          },
                          "dc" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "positions" : {
                            "type" : "array",
                            "items" : {
                              "properties" : {
                                "latitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "longitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "radius" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                }
                              },
                              "type" : "object"
                            },
                            "description" : "???"
                          },
                          "provider" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "dataCenter" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "rack" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "region" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "zone" : {
                            "type" : "string",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "tls_config" : {
                        "description" : "TLS settings to contact this target",
                        "properties" : {
                          "enabled" : {
                            "type" : "boolean",
                            "description" : "Enabled"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Trusted cert. ids"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "Loose verification"
                          },
                          "trust_all" : {
                            "type" : "boolean",
                            "description" : "Trust any certificate"
                          },
                          "trusted_certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Trusted cert. ids"
                          }
                        },
                        "type" : "object"
                      },
                      "tls" : {
                        "type" : "boolean",
                        "description" : "Does the target uses TLS"
                      },
                      "port" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "port of the target"
                      },
                      "id" : {
                        "type" : "string",
                        "description" : "id of the target"
                      },
                      "weight" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The weight of the target when choosing"
                      },
                      "hostname" : {
                        "type" : "string",
                        "description" : "hostname of the target"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "The targets of the backend"
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "no_more_segments" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.JsonToXmlResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.RouteCompositionIdentifier" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "id" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.greenscore.RulesSection" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "id" : {
        "description" : "???",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "rules" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "sectionWeight" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            },
            "advice" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "weight" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "id" : {
              "description" : "???",
              "properties" : {
                "value" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "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" : {
          "properties" : {
            "group" : {
              "type" : "string",
              "description" : "???"
            },
            "tenant" : {
              "description" : "???",
              "properties" : {
                "canWrite" : {
                  "type" : "boolean",
                  "description" : "Can this access right write data"
                },
                "value" : {
                  "type" : "string",
                  "description" : "Access pattern"
                },
                "canRead" : {
                  "type" : "boolean",
                  "description" : "Can this access right read data"
                }
              },
              "type" : "object"
            },
            "team" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "rightsOverride" : {
        "type" : "object",
        "additionalProperties" : {
          "properties" : {
            "rights" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "tenant" : {
                    "description" : "Access rights on organizations",
                    "properties" : {
                      "canWrite" : {
                        "type" : "boolean",
                        "description" : "Can this access right write data"
                      },
                      "value" : {
                        "type" : "string",
                        "description" : "Access pattern"
                      },
                      "canRead" : {
                        "type" : "boolean",
                        "description" : "Can this access right read data"
                      }
                    },
                    "type" : "object"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "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"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Access rights on teams"
                  }
                },
                "type" : "object"
              },
              "description" : "Access rights of a user"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "serverUrls" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "clientSideSessionEnabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "basicAuth" : {
        "type" : "boolean",
        "description" : "???"
      },
      "searchBase" : {
        "type" : "string",
        "description" : "???"
      },
      "groupRights" : {
        "type" : "object",
        "additionalProperties" : {
          "properties" : {
            "userRights" : {
              "description" : "???",
              "properties" : {
                "rights" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "tenant" : {
                        "description" : "Access rights on organizations",
                        "properties" : {
                          "canWrite" : {
                            "type" : "boolean",
                            "description" : "Can this access right write data"
                          },
                          "value" : {
                            "type" : "string",
                            "description" : "Access pattern"
                          },
                          "canRead" : {
                            "type" : "boolean",
                            "description" : "Can this access right read data"
                          }
                        },
                        "type" : "object"
                      },
                      "teams" : {
                        "type" : "array",
                        "items" : {
                          "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"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "Access rights on teams"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights of a user"
                }
              },
              "type" : "object"
            },
            "users" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "superAdmins" : {
        "type" : "boolean",
        "description" : "???"
      },
      "sessionMaxAge" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "metadataField" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "searchFilter" : {
        "type" : "string",
        "description" : "???"
      },
      "adminUsername" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "userValidators" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "emailField" : {
        "type" : "string",
        "description" : "???"
      },
      "extractProfileFilter" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "userBase" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "adminPassword" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "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" : {
        "description" : "???",
        "properties" : {
          "httpOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.Keys" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.QuotasAlmostExceededSettings" : {
    "type" : "object",
    "description" : "Settings for apikey quotas alerts",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "Is quotas alert enabled"
      },
      "dailyQuotasThreshold" : {
        "type" : "number",
        "format" : "double",
        "description" : "The daily quotas threshold before generating alert"
      },
      "monthlyQuotasThreshold" : {
        "type" : "number",
        "format" : "double",
        "description" : "The monthly quotas threshold before generating alert"
      }
    }
  },
  "otoroshi.next.plugins.JQResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "type" : "string",
        "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" : {
        "description" : "Entity organization",
        "type" : "string"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Entity metadata"
      },
      "id" : {
        "description" : "Entity id",
        "type" : "string"
      }
    }
  },
  "otoroshi.models.ChaosConfig" : {
    "type" : "object",
    "description" : "Settings to enable chaos engineering for a service",
    "properties" : {
      "badResponsesFaultConfig" : {
        "description" : "Settings for bad responses",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
          },
          "responses" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "status" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "The HTTP status for the response"
                },
                "body" : {
                  "type" : "string",
                  "description" : "The body of the HTTP response"
                },
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "The HTTP headers of the response"
                }
              },
              "type" : "object"
            },
            "description" : "The possibles responses"
          }
        }
      },
      "largeRequestFaultConfig" : {
        "description" : "Settings for large requests",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
          },
          "additionalRequestSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The size added to the request body in bytes. Added payload will be spaces only."
          }
        }
      },
      "largeResponseFaultConfig" : {
        "description" : "Settings for large responses",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
          },
          "additionalResponseSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Add n 0 bytes"
          }
        }
      },
      "latencyInjectionFaultConfig" : {
        "description" : "Settings for latency injection",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
          },
          "from" : {
            "type" : "number",
            "description" : "The start range of latency added to the request"
          },
          "to" : {
            "type" : "number",
            "description" : "The end range of latency added to the request"
          }
        }
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "Whether or not this config is enabled"
      }
    }
  },
  "otoroshi.events.HealthCheckEvent" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "error" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "health" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "logicCheck" : {
        "type" : "boolean",
        "description" : "???"
      },
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "duration" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.authcallers.OAuth2Kind" : {
    "description" : "The kind of oauth2 flow",
    "type" : "string",
    "enum" : [ "client_credentials", "password" ]
  },
  "otoroshi.models.SecComVersion" : {
    "type" : "string",
    "enum" : [ "V1", "v2" ],
    "description" : "Version of the challenge token"
  },
  "otoroshi.script.JobKind" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.authcallers.OAuth2Caller" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.TransformSettings" : {
    "type" : "object",
    "description" : "jwt token transformation settings",
    "properties" : {
      "location" : {
        "description" : "Location of the token",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "name" ]
        }, {
          "required" : [ "type", "name", "remove" ]
        }, {
          "required" : [ "type", "name" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of location",
            "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Query param name"
          },
          "remove" : {
            "type" : "string",
            "description" : "Remove from value"
          }
        }
      },
      "mappingSettings" : {
        "description" : "Token mapping settings",
        "properties" : {
          "map" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Change values"
          },
          "values" : {
            "type" : "object",
            "description" : "Add values"
          },
          "remove" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Remove some token claims"
          }
        },
        "type" : "object"
      }
    }
  },
  "ServiceDescriptorList" : {
    "type" : "array",
    "items" : {
      "properties" : {
        "buildMode" : {
          "type" : "boolean",
          "description" : "???"
        },
        "hosts" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "privateApp" : {
          "type" : "boolean",
          "description" : "???"
        },
        "localScheme" : {
          "type" : "string",
          "description" : "???"
        },
        "authConfigRef" : {
          "description" : "null type",
          "type" : "string",
          "nullable" : true
        },
        "issueCertCA" : {
          "description" : "null type",
          "type" : "string",
          "nullable" : true
        },
        "root" : {
          "type" : "string",
          "description" : "???"
        },
        "name" : {
          "type" : "string",
          "description" : "???"
        },
        "additionalHeaders" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "domain" : {
          "type" : "string",
          "description" : "???"
        },
        "clientConfig" : {
          "description" : "???",
          "properties" : {
            "connectionTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "useCircuitBreaker" : {
              "type" : "boolean",
              "description" : "???"
            },
            "retryInitialDelay" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "cacheConnectionSettings" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "queueSize" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "proxy" : {
              "description" : "???",
              "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"
                }
              }
            },
            "callTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "callAndStreamTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "globalTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "maxErrors" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "retries" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "backoffFactor" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "customTimeouts" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "path" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "callAndStreamTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "callTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "idleTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "globalTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "connectionTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "idleTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "sampleInterval" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "matchingRoot" : {
          "description" : "null type",
          "type" : "string",
          "nullable" : true
        },
        "forceHttps" : {
          "type" : "boolean",
          "description" : "???"
        },
        "localHost" : {
          "type" : "string",
          "description" : "???"
        },
        "sendOtoroshiHeadersBack" : {
          "type" : "boolean",
          "description" : "???"
        },
        "healthCheck" : {
          "description" : "???",
          "properties" : {
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "url" : {
              "type" : "string",
              "description" : "???"
            },
            "timeout" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "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" : {
          "description" : "???",
          "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "certId" : {
              "type" : "string",
              "description" : "Certificate id"
            },
            "secret" : {
              "type" : "string",
              "description" : "HMAC secret"
            },
            "base64" : {
              "type" : "boolean",
              "description" : "The secret is base64 encoded"
            },
            "url" : {
              "type" : "string",
              "description" : "JWKS url"
            },
            "tlsConfig" : {
              "description" : "TLS config",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "kty" : {
              "type" : "string",
              "description" : "Key type"
            },
            "proxy" : {
              "description" : "Web proxy for http client",
              "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"
                }
              }
            },
            "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"
            },
            "onlyExposedCerts" : {
              "type" : "boolean",
              "description" : "Use only exposed certs"
            }
          },
          "type" : "object"
        },
        "apiKeyConstraints" : {
          "description" : "???",
          "properties" : {
            "customHeadersAuth" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "clientIdHeaderName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "clientSecretHeaderName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "routing" : {
              "description" : "???",
              "properties" : {
                "oneTagIn" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "noneMetaKeysIn" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "oneMetaIn" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "oneMetaKeyIn" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "allMetaKeysIn" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "noneTagIn" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "allTagsIn" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "allMetaIn" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "noneMetaIn" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "clientIdAuth" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "headerName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "queryName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "jwtAuth" : {
              "description" : "???",
              "properties" : {
                "keyPairSigned" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "cookieName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "queryName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "headerName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "secretSigned" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "maxJwtLifespanSecs" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "includeRequestAttributes" : {
                  "type" : "boolean",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "basicAuth" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "headerName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "queryName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "env" : {
          "type" : "string",
          "description" : "???"
        },
        "xForwardedHeaders" : {
          "type" : "boolean",
          "description" : "???"
        },
        "transformerRefs" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "enabled" : {
          "type" : "boolean",
          "description" : "???"
        },
        "gzip" : {
          "description" : "???",
          "properties" : {
            "compressionLevel" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "blackList" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "chunkedThreshold" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "excludedPatterns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "bufferSize" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "whiteList" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "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" : {
          "description" : "???",
          "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "certId" : {
              "type" : "string",
              "description" : "Certificate id"
            },
            "secret" : {
              "type" : "string",
              "description" : "HMAC secret"
            },
            "base64" : {
              "type" : "boolean",
              "description" : "The secret is base64 encoded"
            },
            "url" : {
              "type" : "string",
              "description" : "JWKS url"
            },
            "tlsConfig" : {
              "description" : "TLS config",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "kty" : {
              "type" : "string",
              "description" : "Key type"
            },
            "proxy" : {
              "description" : "Web proxy for http client",
              "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"
                }
              }
            },
            "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"
            },
            "onlyExposedCerts" : {
              "type" : "boolean",
              "description" : "Use only exposed certs"
            }
          },
          "type" : "object"
        },
        "userFacing" : {
          "type" : "boolean",
          "description" : "???"
        },
        "transformerConfig" : {
          "type" : "object",
          "description" : "???"
        },
        "clientValidatorRef" : {
          "description" : "null type",
          "type" : "string",
          "nullable" : true
        },
        "securityExcludedPatterns" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "ipFiltering" : {
          "description" : "???",
          "properties" : {
            "whitelist" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "blacklist" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "targets" : {
          "type" : "array",
          "items" : {
            "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" : {
                "description" : "???",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of predicate",
                    "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                  },
                  "dc" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "positions" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "latitude" : {
                          "type" : "number",
                          "format" : "double",
                          "description" : "???"
                        },
                        "longitude" : {
                          "type" : "number",
                          "format" : "double",
                          "description" : "???"
                        },
                        "radius" : {
                          "type" : "number",
                          "format" : "double",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "provider" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "dataCenter" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "rack" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "region" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "zone" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "ipAddress" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "mtlsConfig" : {
                "description" : "???",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "scheme" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "description" : "???"
        },
        "redirection" : {
          "description" : "???",
          "properties" : {
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "code" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "to" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "tags" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "restrictions" : {
          "description" : "???",
          "properties" : {
            "forbidden" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "method" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "path" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "allowed" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "method" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "path" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "notFound" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "method" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "path" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "allowLast" : {
              "type" : "boolean",
              "description" : "???"
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "overrideHost" : {
          "type" : "boolean",
          "description" : "???"
        },
        "accessValidator" : {
          "description" : "???",
          "properties" : {
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "excludedPatterns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "refs" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "config" : {
              "type" : "object",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "sendStateChallenge" : {
          "type" : "boolean",
          "description" : "???"
        },
        "chaosConfig" : {
          "description" : "???",
          "properties" : {
            "badResponsesFaultConfig" : {
              "description" : "Settings for bad responses",
              "type" : "object",
              "properties" : {
                "ratio" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                },
                "responses" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "status" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The HTTP status for the response"
                      },
                      "body" : {
                        "type" : "string",
                        "description" : "The body of the HTTP response"
                      },
                      "headers" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "The HTTP headers of the response"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "The possibles responses"
                }
              }
            },
            "largeRequestFaultConfig" : {
              "description" : "Settings for large requests",
              "type" : "object",
              "properties" : {
                "ratio" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                },
                "additionalRequestSize" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                }
              }
            },
            "largeResponseFaultConfig" : {
              "description" : "Settings for large responses",
              "type" : "object",
              "properties" : {
                "ratio" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                },
                "additionalResponseSize" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "Add n 0 bytes"
                }
              }
            },
            "latencyInjectionFaultConfig" : {
              "description" : "Settings for latency injection",
              "type" : "object",
              "properties" : {
                "ratio" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                },
                "from" : {
                  "type" : "number",
                  "description" : "The start range of latency added to the request"
                },
                "to" : {
                  "type" : "number",
                  "description" : "The end range of latency added to the request"
                }
              }
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "Whether or not this config is enabled"
            }
          },
          "type" : "object"
        },
        "secComInfoTokenVersion" : {
          "description" : "Version of the info token",
          "type" : "string",
          "enum" : [ "Legacy", "Latest" ]
        },
        "additionalHeadersOut" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "secComHeaders" : {
          "description" : "???",
          "properties" : {
            "claimRequestName" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "stateRequestName" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "stateResponseName" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "matchingHeaders" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "secComAlgoChallengeBackToOto" : {
          "description" : "???",
          "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "certId" : {
              "type" : "string",
              "description" : "Certificate id"
            },
            "secret" : {
              "type" : "string",
              "description" : "HMAC secret"
            },
            "base64" : {
              "type" : "boolean",
              "description" : "The secret is base64 encoded"
            },
            "url" : {
              "type" : "string",
              "description" : "JWKS url"
            },
            "tlsConfig" : {
              "description" : "TLS config",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "kty" : {
              "type" : "string",
              "description" : "Key type"
            },
            "proxy" : {
              "description" : "Web proxy for http client",
              "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"
                }
              }
            },
            "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"
            },
            "onlyExposedCerts" : {
              "type" : "boolean",
              "description" : "Use only exposed certs"
            }
          },
          "type" : "object"
        },
        "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" : {
          "description" : "???",
          "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "certId" : {
              "type" : "string",
              "description" : "Certificate id"
            },
            "secret" : {
              "type" : "string",
              "description" : "HMAC secret"
            },
            "base64" : {
              "type" : "boolean",
              "description" : "The secret is base64 encoded"
            },
            "url" : {
              "type" : "string",
              "description" : "JWKS url"
            },
            "tlsConfig" : {
              "description" : "TLS config",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "kty" : {
              "type" : "string",
              "description" : "Key type"
            },
            "proxy" : {
              "description" : "Web proxy for http client",
              "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"
                }
              }
            },
            "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"
            },
            "onlyExposedCerts" : {
              "type" : "boolean",
              "description" : "Use only exposed certs"
            }
          },
          "type" : "object"
        },
        "handleLegacyDomain" : {
          "type" : "boolean",
          "description" : "???"
        },
        "canary" : {
          "description" : "???",
          "properties" : {
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "traffic" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            },
            "targets" : {
              "type" : "array",
              "items" : {
                "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" : {
                    "description" : "???",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of predicate",
                        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                      },
                      "dc" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "positions" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "latitude" : {
                              "type" : "number",
                              "format" : "double",
                              "description" : "???"
                            },
                            "longitude" : {
                              "type" : "number",
                              "format" : "double",
                              "description" : "???"
                            },
                            "radius" : {
                              "type" : "number",
                              "format" : "double",
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "???"
                      },
                      "provider" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "dataCenter" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "rack" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "region" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "zone" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "ipAddress" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "mtlsConfig" : {
                    "description" : "???",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "scheme" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "root" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "_loc" : {
          "description" : "???",
          "properties" : {
            "tenant" : {
              "description" : "Organization of the current entity",
              "type" : "string"
            },
            "teams" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Teams of the current entity"
            }
          },
          "type" : "object"
        },
        "plugins" : {
          "description" : "???",
          "properties" : {
            "config" : {
              "type" : "object",
              "description" : "Plugins configuration"
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "Plugins enabled"
            },
            "excluded" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Excluded paths"
            },
            "refs" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Enabled plugins"
            }
          },
          "type" : "object"
        },
        "secComTtl" : {
          "type" : "number",
          "description" : "???"
        },
        "description" : {
          "type" : "string",
          "description" : "???"
        },
        "secComVersion" : {
          "description" : "Version of the challenge token",
          "type" : "string",
          "enum" : [ "V1", "v2" ]
        },
        "preRouting" : {
          "description" : "???",
          "properties" : {
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "excludedPatterns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "refs" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "config" : {
              "type" : "object",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "groups" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "readOnly" : {
          "type" : "boolean",
          "description" : "???"
        },
        "privatePatterns" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "targetsLoadBalancing" : {
          "description" : "???",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
            },
            "ratio" : {
              "type" : "number",
              "format" : "double"
            }
          },
          "type" : "object"
        },
        "cors" : {
          "description" : "???",
          "properties" : {
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "allowCredentials" : {
              "type" : "boolean",
              "description" : "???"
            },
            "maxAge" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "allowMethods" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "allowHeaders" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "excludedPatterns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "exposeHeaders" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "allowOrigin" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "metadata" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "publicPatterns" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "api" : {
          "description" : "???",
          "properties" : {
            "exposeApi" : {
              "type" : "boolean",
              "description" : "???"
            },
            "openApiDescriptorUrl" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "missingOnlyHeadersIn" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "issueCert" : {
          "type" : "boolean",
          "description" : "???"
        },
        "headersVerification" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          },
          "description" : "???"
        },
        "jwtVerifier" : {
          "description" : "???",
          "properties" : {
            "type" : {
              "type" : "string",
              "description" : "the kind of verifier",
              "enum" : [ "global", "local", "ref" ]
            },
            "desc" : {
              "type" : "string",
              "description" : "Verifier description"
            },
            "name" : {
              "type" : "string",
              "description" : "Verifier name"
            },
            "strict" : {
              "type" : "boolean",
              "description" : "???"
            },
            "source" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "name" ]
              }, {
                "required" : [ "type", "name", "remove" ]
              }, {
                "required" : [ "type", "name" ]
              } ],
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of location",
                  "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                },
                "name" : {
                  "type" : "string",
                  "description" : "Query param name"
                },
                "remove" : {
                  "type" : "string",
                  "description" : "Remove from value"
                }
              }
            },
            "algoSettings" : {
              "description" : "???",
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "certId" : {
                  "type" : "string",
                  "description" : "Certificate id"
                },
                "secret" : {
                  "type" : "string",
                  "description" : "HMAC secret"
                },
                "base64" : {
                  "type" : "boolean",
                  "description" : "The secret is base64 encoded"
                },
                "url" : {
                  "type" : "string",
                  "description" : "JWKS url"
                },
                "tlsConfig" : {
                  "description" : "TLS config",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "kty" : {
                  "type" : "string",
                  "description" : "Key type"
                },
                "proxy" : {
                  "description" : "Web proxy for http client",
                  "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"
                    }
                  }
                },
                "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"
                },
                "onlyExposedCerts" : {
                  "type" : "boolean",
                  "description" : "Use only exposed certs"
                }
              },
              "type" : "object"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Entity tags"
            },
            "id" : {
              "type" : "string",
              "description" : "Verifier id"
            },
            "_loc" : {
              "description" : "Entity location",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "strategy" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "strict", "token", "verificationSettings" ]
              }, {
                "required" : [ "type", "verificationSettings" ]
              }, {
                "required" : [ "type", "verificationSettings", "algoSettings" ]
              }, {
                "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
              } ],
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of strategy",
                  "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                },
                "strict" : {
                  "type" : "boolean",
                  "description" : "If the token already exists in the request, then fail"
                },
                "token" : {
                  "type" : "object",
                  "description" : "The default token"
                },
                "verificationSettings" : {
                  "description" : "Verification settings",
                  "properties" : {
                    "fields" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "Fields validation"
                    },
                    "arrayFields" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "Fields array validation"
                    }
                  },
                  "type" : "object"
                },
                "algoSettings" : {
                  "description" : "Algorithm settings for re-signing token",
                  "type" : "object",
                  "oneOfConstraints" : [ {
                    "required" : [ "type", "size", "publicKey", "privateKey" ]
                  }, {
                    "required" : [ "type", "size", "certId" ]
                  }, {
                    "required" : [ "type", "size", "secret", "base64" ]
                  }, {
                    "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                  }, {
                    "required" : [ "type", "onlyExposedCerts" ]
                  }, {
                    "required" : [ "type", "size", "certId" ]
                  }, {
                    "required" : [ "type", "size", "publicKey", "privateKey" ]
                  } ],
                  "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" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "certId" : {
                      "type" : "string",
                      "description" : "Certificate id"
                    },
                    "secret" : {
                      "type" : "string",
                      "description" : "HMAC secret"
                    },
                    "base64" : {
                      "type" : "boolean",
                      "description" : "The secret is base64 encoded"
                    },
                    "url" : {
                      "type" : "string",
                      "description" : "JWKS url"
                    },
                    "tlsConfig" : {
                      "description" : "TLS config",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "kty" : {
                      "type" : "string",
                      "description" : "Key type"
                    },
                    "proxy" : {
                      "description" : "Web proxy for http client",
                      "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"
                        }
                      }
                    },
                    "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"
                    },
                    "onlyExposedCerts" : {
                      "type" : "boolean",
                      "description" : "Use only exposed certs"
                    }
                  }
                },
                "transformSettings" : {
                  "description" : "Transformation settings",
                  "properties" : {
                    "location" : {
                      "description" : "Location of the token",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of location",
                          "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                        },
                        "name" : {
                          "type" : "string",
                          "description" : "Query param name"
                        },
                        "remove" : {
                          "type" : "string",
                          "description" : "Remove from value"
                        }
                      },
                      "type" : "object"
                    },
                    "mappingSettings" : {
                      "description" : "Token mapping settings",
                      "properties" : {
                        "map" : {
                          "type" : "object",
                          "additionalProperties" : {
                            "type" : "string"
                          },
                          "description" : "Change values"
                        },
                        "values" : {
                          "type" : "object",
                          "description" : "Add values"
                        },
                        "remove" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "Remove some token claims"
                        }
                      },
                      "type" : "object"
                    }
                  },
                  "type" : "object"
                }
              }
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "Entity metadata"
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "excludedPatterns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "ids" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "letsEncrypt" : {
          "type" : "boolean",
          "description" : "???"
        }
      },
      "type" : "object"
    }
  },
  "otoroshi.plugins.izanami.IzanamiCanaryRoutingConfigRoute" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "variants" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "wildcard" : {
        "type" : "boolean",
        "description" : "???"
      },
      "default" : {
        "type" : "string",
        "description" : "???"
      },
      "regex" : {
        "type" : "boolean",
        "description" : "???"
      },
      "exact" : {
        "type" : "boolean",
        "description" : "???"
      },
      "route" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "The location of the apikey",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "restrictions" : {
        "description" : "Apikey restrictions settings",
        "properties" : {
          "forbidden" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "method" : {
                  "type" : "string",
                  "description" : "???"
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "allowed" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "method" : {
                  "type" : "string",
                  "description" : "???"
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "notFound" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "method" : {
                  "type" : "string",
                  "description" : "???"
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "allowLast" : {
            "type" : "boolean",
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "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" : {
        "description" : "Apikey rotation settings",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Rotation enabled"
          },
          "rotationEvery" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Rotate every n hours"
          },
          "gracePeriod" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "period (in hours) during which both secrets works"
          },
          "nextSecret" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "authorizedEntities" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "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.plugins.oidc.OIDCAccessTokenValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.UserRight" : {
    "type" : "object",
    "description" : "Represent a user right (teams, organizations) in otoroshi-ui",
    "properties" : {
      "tenant" : {
        "description" : "Access rights on organizations",
        "properties" : {
          "canWrite" : {
            "type" : "boolean",
            "description" : "Can this access right write data"
          },
          "value" : {
            "type" : "string",
            "description" : "Access pattern"
          },
          "canRead" : {
            "type" : "boolean",
            "description" : "Can this access right read data"
          }
        },
        "type" : "object"
      },
      "teams" : {
        "type" : "array",
        "items" : {
          "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"
            }
          },
          "type" : "object"
        },
        "description" : "Access rights on teams"
      }
    }
  },
  "otoroshi.next.plugins.ApikeyAuthModuleConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "realm" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "matcher" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "oneTagIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneMetaKeysIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "oneMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "oneMetaKeyIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allMetaKeysIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneTagIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allTagsIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      }
    }
  },
  "otoroshi.models.InHeader" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of location",
        "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
      },
      "name" : {
        "type" : "string",
        "description" : "Header name"
      },
      "remove" : {
        "type" : "string",
        "description" : "Remove from value"
      }
    },
    "type" : "object",
    "description" : "JWT token location (header)"
  },
  "otoroshi.next.plugins.MockResource" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "schema" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "field_name" : {
              "type" : "string",
              "description" : "???"
            },
            "field_type" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "additional_data" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.TailscaleTargetsJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
          "properties" : {
            "rights" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "tenant" : {
                    "description" : "Access rights on organizations",
                    "properties" : {
                      "canWrite" : {
                        "type" : "boolean",
                        "description" : "Can this access right write data"
                      },
                      "value" : {
                        "type" : "string",
                        "description" : "Access pattern"
                      },
                      "canRead" : {
                        "type" : "boolean",
                        "description" : "Can this access right read data"
                      }
                    },
                    "type" : "object"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "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"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Access rights on teams"
                  }
                },
                "type" : "object"
              },
              "description" : "Access rights of a user"
            }
          },
          "type" : "object"
        },
        "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" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "emailField" : {
        "type" : "string",
        "description" : "???"
      },
      "mtlsConfig" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "tokenUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "useCookie" : {
        "type" : "boolean",
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "pkce" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "algorithm" : {
            "type" : "string",
            "description" : "???"
          }
        }
      },
      "authorizeUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "callbackUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "proxy" : {
        "description" : "???",
        "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"
          }
        }
      },
      "apiKeyMetaField" : {
        "type" : "string",
        "description" : "???"
      },
      "clientSecret" : {
        "type" : "string",
        "description" : "???"
      },
      "useJson" : {
        "type" : "boolean",
        "description" : "???"
      },
      "oidConfig" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "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" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      },
      "readProfileFromToken" : {
        "type" : "boolean",
        "description" : "???"
      },
      "sessionCookieValues" : {
        "description" : "???",
        "properties" : {
          "httpOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.extensions.Foo" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "description" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.quotas.InstanceQuotas" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "ServiceFromOpenApiBody" : {
    "type" : "object",
    "description" : "Properties to create a service from an openapi spec",
    "properties" : {
      "domain" : {
        "type" : "string",
        "description" : "the domain on which the service will be exposed by otoroshi"
      },
      "openapi" : {
        "type" : "string",
        "description" : "the url to an openapi 3 spec or the content of an openapi 3 spec"
      }
    }
  },
  "otoroshi.next.plugins.JQRequest" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "type" : "string",
        "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" : {
        "description" : "Where to find the jwt token",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "name" ]
        }, {
          "required" : [ "type", "name", "remove" ]
        }, {
          "required" : [ "type", "name" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of location",
            "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Query param name"
          },
          "remove" : {
            "type" : "string",
            "description" : "Remove from value"
          }
        }
      },
      "algoSettings" : {
        "description" : "Algo settings of the verifier",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Entity tags"
      },
      "id" : {
        "type" : "string",
        "description" : "Verifier id"
      },
      "_loc" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "strategy" : {
        "description" : "The strategy of the verifier",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "strict", "token", "verificationSettings" ]
        }, {
          "required" : [ "type", "verificationSettings" ]
        }, {
          "required" : [ "type", "verificationSettings", "algoSettings" ]
        }, {
          "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of strategy",
            "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
          },
          "strict" : {
            "type" : "boolean",
            "description" : "If the token already exists in the request, then fail"
          },
          "token" : {
            "type" : "object",
            "description" : "The default token"
          },
          "verificationSettings" : {
            "description" : "Verification settings",
            "properties" : {
              "fields" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Fields validation"
              },
              "arrayFields" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Fields array validation"
              }
            },
            "type" : "object"
          },
          "algoSettings" : {
            "description" : "Algorithm settings for re-signing token",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "secret", "base64" ]
            }, {
              "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
            }, {
              "required" : [ "type", "onlyExposedCerts" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            } ],
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            }
          },
          "transformSettings" : {
            "description" : "Transformation settings",
            "properties" : {
              "location" : {
                "description" : "Location of the token",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of location",
                    "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Query param name"
                  },
                  "remove" : {
                    "type" : "string",
                    "description" : "Remove from value"
                  }
                },
                "type" : "object"
              },
              "mappingSettings" : {
                "description" : "Token mapping settings",
                "properties" : {
                  "map" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Change values"
                  },
                  "values" : {
                    "type" : "object",
                    "description" : "Add values"
                  },
                  "remove" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Remove some token claims"
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          }
        }
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Entity metadata"
      }
    },
    "type" : "object",
    "description" : "Otoroshi model for JWT token verifier"
  },
  "otoroshi.models.ConsoleSettings" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of exporter",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.models.TenantAccess" : {
    "type" : "object",
    "description" : "Access rights for organizations",
    "properties" : {
      "canWrite" : {
        "type" : "boolean",
        "description" : "Can this access right write data"
      },
      "value" : {
        "type" : "string",
        "description" : "Access pattern"
      },
      "canRead" : {
        "type" : "boolean",
        "description" : "Can this access right read data"
      }
    }
  },
  "otoroshi.plugins.discovery.DiscoverySelfRegistrationTransformer" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.TargetPredicate" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type" ]
    }, {
      "required" : [ "type", "dc" ]
    }, {
      "required" : [ "type", "positions" ]
    }, {
      "required" : [ "type", "provider" ]
    }, {
      "required" : [ "type", "provider", "dataCenter", "rack", "region", "zone" ]
    }, {
      "required" : [ "type", "rack" ]
    }, {
      "required" : [ "type", "region" ]
    }, {
      "required" : [ "type", "zone" ]
    } ],
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of predicate",
        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
      },
      "dc" : {
        "type" : "string",
        "description" : "???"
      },
      "positions" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "latitude" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            },
            "longitude" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            },
            "radius" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "provider" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "dataCenter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "rack" : {
        "type" : "string",
        "description" : "???"
      },
      "region" : {
        "type" : "string",
        "description" : "???"
      },
      "zone" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.IpStackGeolocationSettings" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of geolocation",
        "enum" : [ "none", "maxmind", "ipstack" ]
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "enable ipstack geolocation"
      },
      "apikey" : {
        "type" : "string",
        "description" : "IpStack apikey"
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "API call timeout"
      }
    },
    "type" : "object",
    "description" : "Settings for connection to IpStack"
  },
  "otoroshi.models.DefaultTemplates" : {
    "type" : "object",
    "description" : "The template that will be merged with newly created entities",
    "properties" : {
      "team" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "script" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "apikey" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "group" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "tcpService" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "verifier" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "service" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "target" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "certificate" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "dataExporter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "route" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "backend" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "template" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "tenant" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "authConfig" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "descriptor" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgGeolocationInfoHeaderConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "header_name" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.auth.SAMLSignature" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "algorithm" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "canocalizationMethod" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesAdmissionWebhookCRDValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "UpdateQuotasBody" : {
    "type" : "string",
    "description" : ""
  },
  "otoroshi.next.plugins.MissingHeadersIn" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgMaxMindGeolocationInfoExtractorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "log" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.clientcert.HasClientCertMatchingHttpValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.S3ExporterSettings" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of exporter",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
      },
      "maxFileSize" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "writeEvery" : {
            "type" : "number",
            "description" : "Write every n milliseconds"
          },
          "chunkSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Upload chunk max size"
          },
          "bucket" : {
            "type" : "string",
            "description" : "Bucket name"
          },
          "key" : {
            "type" : "string",
            "description" : "File path in bucket"
          },
          "endpoint" : {
            "type" : "string",
            "description" : "Bucket endpoint"
          },
          "v4auth" : {
            "type" : "boolean",
            "description" : "Use V4 auth"
          },
          "access" : {
            "type" : "string",
            "description" : "Bucket access key"
          },
          "secret" : {
            "type" : "string",
            "description" : "Bucket access secret"
          },
          "region" : {
            "type" : "string",
            "description" : "Bucket region"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.plugins.jobs.kubernetes.ClientSupport" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "client" : {
        "description" : "???",
        "properties" : {
          "config" : {
            "description" : "???",
            "properties" : {
              "endpoint" : {
                "type" : "string",
                "description" : "???"
              },
              "templates" : {
                "type" : "object",
                "description" : "???"
              },
              "token" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "restartDependantDeployments" : {
                "type" : "boolean",
                "description" : "???"
              },
              "watchGracePeriodSeconds" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "connectionTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "crds" : {
                "type" : "boolean",
                "description" : "???"
              },
              "watch" : {
                "type" : "boolean",
                "description" : "???"
              },
              "labels" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "openshiftDnsOperatorCoreDnsName" : {
                "type" : "string",
                "description" : "???"
              },
              "syncIntervalSeconds" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "kubeDnsOperatorCoreDnsName" : {
                "type" : "string",
                "description" : "???"
              },
              "defaultGroup" : {
                "type" : "string",
                "description" : "???"
              },
              "kubeDnsOperatorCoreDnsNamespace" : {
                "type" : "string",
                "description" : "???"
              },
              "triggerKey" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "otoroshiNamespace" : {
                "type" : "string",
                "description" : "???"
              },
              "watchTimeoutSeconds" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "openshiftDnsOperatorCleanupDomains" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "namespaces" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "openshiftDnsOperatorCoreDnsPort" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "coreDnsEnv" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "triggerPath" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "image" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "coreDnsConfigMapName" : {
                "type" : "string",
                "description" : "???"
              },
              "clusterDomain" : {
                "type" : "string",
                "description" : "???"
              },
              "idleTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "caCert" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "trust" : {
                "type" : "boolean",
                "description" : "???"
              },
              "ingressClasses" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "userPassword" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "syncDaikokuApikeysOnly" : {
                "type" : "boolean",
                "description" : "???"
              },
              "openshiftDnsOperatorCleanup" : {
                "type" : "boolean",
                "description" : "???"
              },
              "kubeSystemNamespace" : {
                "type" : "string",
                "description" : "???"
              },
              "ingressEndpointIp" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "namespacesLabels" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "openshiftDnsOperatorCleanupNames" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "kubeDnsOperatorCoreDnsPort" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "mutatingWebhookName" : {
                "type" : "string",
                "description" : "???"
              },
              "kubeLeader" : {
                "type" : "boolean",
                "description" : "???"
              },
              "ingressEndpointHostname" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "openshiftDnsOperatorIntegration" : {
                "type" : "boolean",
                "description" : "???"
              },
              "validatingWebhookName" : {
                "type" : "string",
                "description" : "???"
              },
              "coreDnsDeploymentName" : {
                "type" : "string",
                "description" : "???"
              },
              "ingresses" : {
                "type" : "boolean",
                "description" : "???"
              },
              "useProxyState" : {
                "type" : "boolean",
                "description" : "???"
              },
              "coreDnsIntegrationDryRun" : {
                "type" : "boolean",
                "description" : "???"
              },
              "ingressEndpointPublishedService" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "coreDnsAzure" : {
                "type" : "boolean",
                "description" : "???"
              },
              "corednsPort" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "coreDnsIntegration" : {
                "type" : "boolean",
                "description" : "???"
              },
              "otoroshiServiceName" : {
                "type" : "string",
                "description" : "???"
              },
              "meshDomain" : {
                "type" : "string",
                "description" : "???"
              },
              "kubeDnsOperatorIntegration" : {
                "type" : "boolean",
                "description" : "???"
              },
              "triggerHost" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "openshiftDnsOperatorCoreDnsNamespace" : {
                "type" : "string",
                "description" : "???"
              },
              "callAndStreamTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "env" : {
            "description" : "???",
            "properties" : {
              "circuitBeakersHolder" : {
                "description" : "???",
                "properties" : { },
                "type" : "object"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "env" : {
        "description" : "???",
        "properties" : {
          "circuitBeakersHolder" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.core.DefaultPlugins" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgJwtUserExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "meta_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "strip" : {
        "type" : "boolean",
        "description" : "???"
      },
      "verifier" : {
        "type" : "string",
        "description" : "???"
      },
      "email_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "strict" : {
        "type" : "boolean",
        "description" : "???"
      },
      "name_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.DataExporterConfigFiltering" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "include" : {
        "type" : "array",
        "items" : {
          "type" : "object"
        },
        "description" : "???"
      },
      "exclude" : {
        "type" : "array",
        "items" : {
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.EurekaServerSink" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "eviction_timeout" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "PluginDescription" : {
    "type" : "object",
    "description" : "Description of a plugin",
    "properties" : {
      "id" : {
        "type" : "string",
        "description" : "the id of the plugin"
      },
      "name" : {
        "type" : "string",
        "description" : "the name of the plugin"
      },
      "description" : {
        "type" : "string",
        "description" : "the description of the plugin"
      },
      "default_config" : {
        "type" : "string",
        "description" : "the default config of the plugin (for UI form)"
      },
      "config_schema" : {
        "type" : "string",
        "description" : "the config schema of the plugin (for UI form)"
      },
      "config_flow" : {
        "type" : "array",
        "description" : "the config flow of the plugin (for UI form)",
        "items" : {
          "type" : "string"
        }
      },
      "plugin_visibility" : {
        "type" : "string",
        "description" : "visibility of the plugin (can be internal or userland)"
      },
      "plugin_categories" : {
        "type" : "array",
        "description" : "categories of the plugin",
        "items" : { }
      },
      "plugin_steps" : {
        "type" : "array",
        "description" : "steps of the plugin",
        "items" : { }
      },
      "plugin_tags" : {
        "type" : "array",
        "description" : "tags of the plugin",
        "items" : { }
      }
    }
  },
  "otoroshi.models.RouteIdentifier" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "id" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.static.StaticResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgErrorRewriterConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ranges" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "from" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "to" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "templates" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "log" : {
        "type" : "boolean",
        "description" : "???"
      },
      "export" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingApikeyValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.apikeys.CertificateAsApikey" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.GraphQLQueryConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "response_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "response_filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "query" : {
        "type" : "string",
        "description" : "???"
      },
      "method" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgDiscoverySelfRegistrationConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "raw" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgDefaultRequestBodyConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "content_type" : {
        "type" : "string",
        "description" : "???"
      },
      "content_encoding" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.oidc.OIDCThirdPartyApiKeyConfigMode" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "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.next.plugins.NgIpStackGeolocationInfoExtractorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "apikey" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "log" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingValidatorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "subject_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "serial_numbers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "issuer_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "regex_issuer_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "regex_subject_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.greenscore.Rule" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "sectionWeight" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "advice" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "weight" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "id" : {
        "description" : "???",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "description" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgDiscoverySelfRegistrationSink" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "raw" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.auth.OAuth1Provider" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.XmlToJsonRequest" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.discovery.DiscoveryHelper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "Keypair specs",
        "properties" : {
          "algo" : {
            "type" : "string",
            "description" : "Keypair algorithm"
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Keypair size"
          }
        },
        "type" : "object"
      },
      "includeAIA" : {
        "type" : "boolean",
        "description" : "Include AIA extension (if generated from otoroshi CA)"
      },
      "signatureAlg" : {
        "type" : "string",
        "description" : "Signature algorithm"
      },
      "existingSerialNumber" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgApikeyMatcher" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "none_meta_keys_in" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "all_meta_keys_in" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "all_meta_in" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "none_meta_in" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "one_tag_in" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "one_meta_in" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "all_tags_in" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "one_meta_key_in" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "none_tag_in" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.GraphQLBackendConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "schema" : {
        "type" : "string",
        "description" : "???"
      },
      "permissions" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "initial_data" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "max_depth" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.apikeys.HasAllowedApiKeyValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.NetworkLocationMatch" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of predicate",
        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
      },
      "provider" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "dataCenter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "rack" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "region" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "zone" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.NgUserAgentInfoHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "header_name" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.script.PluginType" : {
    "type" : "string",
    "enum" : [ "app", "transformer", "validator", "preroute", "sink", "listener", "job", "exporter" ],
    "description" : "Plugin kind"
  },
  "otoroshi.next.plugins.MultiAuthModule" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "modules" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "pass_with_apikey" : {
        "type" : "boolean",
        "description" : "???"
      },
      "use_email_prompt" : {
        "type" : "boolean",
        "description" : "???"
      },
      "users_groups" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgServiceQuotasConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "throttling_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "daily_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "monthly_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "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.plugins.oauth1.OAuth1CallerPlugin" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.XmlToJsonResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.DataExporterConfigType" : {
    "type" : "string",
    "enum" : [ "kafka", "pulsar", "elastic", "webhook", "file", "mailer", "custom", "none", "console", "metrics" ],
    "description" : "Type of data exporter"
  },
  "otoroshi.next.plugins.NgIzanamiV1CanaryRoutingConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "routes" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "regex" : {
              "type" : "boolean",
              "description" : "???"
            },
            "default" : {
              "type" : "string",
              "description" : "???"
            },
            "route" : {
              "type" : "string",
              "description" : "???"
            },
            "wildcard" : {
              "type" : "boolean",
              "description" : "???"
            },
            "exact" : {
              "type" : "boolean",
              "description" : "???"
            },
            "variants" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.FailedCrdParsing" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "crd" : {
        "type" : "object",
        "description" : "???"
      },
      "namespace" : {
        "type" : "string",
        "description" : "???"
      },
      "pluralName" : {
        "type" : "string",
        "description" : "???"
      },
      "error" : {
        "type" : "string",
        "description" : "???"
      },
      "customizedSpec" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "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" : {
        "description" : "Plugin kind",
        "type" : "string",
        "enum" : [ "app", "transformer", "validator", "preroute", "sink", "listener", "job", "exporter" ]
      }
    }
  },
  "otoroshi.next.plugins.MockEndpoint" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "body" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "resource" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "headers" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "method" : {
        "type" : "string",
        "description" : "???"
      },
      "resource_list" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.EurekaApp" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "instances" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "hostname" : {
              "type" : "string",
              "description" : "???"
            },
            "vip_address" : {
              "type" : "string",
              "description" : "???"
            },
            "home_page_url" : {
              "type" : "string",
              "description" : "???"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "last_dirty_timestamp" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "is_secured" : {
              "type" : "boolean",
              "description" : "???"
            },
            "ip_addr" : {
              "type" : "string",
              "description" : "???"
            },
            "last_updated_timestamp" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "app" : {
              "type" : "string",
              "description" : "???"
            },
            "overridden_status" : {
              "type" : "string",
              "description" : "???"
            },
            "status_page_url" : {
              "type" : "string",
              "description" : "???"
            },
            "is_coordinating_discovery_server" : {
              "type" : "string",
              "description" : "???"
            },
            "instance_id" : {
              "type" : "string",
              "description" : "???"
            },
            "secure_vip_address" : {
              "type" : "string",
              "description" : "???"
            },
            "status" : {
              "type" : "string",
              "description" : "???"
            },
            "port" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "secure_port" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "health_check_url" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.storage.drivers.inmemory.S3Configuration" : {
    "type" : "object",
    "description" : "S3 bucket settings",
    "properties" : {
      "writeEvery" : {
        "type" : "number",
        "description" : "Write every n milliseconds"
      },
      "chunkSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "Upload chunk max size"
      },
      "bucket" : {
        "type" : "string",
        "description" : "Bucket name"
      },
      "key" : {
        "type" : "string",
        "description" : "File path in bucket"
      },
      "endpoint" : {
        "type" : "string",
        "description" : "Bucket endpoint"
      },
      "v4auth" : {
        "type" : "boolean",
        "description" : "Use V4 auth"
      },
      "access" : {
        "type" : "string",
        "description" : "Bucket access key"
      },
      "secret" : {
        "type" : "string",
        "description" : "Bucket access secret"
      },
      "region" : {
        "type" : "string",
        "description" : "Bucket region"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesToOtoroshiCertSyncJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.JwtVerificationOnly" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "verifier" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "fail_if_absent" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.clientcert.SubIss" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "sn" : {
        "type" : "string",
        "description" : "???"
      },
      "subject" : {
        "description" : "???",
        "type" : "string"
      },
      "issuer" : {
        "description" : "???",
        "type" : "string"
      }
    }
  },
  "otoroshi.next.plugins.HMACCallerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "secret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "algo" : {
        "type" : "string",
        "description" : "???"
      },
      "authorization_header" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "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" : {
          "properties" : {
            "name" : {
              "type" : "string",
              "description" : "Destination name"
            },
            "email" : {
              "type" : "string",
              "description" : "Email address"
            }
          },
          "type" : "object"
        },
        "description" : "Destination email address"
      }
    },
    "type" : "object",
    "description" : "Settings for the mailjet mailer"
  },
  "otoroshi.wasm.WasmDataRights" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "read" : {
        "type" : "boolean",
        "description" : "???"
      },
      "write" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "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.next.plugins.GlobalPerIpAddressThrottlingQuotas" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "within" : {
        "type" : "boolean",
        "description" : "???"
      },
      "sec_calls" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.loggers.BodyLoggerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "json" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.ServiceDescriptorIdentifier" : {
    "type" : "string",
    "description" : "the id of a service prefixed by 'service_'"
  },
  "otoroshi.greenscore.GreenScoreConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "sections" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "id" : {
              "description" : "???",
              "properties" : {
                "value" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "rules" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "sectionWeight" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "???"
                  },
                  "advice" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "weight" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "id" : {
                    "description" : "???",
                    "properties" : {
                      "value" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "thresholds" : {
        "description" : "???",
        "properties" : {
          "plugins" : {
            "description" : "???",
            "properties" : {
              "excellent" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "sufficient" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "poor" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "dataOut" : {
            "description" : "???",
            "properties" : {
              "excellent" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "sufficient" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "poor" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "headersOut" : {
            "description" : "???",
            "properties" : {
              "excellent" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "sufficient" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "poor" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.models.SecComHeaders" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "claimRequestName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "stateRequestName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "stateResponseName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.auth.SAMLCredentials" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "signingKey" : {
        "description" : "???",
        "properties" : {
          "certificate" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "privateKey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "useOtoroshiCertificate" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "encryptionKey" : {
        "description" : "???",
        "properties" : {
          "certificate" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "privateKey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "useOtoroshiCertificate" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "signedDocuments" : {
        "type" : "boolean",
        "description" : "???"
      },
      "encryptedAssertions" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgApikeyExtractorCustomHeaders" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "client_id_header_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "client_secret_header_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.tcp.TlsMode" : {
    "type" : "string",
    "enum" : [ "Disabled", "Enabled", "PassThrough" ],
    "description" : "TLS mode"
  },
  "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.plugins.users.HasAllowedUsersValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.S3BackendConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "s3" : {
        "description" : "???",
        "properties" : {
          "writeEvery" : {
            "type" : "number",
            "description" : "Write every n milliseconds"
          },
          "chunkSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Upload chunk max size"
          },
          "bucket" : {
            "type" : "string",
            "description" : "Bucket name"
          },
          "key" : {
            "type" : "string",
            "description" : "File path in bucket"
          },
          "endpoint" : {
            "type" : "string",
            "description" : "Bucket endpoint"
          },
          "v4auth" : {
            "type" : "boolean",
            "description" : "Use V4 auth"
          },
          "access" : {
            "type" : "string",
            "description" : "Bucket access key"
          },
          "secret" : {
            "type" : "string",
            "description" : "Bucket access secret"
          },
          "region" : {
            "type" : "string",
            "description" : "Bucket region"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.models.NgTreeRouter" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "AuditEventList" : {
    "type" : "array",
    "items" : {
      "properties" : {
        "type" : "object",
        "description" : "Audit trail event"
      },
      "type" : "object"
    }
  },
  "otoroshi.next.plugins.NgCorsSettings" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allow_credentials" : {
        "type" : "boolean",
        "description" : "???"
      },
      "max_age" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "allow_origin" : {
        "type" : "string",
        "description" : "???"
      },
      "allow_methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "excluded_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allow_headers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "expose_headers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.OIDCHeadersConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "profile" : {
        "description" : "???",
        "properties" : {
          "send" : {
            "type" : "boolean",
            "description" : "???"
          },
          "header_name" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "idtoken" : {
        "description" : "???",
        "properties" : {
          "send" : {
            "type" : "boolean",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "header_name" : {
            "type" : "string",
            "description" : "???"
          },
          "jwt" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "access_token" : {
        "description" : "???",
        "properties" : {
          "send" : {
            "type" : "boolean",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "header_name" : {
            "type" : "string",
            "description" : "???"
          },
          "jwt" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "issueCertCA" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "root" : {
        "type" : "string",
        "description" : "???"
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "additionalHeaders" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "domain" : {
        "type" : "string",
        "description" : "???"
      },
      "clientConfig" : {
        "description" : "???",
        "properties" : {
          "connectionTimeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "useCircuitBreaker" : {
            "type" : "boolean",
            "description" : "???"
          },
          "retryInitialDelay" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "cacheConnectionSettings" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "queueSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxy" : {
            "description" : "???",
            "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"
              }
            }
          },
          "callTimeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "callAndStreamTimeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "globalTimeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "maxErrors" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "retries" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "backoffFactor" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "customTimeouts" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "path" : {
                  "type" : "string",
                  "description" : "???"
                },
                "callAndStreamTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "callTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "idleTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "globalTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "connectionTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "idleTimeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "sampleInterval" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "matchingRoot" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "forceHttps" : {
        "type" : "boolean",
        "description" : "???"
      },
      "localHost" : {
        "type" : "string",
        "description" : "???"
      },
      "sendOtoroshiHeadersBack" : {
        "type" : "boolean",
        "description" : "???"
      },
      "healthCheck" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "url" : {
            "type" : "string",
            "description" : "???"
          },
          "timeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "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" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      },
      "apiKeyConstraints" : {
        "description" : "???",
        "properties" : {
          "customHeadersAuth" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "clientIdHeaderName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "clientSecretHeaderName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "routing" : {
            "description" : "???",
            "properties" : {
              "oneTagIn" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "noneMetaKeysIn" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "oneMetaIn" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "oneMetaKeyIn" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allMetaKeysIn" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "noneTagIn" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allTagsIn" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allMetaIn" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "noneMetaIn" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "clientIdAuth" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "headerName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "queryName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "jwtAuth" : {
            "description" : "???",
            "properties" : {
              "keyPairSigned" : {
                "type" : "boolean",
                "description" : "???"
              },
              "cookieName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "queryName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "headerName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "secretSigned" : {
                "type" : "boolean",
                "description" : "???"
              },
              "maxJwtLifespanSecs" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "includeRequestAttributes" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "basicAuth" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "headerName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "queryName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "env" : {
        "type" : "string",
        "description" : "???"
      },
      "xForwardedHeaders" : {
        "type" : "boolean",
        "description" : "???"
      },
      "transformerRefs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "gzip" : {
        "description" : "???",
        "properties" : {
          "compressionLevel" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "blackList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "chunkedThreshold" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "excludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "bufferSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "whiteList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "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" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      },
      "userFacing" : {
        "type" : "boolean",
        "description" : "???"
      },
      "transformerConfig" : {
        "type" : "object",
        "description" : "???"
      },
      "clientValidatorRef" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "securityExcludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "ipFiltering" : {
        "description" : "???",
        "properties" : {
          "whitelist" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "blacklist" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "targets" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "???",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of predicate",
                  "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                },
                "dc" : {
                  "type" : "string",
                  "description" : "???"
                },
                "positions" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "latitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "longitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "radius" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "provider" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "dataCenter" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "rack" : {
                  "type" : "string",
                  "description" : "???"
                },
                "region" : {
                  "type" : "string",
                  "description" : "???"
                },
                "zone" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "ipAddress" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "mtlsConfig" : {
              "description" : "???",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "scheme" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "redirection" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "to" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "restrictions" : {
        "description" : "???",
        "properties" : {
          "forbidden" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "method" : {
                  "type" : "string",
                  "description" : "???"
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "allowed" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "method" : {
                  "type" : "string",
                  "description" : "???"
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "notFound" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "method" : {
                  "type" : "string",
                  "description" : "???"
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "allowLast" : {
            "type" : "boolean",
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "overrideHost" : {
        "type" : "boolean",
        "description" : "???"
      },
      "accessValidator" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "excludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "refs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "config" : {
            "type" : "object",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "sendStateChallenge" : {
        "type" : "boolean",
        "description" : "???"
      },
      "chaosConfig" : {
        "description" : "???",
        "properties" : {
          "badResponsesFaultConfig" : {
            "description" : "Settings for bad responses",
            "type" : "object",
            "properties" : {
              "ratio" : {
                "type" : "number",
                "format" : "double",
                "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
              },
              "responses" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "status" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "The HTTP status for the response"
                    },
                    "body" : {
                      "type" : "string",
                      "description" : "The body of the HTTP response"
                    },
                    "headers" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "The HTTP headers of the response"
                    }
                  },
                  "type" : "object"
                },
                "description" : "The possibles responses"
              }
            }
          },
          "largeRequestFaultConfig" : {
            "description" : "Settings for large requests",
            "type" : "object",
            "properties" : {
              "ratio" : {
                "type" : "number",
                "format" : "double",
                "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
              },
              "additionalRequestSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "The size added to the request body in bytes. Added payload will be spaces only."
              }
            }
          },
          "largeResponseFaultConfig" : {
            "description" : "Settings for large responses",
            "type" : "object",
            "properties" : {
              "ratio" : {
                "type" : "number",
                "format" : "double",
                "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
              },
              "additionalResponseSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "Add n 0 bytes"
              }
            }
          },
          "latencyInjectionFaultConfig" : {
            "description" : "Settings for latency injection",
            "type" : "object",
            "properties" : {
              "ratio" : {
                "type" : "number",
                "format" : "double",
                "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
              },
              "from" : {
                "type" : "number",
                "description" : "The start range of latency added to the request"
              },
              "to" : {
                "type" : "number",
                "description" : "The end range of latency added to the request"
              }
            }
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether or not this config is enabled"
          }
        },
        "type" : "object"
      },
      "secComInfoTokenVersion" : {
        "description" : "Version of the info token",
        "type" : "string",
        "enum" : [ "Legacy", "Latest" ]
      },
      "additionalHeadersOut" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "secComHeaders" : {
        "description" : "???",
        "properties" : {
          "claimRequestName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "stateRequestName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "stateResponseName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "matchingHeaders" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "secComAlgoChallengeBackToOto" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      },
      "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" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      },
      "handleLegacyDomain" : {
        "type" : "boolean",
        "description" : "???"
      },
      "canary" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "traffic" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "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" : {
                  "description" : "???",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of predicate",
                      "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    },
                    "dc" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "positions" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "latitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "longitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "radius" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "???"
                    },
                    "provider" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "dataCenter" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "rack" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "region" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "zone" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "ipAddress" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "mtlsConfig" : {
                  "description" : "???",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "scheme" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "root" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "plugins" : {
        "description" : "???",
        "properties" : {
          "config" : {
            "type" : "object",
            "description" : "Plugins configuration"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Plugins enabled"
          },
          "excluded" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Excluded paths"
          },
          "refs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Enabled plugins"
          }
        },
        "type" : "object"
      },
      "secComTtl" : {
        "type" : "number",
        "description" : "???"
      },
      "description" : {
        "type" : "string",
        "description" : "???"
      },
      "secComVersion" : {
        "description" : "Version of the challenge token",
        "type" : "string",
        "enum" : [ "V1", "v2" ]
      },
      "preRouting" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "excludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "refs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "config" : {
            "type" : "object",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "groups" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "readOnly" : {
        "type" : "boolean",
        "description" : "???"
      },
      "privatePatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "targetsLoadBalancing" : {
        "description" : "???",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
          },
          "ratio" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "type" : "object"
      },
      "cors" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "allowCredentials" : {
            "type" : "boolean",
            "description" : "???"
          },
          "maxAge" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "allowMethods" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allowHeaders" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "excludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "exposeHeaders" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allowOrigin" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "publicPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "api" : {
        "description" : "???",
        "properties" : {
          "exposeApi" : {
            "type" : "boolean",
            "description" : "???"
          },
          "openApiDescriptorUrl" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "missingOnlyHeadersIn" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "issueCert" : {
        "type" : "boolean",
        "description" : "???"
      },
      "headersVerification" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "jwtVerifier" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata" ]
        }, {
          "required" : [ "type", "strict", "source", "algoSettings", "enabled", "excludedPatterns", "strategy" ]
        }, {
          "required" : [ "type", "excludedPatterns", "enabled", "ids" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of verifier",
            "enum" : [ "global", "local", "ref" ]
          },
          "desc" : {
            "type" : "string",
            "description" : "Verifier description"
          },
          "name" : {
            "type" : "string",
            "description" : "Verifier name"
          },
          "strict" : {
            "type" : "boolean",
            "description" : "???"
          },
          "source" : {
            "description" : "???",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "name" ]
            }, {
              "required" : [ "type", "name", "remove" ]
            }, {
              "required" : [ "type", "name" ]
            } ],
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "the kind of location",
                "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
              },
              "name" : {
                "type" : "string",
                "description" : "Query param name"
              },
              "remove" : {
                "type" : "string",
                "description" : "Remove from value"
              }
            }
          },
          "algoSettings" : {
            "description" : "???",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            },
            "type" : "object"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Entity tags"
          },
          "id" : {
            "type" : "string",
            "description" : "Verifier id"
          },
          "_loc" : {
            "description" : "Entity location",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "strategy" : {
            "description" : "???",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "strict", "token", "verificationSettings" ]
            }, {
              "required" : [ "type", "verificationSettings" ]
            }, {
              "required" : [ "type", "verificationSettings", "algoSettings" ]
            }, {
              "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
            } ],
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "the kind of strategy",
                "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
              },
              "strict" : {
                "type" : "boolean",
                "description" : "If the token already exists in the request, then fail"
              },
              "token" : {
                "type" : "object",
                "description" : "The default token"
              },
              "verificationSettings" : {
                "description" : "Verification settings",
                "properties" : {
                  "fields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Fields validation"
                  },
                  "arrayFields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Fields array validation"
                  }
                },
                "type" : "object"
              },
              "algoSettings" : {
                "description" : "Algorithm settings for re-signing token",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "secret", "base64" ]
                }, {
                  "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                }, {
                  "required" : [ "type", "onlyExposedCerts" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                } ],
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                }
              },
              "transformSettings" : {
                "description" : "Transformation settings",
                "properties" : {
                  "location" : {
                    "description" : "Location of the token",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of location",
                        "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                      },
                      "name" : {
                        "type" : "string",
                        "description" : "Query param name"
                      },
                      "remove" : {
                        "type" : "string",
                        "description" : "Remove from value"
                      }
                    },
                    "type" : "object"
                  },
                  "mappingSettings" : {
                    "description" : "Token mapping settings",
                    "properties" : {
                      "map" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "Change values"
                      },
                      "values" : {
                        "type" : "object",
                        "description" : "Add values"
                      },
                      "remove" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "Remove some token claims"
                      }
                    },
                    "type" : "object"
                  }
                },
                "type" : "object"
              }
            }
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Entity metadata"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "excludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      },
      "letsEncrypt" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.UdpTunnel" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.izanami.IzanamiCanaryConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "izanamiClientId" : {
        "type" : "string",
        "description" : "???"
      },
      "configId" : {
        "type" : "string",
        "description" : "???"
      },
      "experimentId" : {
        "type" : "string",
        "description" : "???"
      },
      "mtls" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "izanamiUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "timeout" : {
        "type" : "number",
        "description" : "???"
      },
      "izanamiClientSecret" : {
        "type" : "string",
        "description" : "???"
      },
      "routeConfig" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.RemoveHeadersIn" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "names" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.RobotConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "robot_txt_content" : {
        "type" : "string",
        "description" : "???"
      },
      "meta_content" : {
        "type" : "string",
        "description" : "???"
      },
      "robot_enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "header_content" : {
        "type" : "string",
        "description" : "???"
      },
      "header_enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "meta_enabled" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesSupport" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.metrics.PrometheusEndpoint" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.wrappers.PreRoutingWrapper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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.models.OtoroshiAdminType" : {
    "type" : "string",
    "enum" : [ "SIMPLE", "WEBAUTHN" ],
    "description" : "Admin kind"
  },
  "otoroshi.next.plugins.OAuth2Caller" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "cache_token_seconds" : {
        "type" : "number",
        "description" : "???"
      },
      "client_id" : {
        "type" : "string",
        "description" : "???"
      },
      "client_secret" : {
        "type" : "string",
        "description" : "???"
      },
      "scope" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "password" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "method" : {
        "type" : "string",
        "description" : "???"
      },
      "user" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "kind" : {
        "description" : "The kind of oauth2 flow",
        "type" : "string",
        "enum" : [ "client_credentials", "password" ]
      },
      "header_value_format" : {
        "type" : "string",
        "description" : "???"
      },
      "json_payload" : {
        "type" : "boolean",
        "description" : "???"
      },
      "audience" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "tls_config" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.log4j.Log4jExpressionParser" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "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" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    },
    "type" : "object",
    "description" : "The otoroshi model for X509 certificates"
  },
  "otoroshi.models.AlgoSettings" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "size", "publicKey", "privateKey" ]
    }, {
      "required" : [ "type", "size", "certId" ]
    }, {
      "required" : [ "type", "size", "secret", "base64" ]
    }, {
      "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
    }, {
      "required" : [ "type", "onlyExposedCerts" ]
    }, {
      "required" : [ "type", "size", "certId" ]
    }, {
      "required" : [ "type", "size", "publicKey", "privateKey" ]
    } ],
    "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "certId" : {
        "type" : "string",
        "description" : "Certificate id"
      },
      "secret" : {
        "type" : "string",
        "description" : "HMAC secret"
      },
      "base64" : {
        "type" : "boolean",
        "description" : "The secret is base64 encoded"
      },
      "url" : {
        "type" : "string",
        "description" : "JWKS url"
      },
      "tlsConfig" : {
        "description" : "TLS config",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "kty" : {
        "type" : "string",
        "description" : "Key type"
      },
      "proxy" : {
        "description" : "Web proxy for http client",
        "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"
          }
        }
      },
      "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"
      },
      "onlyExposedCerts" : {
        "type" : "boolean",
        "description" : "Use only exposed certs"
      }
    }
  },
  "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" : {
          "properties" : {
            "host" : {
              "type" : "string",
              "description" : "Target host"
            },
            "ip" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "port" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Target port"
            },
            "tls" : {
              "type" : "boolean",
              "description" : "Use tls"
            }
          },
          "type" : "object"
        },
        "description" : "TCP targets"
      }
    }
  },
  "otoroshi.next.plugins.NgUserAgentInfoEndpoint" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.geoloc.MaxMindGeolocationHelper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.jobs.kubernetes.IngressSupport" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.utils.TypedMap" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgServiceQuotas" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "throttling_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "daily_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "monthly_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.Http3SwitchConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ma" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "domain" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "protocols" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgLog4ShellFilter" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "body" : {
        "type" : "string",
        "description" : "???"
      },
      "parse_body" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "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.plugins.hmac.HMACCallerPlugin" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.WasmRequestTransformer" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgBiscuitValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "legacy" : {
        "description" : "???",
        "properties" : {
          "facts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "publicKey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enforce" : {
            "type" : "boolean",
            "description" : "???"
          },
          "extractorName" : {
            "type" : "string",
            "description" : "???"
          },
          "checks" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "extractor" : {
            "type" : "string",
            "description" : "???"
          },
          "revocation_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "rules" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.AllowHttpMethods" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowed" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "forbidden" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.apikeys.ClientCredentialFlow" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.JsonTransform" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.jobs.kubernetes.OtoroshiResourcesContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "routes" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "The frontend of the route",
              "properties" : {
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "the headers that will be matched"
                },
                "query" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "the query params that will be matched"
                },
                "domains" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "The domain and path that will be matched"
                },
                "methods" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "the http methods that will be matched"
                },
                "exact" : {
                  "type" : "boolean",
                  "description" : "Match on exact path ?"
                },
                "strip_path" : {
                  "type" : "boolean",
                  "description" : "Is path stripped from backend request"
                }
              },
              "type" : "object"
            },
            "_loc" : {
              "description" : "The location of the route",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "description" : {
              "type" : "string",
              "description" : "The description of the route"
            },
            "backend" : {
              "description" : "The backend of the route",
              "properties" : {
                "root" : {
                  "type" : "string",
                  "description" : "The root path of the backend or the full rewrite path"
                },
                "health_check" : {
                  "description" : "???",
                  "type" : "object",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "url" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "timeout" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    }
                  }
                },
                "client" : {
                  "description" : "Client config. of the backend",
                  "properties" : {
                    "idle_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout on idle connection"
                    },
                    "sample_interval" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
                    },
                    "cache_connection_settings" : {
                      "description" : "Cached connection settings",
                      "properties" : {
                        "queue_size" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "How much request can be queue before dropping it"
                        },
                        "enabled" : {
                          "type" : "boolean",
                          "description" : "Is cached connection enabled"
                        }
                      },
                      "type" : "object"
                    },
                    "call_and_stream_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                    },
                    "custom_timeouts" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "connection_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Timeout at connection"
                          },
                          "call_and_stream_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                          },
                          "path" : {
                            "type" : "string",
                            "description" : "path on which this configuration works"
                          },
                          "call_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                          },
                          "idle_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Timeout on idle connection"
                          },
                          "global_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "Custom timeouts per path"
                    },
                    "connection_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout at connection"
                    },
                    "call_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                    },
                    "global_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                    },
                    "retry_initial_delay" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
                    },
                    "backoff_factor" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the factor to multiply the delay for each retry"
                    },
                    "proxy" : {
                      "description" : "Web proxy settings for http client",
                      "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"
                        }
                      }
                    },
                    "retries" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
                    },
                    "max_errors" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "Specify how many errors can pass before opening the circuit breaker"
                    }
                  },
                  "type" : "object"
                },
                "load_balancing" : {
                  "description" : "Loadbalancing config og the backend",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    },
                    "ratio" : {
                      "type" : "number",
                      "format" : "double"
                    }
                  },
                  "type" : "object"
                },
                "rewrite" : {
                  "type" : "boolean",
                  "description" : "Does the backend performs a full url rewrite ?"
                },
                "targets" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "ip_address" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "protocol" : {
                        "type" : "string",
                        "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                        "description" : "Protocol for the target"
                      },
                      "predicate" : {
                        "description" : "Predicate to choose this target",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "description" : "the kind of predicate",
                            "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                          },
                          "dc" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "positions" : {
                            "type" : "array",
                            "items" : {
                              "properties" : {
                                "latitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "longitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "radius" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                }
                              },
                              "type" : "object"
                            },
                            "description" : "???"
                          },
                          "provider" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "dataCenter" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "rack" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "region" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "zone" : {
                            "type" : "string",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "tls_config" : {
                        "description" : "TLS settings to contact this target",
                        "properties" : {
                          "enabled" : {
                            "type" : "boolean",
                            "description" : "Enabled"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Trusted cert. ids"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "Loose verification"
                          },
                          "trust_all" : {
                            "type" : "boolean",
                            "description" : "Trust any certificate"
                          },
                          "trusted_certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Trusted cert. ids"
                          }
                        },
                        "type" : "object"
                      },
                      "tls" : {
                        "type" : "boolean",
                        "description" : "Does the target uses TLS"
                      },
                      "port" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "port of the target"
                      },
                      "id" : {
                        "type" : "string",
                        "description" : "id of the target"
                      },
                      "weight" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The weight of the target when choosing"
                      },
                      "hostname" : {
                        "type" : "string",
                        "description" : "hostname of the target"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "The targets of the backend"
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "apiKeys" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "The location of the apikey",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "restrictions" : {
              "description" : "Apikey restrictions settings",
              "properties" : {
                "forbidden" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "method" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "path" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "allowed" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "method" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "path" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "notFound" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "method" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "path" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "allowLast" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "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" : {
              "description" : "Apikey rotation settings",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Rotation enabled"
                },
                "rotationEvery" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Rotate every n hours"
                },
                "gracePeriod" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "period (in hours) during which both secrets works"
                },
                "nextSecret" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "authorizedEntities" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "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"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "backends" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "The actual backend",
              "properties" : {
                "root" : {
                  "type" : "string",
                  "description" : "The root path of the backend or the full rewrite path"
                },
                "health_check" : {
                  "description" : "???",
                  "type" : "object",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "url" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "timeout" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    }
                  }
                },
                "client" : {
                  "description" : "Client config. of the backend",
                  "properties" : {
                    "idle_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout on idle connection"
                    },
                    "sample_interval" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
                    },
                    "cache_connection_settings" : {
                      "description" : "Cached connection settings",
                      "properties" : {
                        "queue_size" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "How much request can be queue before dropping it"
                        },
                        "enabled" : {
                          "type" : "boolean",
                          "description" : "Is cached connection enabled"
                        }
                      },
                      "type" : "object"
                    },
                    "call_and_stream_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                    },
                    "custom_timeouts" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "connection_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Timeout at connection"
                          },
                          "call_and_stream_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                          },
                          "path" : {
                            "type" : "string",
                            "description" : "path on which this configuration works"
                          },
                          "call_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                          },
                          "idle_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Timeout on idle connection"
                          },
                          "global_timeout" : {
                            "type" : "integer",
                            "format" : "int64",
                            "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "Custom timeouts per path"
                    },
                    "connection_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout at connection"
                    },
                    "call_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                    },
                    "global_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                    },
                    "retry_initial_delay" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
                    },
                    "backoff_factor" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify the factor to multiply the delay for each retry"
                    },
                    "proxy" : {
                      "description" : "Web proxy settings for http client",
                      "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"
                        }
                      }
                    },
                    "retries" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
                    },
                    "max_errors" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "Specify how many errors can pass before opening the circuit breaker"
                    }
                  },
                  "type" : "object"
                },
                "load_balancing" : {
                  "description" : "Loadbalancing config og the backend",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    },
                    "ratio" : {
                      "type" : "number",
                      "format" : "double"
                    }
                  },
                  "type" : "object"
                },
                "rewrite" : {
                  "type" : "boolean",
                  "description" : "Does the backend performs a full url rewrite ?"
                },
                "targets" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "ip_address" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "protocol" : {
                        "type" : "string",
                        "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                        "description" : "Protocol for the target"
                      },
                      "predicate" : {
                        "description" : "Predicate to choose this target",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "description" : "the kind of predicate",
                            "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                          },
                          "dc" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "positions" : {
                            "type" : "array",
                            "items" : {
                              "properties" : {
                                "latitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "longitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "radius" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                }
                              },
                              "type" : "object"
                            },
                            "description" : "???"
                          },
                          "provider" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "dataCenter" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "rack" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "region" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "zone" : {
                            "type" : "string",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "tls_config" : {
                        "description" : "TLS settings to contact this target",
                        "properties" : {
                          "enabled" : {
                            "type" : "boolean",
                            "description" : "Enabled"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Trusted cert. ids"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "Loose verification"
                          },
                          "trust_all" : {
                            "type" : "boolean",
                            "description" : "Trust any certificate"
                          },
                          "trusted_certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Trusted cert. ids"
                          }
                        },
                        "type" : "object"
                      },
                      "tls" : {
                        "type" : "boolean",
                        "description" : "Does the target uses TLS"
                      },
                      "port" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "port of the target"
                      },
                      "id" : {
                        "type" : "string",
                        "description" : "id of the target"
                      },
                      "weight" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The weight of the target when choosing"
                      },
                      "hostname" : {
                        "type" : "string",
                        "description" : "hostname of the target"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "The targets of the backend"
                }
              },
              "type" : "object"
            },
            "name" : {
              "type" : "string",
              "description" : "The name of the backend"
            },
            "_loc" : {
              "description" : "The location of the backend",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "id" : {
              "type" : "string",
              "description" : "The id of the backend"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "scripts" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "Entity location",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "Plugin kind",
              "type" : "string",
              "enum" : [ "app", "transformer", "validator", "preroute", "sink", "listener", "job", "exporter" ]
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "jwtVerifiers" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "Where to find the jwt token",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "name" ]
              }, {
                "required" : [ "type", "name", "remove" ]
              }, {
                "required" : [ "type", "name" ]
              } ],
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of location",
                  "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                },
                "name" : {
                  "type" : "string",
                  "description" : "Query param name"
                },
                "remove" : {
                  "type" : "string",
                  "description" : "Remove from value"
                }
              }
            },
            "algoSettings" : {
              "description" : "Algo settings of the verifier",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "secret", "base64" ]
              }, {
                "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
              }, {
                "required" : [ "type", "onlyExposedCerts" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              } ],
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "certId" : {
                  "type" : "string",
                  "description" : "Certificate id"
                },
                "secret" : {
                  "type" : "string",
                  "description" : "HMAC secret"
                },
                "base64" : {
                  "type" : "boolean",
                  "description" : "The secret is base64 encoded"
                },
                "url" : {
                  "type" : "string",
                  "description" : "JWKS url"
                },
                "tlsConfig" : {
                  "description" : "TLS config",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "kty" : {
                  "type" : "string",
                  "description" : "Key type"
                },
                "proxy" : {
                  "description" : "Web proxy for http client",
                  "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"
                    }
                  }
                },
                "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"
                },
                "onlyExposedCerts" : {
                  "type" : "boolean",
                  "description" : "Use only exposed certs"
                }
              }
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Entity tags"
            },
            "id" : {
              "type" : "string",
              "description" : "Verifier id"
            },
            "_loc" : {
              "description" : "Entity location",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "strategy" : {
              "description" : "The strategy of the verifier",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "strict", "token", "verificationSettings" ]
              }, {
                "required" : [ "type", "verificationSettings" ]
              }, {
                "required" : [ "type", "verificationSettings", "algoSettings" ]
              }, {
                "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
              } ],
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of strategy",
                  "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                },
                "strict" : {
                  "type" : "boolean",
                  "description" : "If the token already exists in the request, then fail"
                },
                "token" : {
                  "type" : "object",
                  "description" : "The default token"
                },
                "verificationSettings" : {
                  "description" : "Verification settings",
                  "properties" : {
                    "fields" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "Fields validation"
                    },
                    "arrayFields" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "Fields array validation"
                    }
                  },
                  "type" : "object"
                },
                "algoSettings" : {
                  "description" : "Algorithm settings for re-signing token",
                  "type" : "object",
                  "oneOfConstraints" : [ {
                    "required" : [ "type", "size", "publicKey", "privateKey" ]
                  }, {
                    "required" : [ "type", "size", "certId" ]
                  }, {
                    "required" : [ "type", "size", "secret", "base64" ]
                  }, {
                    "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                  }, {
                    "required" : [ "type", "onlyExposedCerts" ]
                  }, {
                    "required" : [ "type", "size", "certId" ]
                  }, {
                    "required" : [ "type", "size", "publicKey", "privateKey" ]
                  } ],
                  "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" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "certId" : {
                      "type" : "string",
                      "description" : "Certificate id"
                    },
                    "secret" : {
                      "type" : "string",
                      "description" : "HMAC secret"
                    },
                    "base64" : {
                      "type" : "boolean",
                      "description" : "The secret is base64 encoded"
                    },
                    "url" : {
                      "type" : "string",
                      "description" : "JWKS url"
                    },
                    "tlsConfig" : {
                      "description" : "TLS config",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "kty" : {
                      "type" : "string",
                      "description" : "Key type"
                    },
                    "proxy" : {
                      "description" : "Web proxy for http client",
                      "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"
                        }
                      }
                    },
                    "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"
                    },
                    "onlyExposedCerts" : {
                      "type" : "boolean",
                      "description" : "Use only exposed certs"
                    }
                  }
                },
                "transformSettings" : {
                  "description" : "Transformation settings",
                  "properties" : {
                    "location" : {
                      "description" : "Location of the token",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of location",
                          "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                        },
                        "name" : {
                          "type" : "string",
                          "description" : "Query param name"
                        },
                        "remove" : {
                          "type" : "string",
                          "description" : "Remove from value"
                        }
                      },
                      "type" : "object"
                    },
                    "mappingSettings" : {
                      "description" : "Token mapping settings",
                      "properties" : {
                        "map" : {
                          "type" : "object",
                          "additionalProperties" : {
                            "type" : "string"
                          },
                          "description" : "Change values"
                        },
                        "values" : {
                          "type" : "object",
                          "description" : "Add values"
                        },
                        "remove" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "Remove some token claims"
                        }
                      },
                      "type" : "object"
                    }
                  },
                  "type" : "object"
                }
              }
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "Entity metadata"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "tenants" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "Entity id",
              "type" : "string"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "dataExporters" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "desc" : {
              "type" : "string",
              "description" : "???"
            },
            "_loc" : {
              "description" : "???",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "bufferSize" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "jsonWorkers" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "groupDuration" : {
              "type" : "number",
              "description" : "???"
            },
            "groupSize" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "type" : {
              "description" : "Type of data exporter",
              "type" : "string",
              "enum" : [ "kafka", "pulsar", "elastic", "webhook", "file", "mailer", "custom", "none", "console", "metrics" ]
            },
            "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" : {
              "description" : "???",
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "hostValidation" : {
                  "type" : "boolean",
                  "description" : "Enabled TLS hostname validation"
                },
                "servers" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "URLs of the kafka servers"
                },
                "mtlsConfig" : {
                  "description" : "TLS config when calling webhook",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "securityProtocol" : {
                  "type" : "string",
                  "description" : "Used security protocol"
                },
                "keystore" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "topic" : {
                  "type" : "string",
                  "description" : "???"
                },
                "keyPass" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "saslConfig" : {
                  "description" : "SASL configuration",
                  "type" : "object",
                  "properties" : {
                    "username" : {
                      "type" : "string",
                      "description" : "SASL username"
                    },
                    "password" : {
                      "type" : "string",
                      "description" : "SASL password"
                    },
                    "mechanism" : {
                      "type" : "string",
                      "description" : "SASL login mechanism"
                    }
                  }
                },
                "tlsTrustCertsFilePath" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "tenant" : {
                  "type" : "string",
                  "description" : "???"
                },
                "uri" : {
                  "type" : "string",
                  "description" : "???"
                },
                "namespace" : {
                  "type" : "string",
                  "description" : "???"
                },
                "sendWorkers" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "applyTemplate" : {
                  "type" : "boolean",
                  "description" : "Enable template creation/update"
                },
                "uris" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "version" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "maxBulkSize" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "Sender headers"
                },
                "indexSettings" : {
                  "description" : "Indexation settings",
                  "properties" : {
                    "clientSide" : {
                      "type" : "boolean",
                      "description" : "Enable index splitting on client side"
                    },
                    "numberOfShards" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    },
                    "numberOfReplicas" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    },
                    "interval" : {
                      "description" : "Index splitting interval",
                      "properties" : { },
                      "type" : "object"
                    }
                  },
                  "type" : "object"
                },
                "user" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "index" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "password" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "ref" : {
                  "type" : "string",
                  "description" : "???"
                },
                "config" : {
                  "type" : "object",
                  "description" : "???"
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                },
                "maxFileSize" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "labels" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "url" : {
                  "type" : "string",
                  "description" : "Sender URL"
                },
                "to" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "name" : {
                        "type" : "string",
                        "description" : "Destination name"
                      },
                      "email" : {
                        "type" : "string",
                        "description" : "Email address"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Destination email address"
                },
                "eu" : {
                  "type" : "boolean",
                  "description" : "European tenant"
                },
                "apiKey" : {
                  "type" : "string",
                  "description" : "Sendgrid apikey"
                },
                "domain" : {
                  "type" : "string",
                  "description" : "Mailgun domain"
                },
                "apiKeyPublic" : {
                  "type" : "string",
                  "description" : "Public key"
                },
                "apiKeyPrivate" : {
                  "type" : "string",
                  "description" : "Private key"
                }
              },
              "type" : "object"
            },
            "projection" : {
              "type" : "object",
              "description" : "???"
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "filtering" : {
              "description" : "???",
              "properties" : {
                "include" : {
                  "type" : "array",
                  "items" : {
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "exclude" : {
                  "type" : "array",
                  "items" : {
                    "type" : "object"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "teams" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "tags" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Entity tags"
            },
            "name" : {
              "type" : "string",
              "description" : "Entity name"
            },
            "description" : {
              "type" : "string",
              "description" : "Entity description"
            },
            "tenant" : {
              "description" : "Entity organization",
              "type" : "string"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "Entity metadata"
            },
            "id" : {
              "description" : "Entity id",
              "type" : "string"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "routeCompositions" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "capture" : {
              "type" : "boolean",
              "description" : "???"
            },
            "id" : {
              "type" : "string",
              "description" : "???"
            },
            "debug_flow" : {
              "type" : "boolean",
              "description" : "???"
            },
            "routes" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "backend_ref" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "frontend" : {
                    "description" : "The frontend of the route",
                    "properties" : {
                      "headers" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "the headers that will be matched"
                      },
                      "query" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "the query params that will be matched"
                      },
                      "domains" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "The domain and path that will be matched"
                      },
                      "methods" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "the http methods that will be matched"
                      },
                      "exact" : {
                        "type" : "boolean",
                        "description" : "Match on exact path ?"
                      },
                      "strip_path" : {
                        "type" : "boolean",
                        "description" : "Is path stripped from backend request"
                      }
                    },
                    "type" : "object"
                  },
                  "override_plugins" : {
                    "type" : "boolean",
                    "description" : "Override global plugin list from route composition"
                  },
                  "backend" : {
                    "description" : "The backend of the route",
                    "properties" : {
                      "root" : {
                        "type" : "string",
                        "description" : "The root path of the backend or the full rewrite path"
                      },
                      "targets" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "ip_address" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "protocol" : {
                              "type" : "string",
                              "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                              "description" : "Protocol for the target"
                            },
                            "predicate" : {
                              "description" : "Predicate to choose this target",
                              "properties" : {
                                "type" : {
                                  "type" : "string",
                                  "description" : "the kind of predicate",
                                  "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                                },
                                "dc" : {
                                  "type" : "string",
                                  "description" : "???"
                                },
                                "positions" : {
                                  "type" : "array",
                                  "items" : {
                                    "properties" : {
                                      "latitude" : {
                                        "type" : "number",
                                        "format" : "double",
                                        "description" : "???"
                                      },
                                      "longitude" : {
                                        "type" : "number",
                                        "format" : "double",
                                        "description" : "???"
                                      },
                                      "radius" : {
                                        "type" : "number",
                                        "format" : "double",
                                        "description" : "???"
                                      }
                                    },
                                    "type" : "object"
                                  },
                                  "description" : "???"
                                },
                                "provider" : {
                                  "description" : "null type",
                                  "type" : "string",
                                  "nullable" : true
                                },
                                "dataCenter" : {
                                  "description" : "null type",
                                  "type" : "string",
                                  "nullable" : true
                                },
                                "rack" : {
                                  "type" : "string",
                                  "description" : "???"
                                },
                                "region" : {
                                  "type" : "string",
                                  "description" : "???"
                                },
                                "zone" : {
                                  "type" : "string",
                                  "description" : "???"
                                }
                              },
                              "type" : "object"
                            },
                            "tls_config" : {
                              "description" : "TLS settings to contact this target",
                              "properties" : {
                                "enabled" : {
                                  "type" : "boolean",
                                  "description" : "Enabled"
                                },
                                "certs" : {
                                  "type" : "array",
                                  "items" : {
                                    "type" : "string"
                                  },
                                  "description" : "Trusted cert. ids"
                                },
                                "loose" : {
                                  "type" : "boolean",
                                  "description" : "Loose verification"
                                },
                                "trust_all" : {
                                  "type" : "boolean",
                                  "description" : "Trust any certificate"
                                },
                                "trusted_certs" : {
                                  "type" : "array",
                                  "items" : {
                                    "type" : "string"
                                  },
                                  "description" : "Trusted cert. ids"
                                }
                              },
                              "type" : "object"
                            },
                            "tls" : {
                              "type" : "boolean",
                              "description" : "Does the target uses TLS"
                            },
                            "port" : {
                              "type" : "integer",
                              "format" : "int32",
                              "description" : "port of the target"
                            },
                            "id" : {
                              "type" : "string",
                              "description" : "id of the target"
                            },
                            "weight" : {
                              "type" : "integer",
                              "format" : "int32",
                              "description" : "The weight of the target when choosing"
                            },
                            "hostname" : {
                              "type" : "string",
                              "description" : "hostname of the target"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "The targets of the backend"
                      },
                      "load_balancing" : {
                        "description" : "Loadbalancing config og the backend",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                          },
                          "ratio" : {
                            "type" : "number",
                            "format" : "double"
                          }
                        },
                        "type" : "object"
                      },
                      "rewrite" : {
                        "type" : "boolean",
                        "description" : "Does the backend performs a full url rewrite ?"
                      }
                    },
                    "type" : "object"
                  }
                },
                "type" : "object"
              },
              "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" : {
              "description" : "???",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "client" : {
              "description" : "???",
              "properties" : {
                "idle_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Timeout on idle connection"
                },
                "sample_interval" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
                },
                "cache_connection_settings" : {
                  "description" : "Cached connection settings",
                  "properties" : {
                    "queue_size" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "How much request can be queue before dropping it"
                    },
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "Is cached connection enabled"
                    }
                  },
                  "type" : "object"
                },
                "call_and_stream_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                },
                "custom_timeouts" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "connection_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Timeout at connection"
                      },
                      "call_and_stream_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                      },
                      "path" : {
                        "type" : "string",
                        "description" : "path on which this configuration works"
                      },
                      "call_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                      },
                      "idle_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Timeout on idle connection"
                      },
                      "global_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Custom timeouts per path"
                },
                "connection_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Timeout at connection"
                },
                "call_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                },
                "global_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                },
                "retry_initial_delay" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
                },
                "backoff_factor" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify the factor to multiply the delay for each retry"
                },
                "proxy" : {
                  "description" : "Web proxy settings for http client",
                  "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"
                    }
                  }
                },
                "retries" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
                },
                "max_errors" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "Specify how many errors can pass before opening the circuit breaker"
                }
              },
              "type" : "object"
            },
            "groups" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "serviceDescriptors" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "buildMode" : {
              "type" : "boolean",
              "description" : "???"
            },
            "hosts" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "privateApp" : {
              "type" : "boolean",
              "description" : "???"
            },
            "localScheme" : {
              "type" : "string",
              "description" : "???"
            },
            "authConfigRef" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "issueCertCA" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "root" : {
              "type" : "string",
              "description" : "???"
            },
            "name" : {
              "type" : "string",
              "description" : "???"
            },
            "additionalHeaders" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "domain" : {
              "type" : "string",
              "description" : "???"
            },
            "clientConfig" : {
              "description" : "???",
              "properties" : {
                "connectionTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "useCircuitBreaker" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "retryInitialDelay" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "cacheConnectionSettings" : {
                  "description" : "???",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "queueSize" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "proxy" : {
                  "description" : "???",
                  "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"
                    }
                  }
                },
                "callTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "callAndStreamTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "globalTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "maxErrors" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "retries" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "backoffFactor" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "customTimeouts" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "path" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "callAndStreamTimeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "???"
                      },
                      "callTimeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "???"
                      },
                      "idleTimeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "???"
                      },
                      "globalTimeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "???"
                      },
                      "connectionTimeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "idleTimeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                },
                "sampleInterval" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "matchingRoot" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "forceHttps" : {
              "type" : "boolean",
              "description" : "???"
            },
            "localHost" : {
              "type" : "string",
              "description" : "???"
            },
            "sendOtoroshiHeadersBack" : {
              "type" : "boolean",
              "description" : "???"
            },
            "healthCheck" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "url" : {
                  "type" : "string",
                  "description" : "???"
                },
                "timeout" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "secret", "base64" ]
              }, {
                "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
              }, {
                "required" : [ "type", "onlyExposedCerts" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              } ],
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "certId" : {
                  "type" : "string",
                  "description" : "Certificate id"
                },
                "secret" : {
                  "type" : "string",
                  "description" : "HMAC secret"
                },
                "base64" : {
                  "type" : "boolean",
                  "description" : "The secret is base64 encoded"
                },
                "url" : {
                  "type" : "string",
                  "description" : "JWKS url"
                },
                "tlsConfig" : {
                  "description" : "TLS config",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "kty" : {
                  "type" : "string",
                  "description" : "Key type"
                },
                "proxy" : {
                  "description" : "Web proxy for http client",
                  "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"
                    }
                  }
                },
                "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"
                },
                "onlyExposedCerts" : {
                  "type" : "boolean",
                  "description" : "Use only exposed certs"
                }
              }
            },
            "apiKeyConstraints" : {
              "description" : "???",
              "properties" : {
                "customHeadersAuth" : {
                  "description" : "???",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "clientIdHeaderName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "clientSecretHeaderName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    }
                  },
                  "type" : "object"
                },
                "routing" : {
                  "description" : "???",
                  "properties" : {
                    "oneTagIn" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "noneMetaKeysIn" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "oneMetaIn" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "oneMetaKeyIn" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "allMetaKeysIn" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "noneTagIn" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "allTagsIn" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "allMetaIn" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "noneMetaIn" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "clientIdAuth" : {
                  "description" : "???",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "headerName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "queryName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    }
                  },
                  "type" : "object"
                },
                "jwtAuth" : {
                  "description" : "???",
                  "properties" : {
                    "keyPairSigned" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "cookieName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "queryName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "headerName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "secretSigned" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "maxJwtLifespanSecs" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "includeRequestAttributes" : {
                      "type" : "boolean",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "basicAuth" : {
                  "description" : "???",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "headerName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "queryName" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    }
                  },
                  "type" : "object"
                }
              },
              "type" : "object"
            },
            "env" : {
              "type" : "string",
              "description" : "???"
            },
            "xForwardedHeaders" : {
              "type" : "boolean",
              "description" : "???"
            },
            "transformerRefs" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            },
            "gzip" : {
              "description" : "???",
              "properties" : {
                "compressionLevel" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "blackList" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "chunkedThreshold" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "excludedPatterns" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "bufferSize" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "whiteList" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "secret", "base64" ]
              }, {
                "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
              }, {
                "required" : [ "type", "onlyExposedCerts" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              } ],
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "certId" : {
                  "type" : "string",
                  "description" : "Certificate id"
                },
                "secret" : {
                  "type" : "string",
                  "description" : "HMAC secret"
                },
                "base64" : {
                  "type" : "boolean",
                  "description" : "The secret is base64 encoded"
                },
                "url" : {
                  "type" : "string",
                  "description" : "JWKS url"
                },
                "tlsConfig" : {
                  "description" : "TLS config",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "kty" : {
                  "type" : "string",
                  "description" : "Key type"
                },
                "proxy" : {
                  "description" : "Web proxy for http client",
                  "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"
                    }
                  }
                },
                "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"
                },
                "onlyExposedCerts" : {
                  "type" : "boolean",
                  "description" : "Use only exposed certs"
                }
              }
            },
            "userFacing" : {
              "type" : "boolean",
              "description" : "???"
            },
            "transformerConfig" : {
              "type" : "object",
              "description" : "???"
            },
            "clientValidatorRef" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "securityExcludedPatterns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "ipFiltering" : {
              "description" : "???",
              "properties" : {
                "whitelist" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "blacklist" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "targets" : {
              "type" : "array",
              "items" : {
                "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" : {
                    "description" : "???",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of predicate",
                        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                      },
                      "dc" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "positions" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "latitude" : {
                              "type" : "number",
                              "format" : "double",
                              "description" : "???"
                            },
                            "longitude" : {
                              "type" : "number",
                              "format" : "double",
                              "description" : "???"
                            },
                            "radius" : {
                              "type" : "number",
                              "format" : "double",
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "???"
                      },
                      "provider" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "dataCenter" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "rack" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "region" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "zone" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "ipAddress" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "mtlsConfig" : {
                    "description" : "???",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "scheme" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "redirection" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "code" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "to" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "restrictions" : {
              "description" : "???",
              "properties" : {
                "forbidden" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "method" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "path" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "allowed" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "method" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "path" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "notFound" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "method" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "path" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "allowLast" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "overrideHost" : {
              "type" : "boolean",
              "description" : "???"
            },
            "accessValidator" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "excludedPatterns" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "refs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "config" : {
                  "type" : "object",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "sendStateChallenge" : {
              "type" : "boolean",
              "description" : "???"
            },
            "chaosConfig" : {
              "description" : "???",
              "properties" : {
                "badResponsesFaultConfig" : {
                  "description" : "Settings for bad responses",
                  "type" : "object",
                  "properties" : {
                    "ratio" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                    },
                    "responses" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "status" : {
                            "type" : "integer",
                            "format" : "int32",
                            "description" : "The HTTP status for the response"
                          },
                          "body" : {
                            "type" : "string",
                            "description" : "The body of the HTTP response"
                          },
                          "headers" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "The HTTP headers of the response"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "The possibles responses"
                    }
                  }
                },
                "largeRequestFaultConfig" : {
                  "description" : "Settings for large requests",
                  "type" : "object",
                  "properties" : {
                    "ratio" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                    },
                    "additionalRequestSize" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                    }
                  }
                },
                "largeResponseFaultConfig" : {
                  "description" : "Settings for large responses",
                  "type" : "object",
                  "properties" : {
                    "ratio" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                    },
                    "additionalResponseSize" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "Add n 0 bytes"
                    }
                  }
                },
                "latencyInjectionFaultConfig" : {
                  "description" : "Settings for latency injection",
                  "type" : "object",
                  "properties" : {
                    "ratio" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                    },
                    "from" : {
                      "type" : "number",
                      "description" : "The start range of latency added to the request"
                    },
                    "to" : {
                      "type" : "number",
                      "description" : "The end range of latency added to the request"
                    }
                  }
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Whether or not this config is enabled"
                }
              },
              "type" : "object"
            },
            "secComInfoTokenVersion" : {
              "description" : "Version of the info token",
              "type" : "string",
              "enum" : [ "Legacy", "Latest" ]
            },
            "additionalHeadersOut" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "secComHeaders" : {
              "description" : "???",
              "properties" : {
                "claimRequestName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "stateRequestName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "stateResponseName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "matchingHeaders" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "secComAlgoChallengeBackToOto" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "secret", "base64" ]
              }, {
                "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
              }, {
                "required" : [ "type", "onlyExposedCerts" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              } ],
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "certId" : {
                  "type" : "string",
                  "description" : "Certificate id"
                },
                "secret" : {
                  "type" : "string",
                  "description" : "HMAC secret"
                },
                "base64" : {
                  "type" : "boolean",
                  "description" : "The secret is base64 encoded"
                },
                "url" : {
                  "type" : "string",
                  "description" : "JWKS url"
                },
                "tlsConfig" : {
                  "description" : "TLS config",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "kty" : {
                  "type" : "string",
                  "description" : "Key type"
                },
                "proxy" : {
                  "description" : "Web proxy for http client",
                  "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"
                    }
                  }
                },
                "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"
                },
                "onlyExposedCerts" : {
                  "type" : "boolean",
                  "description" : "Use only exposed certs"
                }
              }
            },
            "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" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "secret", "base64" ]
              }, {
                "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
              }, {
                "required" : [ "type", "onlyExposedCerts" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              } ],
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "certId" : {
                  "type" : "string",
                  "description" : "Certificate id"
                },
                "secret" : {
                  "type" : "string",
                  "description" : "HMAC secret"
                },
                "base64" : {
                  "type" : "boolean",
                  "description" : "The secret is base64 encoded"
                },
                "url" : {
                  "type" : "string",
                  "description" : "JWKS url"
                },
                "tlsConfig" : {
                  "description" : "TLS config",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "kty" : {
                  "type" : "string",
                  "description" : "Key type"
                },
                "proxy" : {
                  "description" : "Web proxy for http client",
                  "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"
                    }
                  }
                },
                "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"
                },
                "onlyExposedCerts" : {
                  "type" : "boolean",
                  "description" : "Use only exposed certs"
                }
              }
            },
            "handleLegacyDomain" : {
              "type" : "boolean",
              "description" : "???"
            },
            "canary" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "traffic" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "???"
                },
                "targets" : {
                  "type" : "array",
                  "items" : {
                    "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" : {
                        "description" : "???",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "description" : "the kind of predicate",
                            "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                          },
                          "dc" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "positions" : {
                            "type" : "array",
                            "items" : {
                              "properties" : {
                                "latitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "longitude" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                },
                                "radius" : {
                                  "type" : "number",
                                  "format" : "double",
                                  "description" : "???"
                                }
                              },
                              "type" : "object"
                            },
                            "description" : "???"
                          },
                          "provider" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "dataCenter" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "rack" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "region" : {
                            "type" : "string",
                            "description" : "???"
                          },
                          "zone" : {
                            "type" : "string",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "ipAddress" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "mtlsConfig" : {
                        "description" : "???",
                        "properties" : {
                          "mtls" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustAll" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustedCerts" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "scheme" : {
                        "type" : "string",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "root" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "_loc" : {
              "description" : "???",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "plugins" : {
              "description" : "???",
              "properties" : {
                "config" : {
                  "type" : "object",
                  "description" : "Plugins configuration"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Plugins enabled"
                },
                "excluded" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Excluded paths"
                },
                "refs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Enabled plugins"
                }
              },
              "type" : "object"
            },
            "secComTtl" : {
              "type" : "number",
              "description" : "???"
            },
            "description" : {
              "type" : "string",
              "description" : "???"
            },
            "secComVersion" : {
              "description" : "Version of the challenge token",
              "type" : "string",
              "enum" : [ "V1", "v2" ]
            },
            "preRouting" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "excludedPatterns" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "refs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "config" : {
                  "type" : "object",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "groups" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "readOnly" : {
              "type" : "boolean",
              "description" : "???"
            },
            "privatePatterns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "targetsLoadBalancing" : {
              "description" : "???",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                },
                "ratio" : {
                  "type" : "number",
                  "format" : "double"
                }
              },
              "type" : "object"
            },
            "cors" : {
              "description" : "???",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "allowCredentials" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "maxAge" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "allowMethods" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "allowHeaders" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "excludedPatterns" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "exposeHeaders" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "allowOrigin" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "publicPatterns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "api" : {
              "description" : "???",
              "properties" : {
                "exposeApi" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "openApiDescriptorUrl" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "missingOnlyHeadersIn" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "issueCert" : {
              "type" : "boolean",
              "description" : "???"
            },
            "headersVerification" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "jwtVerifier" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata" ]
              }, {
                "required" : [ "type", "strict", "source", "algoSettings", "enabled", "excludedPatterns", "strategy" ]
              }, {
                "required" : [ "type", "excludedPatterns", "enabled", "ids" ]
              } ],
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of verifier",
                  "enum" : [ "global", "local", "ref" ]
                },
                "desc" : {
                  "type" : "string",
                  "description" : "Verifier description"
                },
                "name" : {
                  "type" : "string",
                  "description" : "Verifier name"
                },
                "strict" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "source" : {
                  "description" : "???",
                  "type" : "object",
                  "oneOfConstraints" : [ {
                    "required" : [ "type", "name" ]
                  }, {
                    "required" : [ "type", "name", "remove" ]
                  }, {
                    "required" : [ "type", "name" ]
                  } ],
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of location",
                      "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                    },
                    "name" : {
                      "type" : "string",
                      "description" : "Query param name"
                    },
                    "remove" : {
                      "type" : "string",
                      "description" : "Remove from value"
                    }
                  }
                },
                "algoSettings" : {
                  "description" : "???",
                  "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" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "certId" : {
                      "type" : "string",
                      "description" : "Certificate id"
                    },
                    "secret" : {
                      "type" : "string",
                      "description" : "HMAC secret"
                    },
                    "base64" : {
                      "type" : "boolean",
                      "description" : "The secret is base64 encoded"
                    },
                    "url" : {
                      "type" : "string",
                      "description" : "JWKS url"
                    },
                    "tlsConfig" : {
                      "description" : "TLS config",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "kty" : {
                      "type" : "string",
                      "description" : "Key type"
                    },
                    "proxy" : {
                      "description" : "Web proxy for http client",
                      "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"
                        }
                      }
                    },
                    "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"
                    },
                    "onlyExposedCerts" : {
                      "type" : "boolean",
                      "description" : "Use only exposed certs"
                    }
                  },
                  "type" : "object"
                },
                "tags" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Entity tags"
                },
                "id" : {
                  "type" : "string",
                  "description" : "Verifier id"
                },
                "_loc" : {
                  "description" : "Entity location",
                  "properties" : {
                    "tenant" : {
                      "description" : "Organization of the current entity",
                      "type" : "string"
                    },
                    "teams" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "Teams of the current entity"
                    }
                  },
                  "type" : "object"
                },
                "strategy" : {
                  "description" : "???",
                  "type" : "object",
                  "oneOfConstraints" : [ {
                    "required" : [ "type", "strict", "token", "verificationSettings" ]
                  }, {
                    "required" : [ "type", "verificationSettings" ]
                  }, {
                    "required" : [ "type", "verificationSettings", "algoSettings" ]
                  }, {
                    "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
                  } ],
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of strategy",
                      "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                    },
                    "strict" : {
                      "type" : "boolean",
                      "description" : "If the token already exists in the request, then fail"
                    },
                    "token" : {
                      "type" : "object",
                      "description" : "The default token"
                    },
                    "verificationSettings" : {
                      "description" : "Verification settings",
                      "properties" : {
                        "fields" : {
                          "type" : "object",
                          "additionalProperties" : {
                            "type" : "string"
                          },
                          "description" : "Fields validation"
                        },
                        "arrayFields" : {
                          "type" : "object",
                          "additionalProperties" : {
                            "type" : "string"
                          },
                          "description" : "Fields array validation"
                        }
                      },
                      "type" : "object"
                    },
                    "algoSettings" : {
                      "description" : "Algorithm settings for re-signing token",
                      "type" : "object",
                      "oneOfConstraints" : [ {
                        "required" : [ "type", "size", "publicKey", "privateKey" ]
                      }, {
                        "required" : [ "type", "size", "certId" ]
                      }, {
                        "required" : [ "type", "size", "secret", "base64" ]
                      }, {
                        "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                      }, {
                        "required" : [ "type", "onlyExposedCerts" ]
                      }, {
                        "required" : [ "type", "size", "certId" ]
                      }, {
                        "required" : [ "type", "size", "publicKey", "privateKey" ]
                      } ],
                      "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" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "certId" : {
                          "type" : "string",
                          "description" : "Certificate id"
                        },
                        "secret" : {
                          "type" : "string",
                          "description" : "HMAC secret"
                        },
                        "base64" : {
                          "type" : "boolean",
                          "description" : "The secret is base64 encoded"
                        },
                        "url" : {
                          "type" : "string",
                          "description" : "JWKS url"
                        },
                        "tlsConfig" : {
                          "description" : "TLS config",
                          "properties" : {
                            "mtls" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "loose" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "trustAll" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "trustedCerts" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "???"
                            },
                            "certs" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "kty" : {
                          "type" : "string",
                          "description" : "Key type"
                        },
                        "proxy" : {
                          "description" : "Web proxy for http client",
                          "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"
                            }
                          }
                        },
                        "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"
                        },
                        "onlyExposedCerts" : {
                          "type" : "boolean",
                          "description" : "Use only exposed certs"
                        }
                      }
                    },
                    "transformSettings" : {
                      "description" : "Transformation settings",
                      "properties" : {
                        "location" : {
                          "description" : "Location of the token",
                          "properties" : {
                            "type" : {
                              "type" : "string",
                              "description" : "the kind of location",
                              "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                            },
                            "name" : {
                              "type" : "string",
                              "description" : "Query param name"
                            },
                            "remove" : {
                              "type" : "string",
                              "description" : "Remove from value"
                            }
                          },
                          "type" : "object"
                        },
                        "mappingSettings" : {
                          "description" : "Token mapping settings",
                          "properties" : {
                            "map" : {
                              "type" : "object",
                              "additionalProperties" : {
                                "type" : "string"
                              },
                              "description" : "Change values"
                            },
                            "values" : {
                              "type" : "object",
                              "description" : "Add values"
                            },
                            "remove" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "Remove some token claims"
                            }
                          },
                          "type" : "object"
                        }
                      },
                      "type" : "object"
                    }
                  }
                },
                "metadata" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "Entity metadata"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "excludedPatterns" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "ids" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              }
            },
            "letsEncrypt" : {
              "type" : "boolean",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "globalConfigs" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "geolocationSettings" : {
              "description" : "Settings for geolocation extraction",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "none" ]
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Geolocation using maxmind db enabled"
                },
                "apikey" : {
                  "type" : "string",
                  "description" : "IpStack apikey"
                },
                "timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "API call timeout"
                },
                "path" : {
                  "type" : "string",
                  "description" : "Maxmlind db file path"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "Optional CleverCloud configuration",
              "type" : "object",
              "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"
                }
              }
            },
            "templates" : {
              "description" : "The otoroshi default templates for entities",
              "properties" : {
                "team" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "script" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "apikey" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "group" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "tcpService" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "verifier" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "service" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "target" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "certificate" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "dataExporter" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "route" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "backend" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "template" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "tenant" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "authConfig" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "descriptor" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "endlessIpAddresses" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "IP addresses for which any request to Otoroshi will respond with 128 Gb of zeros"
            },
            "plugins" : {
              "description" : "global plugins settings",
              "properties" : {
                "config" : {
                  "type" : "object",
                  "description" : "Plugins configuration"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Plugins enabled"
                },
                "excluded" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Excluded paths"
                },
                "refs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Enabled plugins"
                }
              },
              "type" : "object"
            },
            "kafkaConfig" : {
              "description" : "Kafka settings",
              "type" : "object",
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "hostValidation" : {
                  "type" : "boolean",
                  "description" : "Enabled TLS hostname validation"
                },
                "servers" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "URLs of the kafka servers"
                },
                "mtlsConfig" : {
                  "description" : "TLS config to access the cluster",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "securityProtocol" : {
                  "type" : "string",
                  "description" : "Used security protocol"
                },
                "keystore" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "topic" : {
                  "type" : "string",
                  "description" : "Optional kafka topic (otoroshi-events by default)"
                },
                "keyPass" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "saslConfig" : {
                  "description" : "SASL configuration",
                  "type" : "object",
                  "properties" : {
                    "username" : {
                      "type" : "string",
                      "description" : "SASL username"
                    },
                    "password" : {
                      "type" : "string",
                      "description" : "SASL password"
                    },
                    "mechanism" : {
                      "type" : "string",
                      "description" : "SASL login mechanism"
                    }
                  }
                }
              }
            },
            "maxLogsSize" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Number of events kept locally"
            },
            "proxies" : {
              "description" : "Web proxies settings",
              "properties" : {
                "elastic" : {
                  "description" : "Web proxy used to call elastic",
                  "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"
                    }
                  }
                },
                "eventsWebhooks" : {
                  "description" : "Web proxy used to call webhooks",
                  "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"
                    }
                  }
                },
                "jwk" : {
                  "description" : "Web proxy used to fetch jwks",
                  "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"
                    }
                  }
                },
                "auth" : {
                  "description" : "Web proxy used to call OAuth providers",
                  "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"
                    }
                  }
                },
                "clevercloud" : {
                  "description" : "Web proxy used to call clevercloud",
                  "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"
                    }
                  }
                },
                "alertEmails" : {
                  "description" : "Web proxy used to send alert emails",
                  "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"
                    }
                  }
                },
                "authority" : {
                  "description" : "Web proxy used to check authorities",
                  "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"
                    }
                  }
                },
                "services" : {
                  "description" : "Web proxy used to access services targets",
                  "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"
                    }
                  }
                }
              },
              "type" : "object"
            },
            "enableEmbeddedMetrics" : {
              "type" : "boolean",
              "description" : "Enable embedded metrics"
            },
            "elasticReadsConfig" : {
              "description" : "Config. for elastic reads",
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "null type",
                  "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ],
                  "nullable" : true
                },
                "sendWorkers" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "applyTemplate" : {
                  "type" : "boolean",
                  "description" : "Enable template creation/update"
                },
                "uris" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "mtlsConfig" : {
                  "description" : "TLS settings for the http client",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "version" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "maxBulkSize" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "Additionnal headers in the http request"
                },
                "indexSettings" : {
                  "description" : "Indexation settings",
                  "properties" : {
                    "clientSide" : {
                      "type" : "boolean",
                      "description" : "Enable index splitting on client side"
                    },
                    "numberOfShards" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    },
                    "numberOfReplicas" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    },
                    "interval" : {
                      "description" : "Index splitting interval",
                      "properties" : { },
                      "type" : "object"
                    }
                  },
                  "type" : "object"
                },
                "user" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "index" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "password" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              }
            },
            "trustXForwarded" : {
              "type" : "boolean",
              "description" : "Use X-Forwarded-* headers for routing"
            },
            "quotasSettings" : {
              "description" : "Settings to generate alert when an apikey almost exceeded or exceeded its quotas",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Is quotas alert enabled"
                },
                "dailyQuotasThreshold" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The daily quotas threshold before generating alert"
                },
                "monthlyQuotasThreshold" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "The monthly quotas threshold before generating alert"
                }
              },
              "type" : "object"
            },
            "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" : {
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "null type",
                    "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ],
                    "nullable" : true
                  },
                  "sendWorkers" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "applyTemplate" : {
                    "type" : "boolean",
                    "description" : "Enable template creation/update"
                  },
                  "uris" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "mtlsConfig" : {
                    "description" : "TLS settings for the http client",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "version" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "maxBulkSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "headers" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Additionnal headers in the http request"
                  },
                  "indexSettings" : {
                    "description" : "Indexation settings",
                    "properties" : {
                      "clientSide" : {
                        "type" : "boolean",
                        "description" : "Enable index splitting on client side"
                      },
                      "numberOfShards" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "???"
                      },
                      "numberOfReplicas" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "???"
                      },
                      "interval" : {
                        "description" : "Index splitting interval",
                        "properties" : { },
                        "type" : "object"
                      }
                    },
                    "type" : "object"
                  },
                  "user" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "index" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "password" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "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" : {
              "description" : "Optional mailer configuration",
              "type" : "object",
              "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" : {
                    "properties" : {
                      "name" : {
                        "type" : "string",
                        "description" : "Destination name"
                      },
                      "email" : {
                        "type" : "string",
                        "description" : "Email address"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Destination email address"
                },
                "eu" : {
                  "type" : "boolean",
                  "description" : "European tenant"
                },
                "apiKey" : {
                  "type" : "string",
                  "description" : "Sendgrid apikey"
                },
                "domain" : {
                  "type" : "string",
                  "description" : "Mailgun domain"
                },
                "apiKeyPublic" : {
                  "type" : "string",
                  "description" : "Public key"
                },
                "apiKeyPrivate" : {
                  "type" : "string",
                  "description" : "Private key"
                }
              }
            },
            "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" : {
                "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" : {
                    "description" : "TLS config when calling webhook",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  }
                },
                "type" : "object"
              },
              "description" : "Webhook that will receive all internal Otoroshi events"
            },
            "autoCert" : {
              "description" : "Auto certs settings",
              "properties" : {
                "allowed" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "allowed domains"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Enable auto cert"
                },
                "replyNicely" : {
                  "type" : "boolean",
                  "description" : "Reply TLS error with an auto generated certificate for the domain"
                },
                "notAllowed" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "not allowed domains"
                },
                "caRef" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "maintenanceMode" : {
              "type" : "boolean",
              "description" : "Global maintenant mode"
            },
            "initWithNewEngine" : {
              "type" : "boolean",
              "description" : "Was this instance init with new engine as default"
            },
            "letsEncryptSettings" : {
              "description" : "Let's encrypt (ACME) settings",
              "properties" : {
                "privateKey" : {
                  "type" : "string",
                  "description" : "Let's encrypt (ACME) private key"
                },
                "contacts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Let's encrypt (ACME) contacts"
                },
                "emails" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Let's encrypt (ACME) contact emails"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Let's encrypt (ACME) enabled"
                },
                "publicKey" : {
                  "type" : "string",
                  "description" : "Let's encrypt (ACME) public key"
                },
                "server" : {
                  "type" : "string",
                  "description" : "Let's encrypt (ACME) server"
                }
              },
              "type" : "object"
            },
            "snowMonkeyConfig" : {
              "description" : "Snowmonky settings",
              "properties" : {
                "dryRun" : {
                  "type" : "boolean",
                  "description" : "Whether or not outages will actualy impact requests"
                },
                "outageDurationTo" : {
                  "type" : "number",
                  "description" : "End of outage duration range"
                },
                "chaosConfig" : {
                  "description" : "Chaos settings",
                  "properties" : {
                    "badResponsesFaultConfig" : {
                      "description" : "Settings for bad responses",
                      "type" : "object",
                      "properties" : {
                        "ratio" : {
                          "type" : "number",
                          "format" : "double",
                          "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                        },
                        "responses" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "status" : {
                                "type" : "integer",
                                "format" : "int32",
                                "description" : "The HTTP status for the response"
                              },
                              "body" : {
                                "type" : "string",
                                "description" : "The body of the HTTP response"
                              },
                              "headers" : {
                                "type" : "object",
                                "additionalProperties" : {
                                  "type" : "string"
                                },
                                "description" : "The HTTP headers of the response"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "The possibles responses"
                        }
                      }
                    },
                    "largeRequestFaultConfig" : {
                      "description" : "Settings for large requests",
                      "type" : "object",
                      "properties" : {
                        "ratio" : {
                          "type" : "number",
                          "format" : "double",
                          "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                        },
                        "additionalRequestSize" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                        }
                      }
                    },
                    "largeResponseFaultConfig" : {
                      "description" : "Settings for large responses",
                      "type" : "object",
                      "properties" : {
                        "ratio" : {
                          "type" : "number",
                          "format" : "double",
                          "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                        },
                        "additionalResponseSize" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "Add n 0 bytes"
                        }
                      }
                    },
                    "latencyInjectionFaultConfig" : {
                      "description" : "Settings for latency injection",
                      "type" : "object",
                      "properties" : {
                        "ratio" : {
                          "type" : "number",
                          "format" : "double",
                          "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                        },
                        "from" : {
                          "type" : "number",
                          "description" : "The start range of latency added to the request"
                        },
                        "to" : {
                          "type" : "number",
                          "description" : "The end range of latency added to the request"
                        }
                      }
                    },
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "Whether or not this config is enabled"
                    }
                  },
                  "type" : "object"
                },
                "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" : {
                  "description" : "",
                  "type" : "string",
                  "enum" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
                }
              },
              "type" : "object"
            },
            "scripts" : {
              "description" : "global plugins settings. will be deprecated soon",
              "properties" : {
                "jobConfig" : {
                  "type" : "object",
                  "description" : "jobs enabled"
                },
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Global scripts enabled"
                },
                "transformersConfig" : {
                  "type" : "object",
                  "description" : "transformers config"
                },
                "transformersRefs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "transformers enabled"
                },
                "preRouteRefs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "pre-route plugins enabled"
                },
                "sinkConfig" : {
                  "type" : "object",
                  "description" : "sinks config"
                },
                "jobRefs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "running jobs"
                },
                "validatorRefs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "validator enabled"
                },
                "sinkRefs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "sinks enabled"
                },
                "preRouteConfig" : {
                  "type" : "object",
                  "description" : "pre-route config"
                },
                "validatorConfig" : {
                  "type" : "object",
                  "description" : "validator config"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "TLS settings",
              "properties" : {
                "trustedCAsServer" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "List for CAs trusted by otoroshi when performing TLS termination"
                },
                "includeJdkCaClient" : {
                  "type" : "boolean",
                  "description" : "Use known JDK CAs to build trust when performing request from otoroshi to backends"
                },
                "randomIfNotFound" : {
                  "type" : "boolean",
                  "description" : "Use a random one"
                },
                "defaultDomain" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "includeJdkCaServer" : {
                  "type" : "boolean",
                  "description" : "Use known JDK CAs to build trust for incoming request"
                }
              },
              "type" : "object"
            },
            "statsdConfig" : {
              "description" : "Statsd settings (agent connection)",
              "type" : "object",
              "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"
                }
              }
            },
            "autoLinkToDefaultGroup" : {
              "type" : "boolean",
              "description" : "If not defined, every new service descriptor will be added to the default group"
            },
            "alertsWebhooks" : {
              "type" : "array",
              "items" : {
                "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" : {
                    "description" : "TLS config when calling webhook",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  }
                },
                "type" : "object"
              },
              "description" : "Webhook that will receive all Otoroshi alert events"
            },
            "ipFiltering" : {
              "description" : "Global ip filtering settings",
              "properties" : {
                "whitelist" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "blacklist" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "u2fLoginOnly" : {
              "type" : "boolean",
              "description" : "If enabled, login to backoffice through Auth0 will be disabled"
            },
            "userAgentSettings" : {
              "description" : "Settings for useragent extraction",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "User agent extraction enabled"
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "authModules" : {
        "type" : "array",
        "items" : {
          "type" : "object",
          "oneOfConstraints" : [ {
            "required" : [ "type", "desc", "name", "clientSideSessionEnabled", "basicAuth", "tags", "users", "sessionMaxAge", "webauthn", "userValidators", "id", "_loc", "metadata", "sessionCookieValues" ]
          }, {
            "required" : [ "type", "extraMetadata", "desc", "name", "rightsOverride", "clientId", "otoroshiRightsField", "clientSideSessionEnabled", "scope", "tags", "accessTokenField", "superAdmins", "sessionMaxAge", "refreshTokens", "loginUrl", "apiKeyTagsField", "otoroshiDataField", "userValidators", "emailField", "mtlsConfig", "tokenUrl", "useCookie", "id", "pkce", "authorizeUrl", "_loc", "callbackUrl", "proxy", "apiKeyMetaField", "clientSecret", "useJson", "oidConfig", "claims", "metadata", "noWildcardRedirectURI", "nameField", "introspectionUrl", "logoutUrl", "dataOverride", "userInfoUrl", "jwtVerifier", "readProfileFromToken", "sessionCookieValues" ]
          }, {
            "required" : [ "type", "extraMetadata", "desc", "name", "allowEmptyPassword", "groupFilters", "rightsOverride", "serverUrls", "clientSideSessionEnabled", "basicAuth", "searchBase", "groupRights", "tags", "superAdmins", "sessionMaxAge", "metadataField", "searchFilter", "adminUsername", "userValidators", "emailField", "extractProfileFilter", "userBase", "id", "_loc", "adminPassword", "metadata", "extractProfileFilterNot", "nameField", "extractProfile", "dataOverride", "sessionCookieValues" ]
          }, {
            "required" : [ "type", "accessTokenURL", "desc", "name", "authorizeURL", "rightsOverride", "consumerKey", "callbackURL", "profileURL", "clientSideSessionEnabled", "tags", "sessionMaxAge", "httpMethod", "userValidators", "id", "requestTokenURL", "_loc", "consumerSecret", "metadata", "sessionCookieValues" ]
          }, {
            "required" : [ "type", "desc", "name", "ssoProtocolBinding", "clientSideSessionEnabled", "emailAttributeName", "validatingCertificates", "tags", "singleLogoutProtocolBinding", "sessionMaxAge", "issuer", "signature", "userValidators", "singleLogoutUrl", "id", "_loc", "usedNameIDAsEmail", "singleSignOnUrl", "metadata", "validateAssertions", "nameIDFormat", "validateSignature", "credentials", "sessionCookieValues" ]
          } ],
          "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" : {
                "properties" : {
                  "metadata" : {
                    "type" : "object",
                    "description" : "???"
                  },
                  "password" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "tags" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "email" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "webauthn" : {
                    "description" : "???",
                    "type" : "object",
                    "properties" : {
                      "handle" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "credentials" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "object"
                        },
                        "description" : "???"
                      }
                    }
                  },
                  "rights" : {
                    "description" : "???",
                    "properties" : {
                      "rights" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "tenant" : {
                              "description" : "Access rights on organizations",
                              "properties" : {
                                "canWrite" : {
                                  "type" : "boolean",
                                  "description" : "Can this access right write data"
                                },
                                "value" : {
                                  "type" : "string",
                                  "description" : "Access pattern"
                                },
                                "canRead" : {
                                  "type" : "boolean",
                                  "description" : "Can this access right read data"
                                }
                              },
                              "type" : "object"
                            },
                            "teams" : {
                              "type" : "array",
                              "items" : {
                                "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"
                                  }
                                },
                                "type" : "object"
                              },
                              "description" : "Access rights on teams"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "Access rights of a user"
                      }
                    },
                    "type" : "object"
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "sessionMaxAge" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "webauthn" : {
              "type" : "boolean",
              "description" : "???"
            },
            "userValidators" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "path" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "value" : {
                    "type" : "object",
                    "description" : "???"
                  },
                  "error" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "id" : {
              "type" : "string",
              "description" : "???"
            },
            "_loc" : {
              "description" : "???",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "sessionCookieValues" : {
              "description" : "???",
              "properties" : {
                "httpOnly" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "secure" : {
                  "type" : "boolean",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "extraMetadata" : {
              "type" : "object",
              "description" : "???"
            },
            "rightsOverride" : {
              "type" : "object",
              "additionalProperties" : {
                "properties" : {
                  "rights" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "tenant" : {
                          "description" : "Access rights on organizations",
                          "properties" : {
                            "canWrite" : {
                              "type" : "boolean",
                              "description" : "Can this access right write data"
                            },
                            "value" : {
                              "type" : "string",
                              "description" : "Access pattern"
                            },
                            "canRead" : {
                              "type" : "boolean",
                              "description" : "Can this access right read data"
                            }
                          },
                          "type" : "object"
                        },
                        "teams" : {
                          "type" : "array",
                          "items" : {
                            "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"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "Access rights on teams"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Access rights of a user"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "clientId" : {
              "type" : "string",
              "description" : "???"
            },
            "otoroshiRightsField" : {
              "type" : "string",
              "description" : "???"
            },
            "scope" : {
              "type" : "string",
              "description" : "???"
            },
            "accessTokenField" : {
              "type" : "string",
              "description" : "???"
            },
            "superAdmins" : {
              "type" : "boolean",
              "description" : "???"
            },
            "refreshTokens" : {
              "type" : "boolean",
              "description" : "???"
            },
            "loginUrl" : {
              "type" : "string",
              "description" : "???"
            },
            "apiKeyTagsField" : {
              "type" : "string",
              "description" : "???"
            },
            "otoroshiDataField" : {
              "type" : "string",
              "description" : "???"
            },
            "emailField" : {
              "type" : "string",
              "description" : "???"
            },
            "mtlsConfig" : {
              "description" : "???",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "tokenUrl" : {
              "type" : "string",
              "description" : "???"
            },
            "useCookie" : {
              "type" : "boolean",
              "description" : "???"
            },
            "pkce" : {
              "description" : "???",
              "type" : "object",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "algorithm" : {
                  "type" : "string",
                  "description" : "???"
                }
              }
            },
            "authorizeUrl" : {
              "type" : "string",
              "description" : "???"
            },
            "callbackUrl" : {
              "type" : "string",
              "description" : "???"
            },
            "proxy" : {
              "description" : "???",
              "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"
                }
              }
            },
            "apiKeyMetaField" : {
              "type" : "string",
              "description" : "???"
            },
            "clientSecret" : {
              "type" : "string",
              "description" : "???"
            },
            "useJson" : {
              "type" : "boolean",
              "description" : "???"
            },
            "oidConfig" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "claims" : {
              "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" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "secret", "base64" ]
              }, {
                "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
              }, {
                "required" : [ "type", "onlyExposedCerts" ]
              }, {
                "required" : [ "type", "size", "certId" ]
              }, {
                "required" : [ "type", "size", "publicKey", "privateKey" ]
              } ],
              "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" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "certId" : {
                  "type" : "string",
                  "description" : "Certificate id"
                },
                "secret" : {
                  "type" : "string",
                  "description" : "HMAC secret"
                },
                "base64" : {
                  "type" : "boolean",
                  "description" : "The secret is base64 encoded"
                },
                "url" : {
                  "type" : "string",
                  "description" : "JWKS url"
                },
                "tlsConfig" : {
                  "description" : "TLS config",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "kty" : {
                  "type" : "string",
                  "description" : "Key type"
                },
                "proxy" : {
                  "description" : "Web proxy for http client",
                  "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"
                    }
                  }
                },
                "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"
                },
                "onlyExposedCerts" : {
                  "type" : "boolean",
                  "description" : "Use only exposed certs"
                }
              }
            },
            "readProfileFromToken" : {
              "type" : "boolean",
              "description" : "???"
            },
            "allowEmptyPassword" : {
              "type" : "boolean",
              "description" : "???"
            },
            "groupFilters" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "group" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "tenant" : {
                    "description" : "???",
                    "properties" : {
                      "canWrite" : {
                        "type" : "boolean",
                        "description" : "Can this access right write data"
                      },
                      "value" : {
                        "type" : "string",
                        "description" : "Access pattern"
                      },
                      "canRead" : {
                        "type" : "boolean",
                        "description" : "Can this access right read data"
                      }
                    },
                    "type" : "object"
                  },
                  "team" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "serverUrls" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "searchBase" : {
              "type" : "string",
              "description" : "???"
            },
            "groupRights" : {
              "type" : "object",
              "additionalProperties" : {
                "properties" : {
                  "userRights" : {
                    "description" : "???",
                    "properties" : {
                      "rights" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "tenant" : {
                              "description" : "Access rights on organizations",
                              "properties" : {
                                "canWrite" : {
                                  "type" : "boolean",
                                  "description" : "Can this access right write data"
                                },
                                "value" : {
                                  "type" : "string",
                                  "description" : "Access pattern"
                                },
                                "canRead" : {
                                  "type" : "boolean",
                                  "description" : "Can this access right read data"
                                }
                              },
                              "type" : "object"
                            },
                            "teams" : {
                              "type" : "array",
                              "items" : {
                                "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"
                                  }
                                },
                                "type" : "object"
                              },
                              "description" : "Access rights on teams"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "Access rights of a user"
                      }
                    },
                    "type" : "object"
                  },
                  "users" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "metadataField" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "searchFilter" : {
              "type" : "string",
              "description" : "???"
            },
            "adminUsername" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "extractProfileFilter" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "userBase" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "adminPassword" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "extractProfileFilterNot" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "extractProfile" : {
              "type" : "boolean",
              "description" : "???"
            },
            "accessTokenURL" : {
              "type" : "string",
              "description" : "???"
            },
            "authorizeURL" : {
              "type" : "string",
              "description" : "???"
            },
            "consumerKey" : {
              "type" : "string",
              "description" : "???"
            },
            "callbackURL" : {
              "type" : "string",
              "description" : "???"
            },
            "profileURL" : {
              "type" : "string",
              "description" : "???"
            },
            "httpMethod" : {
              "description" : "???",
              "properties" : { },
              "type" : "object"
            },
            "requestTokenURL" : {
              "type" : "string",
              "description" : "???"
            },
            "consumerSecret" : {
              "type" : "string",
              "description" : "???"
            },
            "ssoProtocolBinding" : {
              "description" : "???",
              "properties" : { },
              "type" : "object"
            },
            "emailAttributeName" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "validatingCertificates" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "singleLogoutProtocolBinding" : {
              "description" : "???",
              "properties" : { },
              "type" : "object"
            },
            "issuer" : {
              "type" : "string",
              "description" : "???"
            },
            "signature" : {
              "description" : "???",
              "properties" : {
                "algorithm" : {
                  "description" : "???",
                  "properties" : { },
                  "type" : "object"
                },
                "canocalizationMethod" : {
                  "description" : "???",
                  "properties" : { },
                  "type" : "object"
                }
              },
              "type" : "object"
            },
            "singleLogoutUrl" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "usedNameIDAsEmail" : {
              "type" : "boolean",
              "description" : "???"
            },
            "singleSignOnUrl" : {
              "type" : "string",
              "description" : "???"
            },
            "validateAssertions" : {
              "type" : "boolean",
              "description" : "???"
            },
            "nameIDFormat" : {
              "description" : "???",
              "properties" : { },
              "type" : "object"
            },
            "validateSignature" : {
              "type" : "boolean",
              "description" : "???"
            },
            "credentials" : {
              "description" : "???",
              "properties" : {
                "signingKey" : {
                  "description" : "???",
                  "properties" : {
                    "certificate" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "privateKey" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "certId" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "useOtoroshiCertificate" : {
                      "type" : "boolean",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "encryptionKey" : {
                  "description" : "???",
                  "properties" : {
                    "certificate" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "privateKey" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "certId" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "useOtoroshiCertificate" : {
                      "type" : "boolean",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "signedDocuments" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "encryptedAssertions" : {
                  "type" : "boolean",
                  "description" : "???"
                }
              },
              "type" : "object"
            }
          }
        },
        "description" : "???"
      },
      "tcpServices" : {
        "type" : "array",
        "items" : {
          "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" : {
                "properties" : {
                  "domain" : {
                    "type" : "string",
                    "description" : "match on SNI domain"
                  },
                  "targets" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "host" : {
                          "type" : "string",
                          "description" : "Target host"
                        },
                        "ip" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "port" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "Target port"
                        },
                        "tls" : {
                          "type" : "boolean",
                          "description" : "Use tls"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "TCP targets"
                  }
                },
                "type" : "object"
              },
              "description" : "Routing rules"
            },
            "clientAuth" : {
              "description" : "Client authentication mode",
              "type" : "string",
              "enum" : [ "Need", "None", "Want" ]
            },
            "interface" : {
              "type" : "string",
              "description" : "Network interface"
            },
            "sni" : {
              "description" : "SNI settings",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "SNI extraction enabled"
                },
                "forwardIfNoMatch" : {
                  "type" : "boolean",
                  "description" : ""
                },
                "forwardsTo" : {
                  "description" : "forwards call to",
                  "properties" : {
                    "host" : {
                      "type" : "string",
                      "description" : "Target host"
                    },
                    "ip" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "port" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "Target port"
                    },
                    "tls" : {
                      "type" : "boolean",
                      "description" : "Use tls"
                    }
                  },
                  "type" : "object"
                }
              },
              "type" : "object"
            },
            "id" : {
              "type" : "string",
              "description" : "Entity id"
            },
            "_loc" : {
              "description" : "Entity location",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "name" : {
              "type" : "string",
              "description" : "Entity name"
            },
            "tls" : {
              "description" : "TLS mode",
              "type" : "string",
              "enum" : [ "Disabled", "Enabled", "PassThrough" ]
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "certificates" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "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" : {
              "description" : "Entity location",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "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" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "simpleAdmins" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "Entity location",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "typ" : {
              "description" : "Admin kind",
              "type" : "string",
              "enum" : [ "SIMPLE", "WEBAUTHN" ]
            },
            "createdAt" : {
              "type" : "number",
              "description" : "User creation date"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "Entity metadata"
            },
            "rights" : {
              "description" : "User rights",
              "properties" : {
                "rights" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "tenant" : {
                        "description" : "Access rights on organizations",
                        "properties" : {
                          "canWrite" : {
                            "type" : "boolean",
                            "description" : "Can this access right write data"
                          },
                          "value" : {
                            "type" : "string",
                            "description" : "Access pattern"
                          },
                          "canRead" : {
                            "type" : "boolean",
                            "description" : "Can this access right read data"
                          }
                        },
                        "type" : "object"
                      },
                      "teams" : {
                        "type" : "array",
                        "items" : {
                          "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"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "Access rights on teams"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights of a user"
                }
              },
              "type" : "object"
            },
            "password" : {
              "type" : "string",
              "description" : "User password (bcrypt hashed)"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "wasmPlugins" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "_loc" : {
              "description" : "???",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "name" : {
              "type" : "string",
              "description" : "???"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "steps" : {
              "type" : "array",
              "items" : {
                "properties" : { },
                "type" : "object"
              },
              "description" : "???"
            },
            "id" : {
              "type" : "string",
              "description" : "???"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "description" : {
              "type" : "string",
              "description" : "???"
            },
            "config" : {
              "description" : "???",
              "properties" : {
                "allowedHosts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "memoryPages" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "allowedPaths" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "instances" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "config" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "authorizations" : {
                  "description" : "???",
                  "properties" : {
                    "proxyStateAccess" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "httpAccess" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "globalMapAccess" : {
                      "description" : "???",
                      "properties" : {
                        "read" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "write" : {
                          "type" : "boolean",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "pluginDataStoreAccess" : {
                      "description" : "???",
                      "properties" : {
                        "read" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "write" : {
                          "type" : "boolean",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "pluginMapAccess" : {
                      "description" : "???",
                      "properties" : {
                        "read" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "write" : {
                          "type" : "boolean",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "proxyHttpCallTimeout" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    },
                    "configurationAccess" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "globalDataStoreAccess" : {
                      "description" : "???",
                      "properties" : {
                        "read" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "write" : {
                          "type" : "boolean",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    }
                  },
                  "type" : "object"
                },
                "opa" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "wasi" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "functionName" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "serviceGroups" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "id" : {
              "type" : "string",
              "description" : "A unique random string to identify your service"
            },
            "_loc" : {
              "description" : "Entity location",
              "properties" : {
                "tenant" : {
                  "description" : "Organization of the current entity",
                  "type" : "string"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Teams of the current entity"
                }
              },
              "type" : "object"
            },
            "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"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgClientCredentials" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "default_key_pair" : {
        "type" : "string",
        "description" : "???"
      },
      "expiration" : {
        "type" : "number",
        "description" : "???"
      },
      "secure" : {
        "type" : "boolean",
        "description" : "???"
      },
      "biscuit" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "privkey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "checks" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "facts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "rules" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      },
      "domain" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.Canary" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "traffic" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "targets" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "???",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of predicate",
                  "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                },
                "dc" : {
                  "type" : "string",
                  "description" : "???"
                },
                "positions" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "latitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "longitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "radius" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "provider" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "dataCenter" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "rack" : {
                  "type" : "string",
                  "description" : "???"
                },
                "region" : {
                  "type" : "string",
                  "description" : "???"
                },
                "zone" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "ipAddress" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "mtlsConfig" : {
              "description" : "???",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "scheme" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "root" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgIzanamiV1CanaryConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "client_id" : {
        "type" : "string",
        "description" : "???"
      },
      "experiment_id" : {
        "type" : "string",
        "description" : "???"
      },
      "route_config" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "tls" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enabled"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "Loose verification"
          },
          "trust_all" : {
            "type" : "boolean",
            "description" : "Trust any certificate"
          },
          "trusted_certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          }
        },
        "type" : "object"
      },
      "timeout" : {
        "type" : "number",
        "description" : "???"
      },
      "izanami_url" : {
        "type" : "string",
        "description" : "???"
      },
      "client_secret" : {
        "type" : "string",
        "description" : "???"
      },
      "config_id" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.NgRouteDomainAndPathWrapper" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "route" : {
        "description" : "???",
        "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" : {
            "description" : "The frontend of the route",
            "properties" : {
              "headers" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "the headers that will be matched"
              },
              "query" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "the query params that will be matched"
              },
              "domains" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "The domain and path that will be matched"
              },
              "methods" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "the http methods that will be matched"
              },
              "exact" : {
                "type" : "boolean",
                "description" : "Match on exact path ?"
              },
              "strip_path" : {
                "type" : "boolean",
                "description" : "Is path stripped from backend request"
              }
            },
            "type" : "object"
          },
          "_loc" : {
            "description" : "The location of the route",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "description" : "The description of the route"
          },
          "backend" : {
            "description" : "The backend of the route",
            "properties" : {
              "root" : {
                "type" : "string",
                "description" : "The root path of the backend or the full rewrite path"
              },
              "health_check" : {
                "description" : "???",
                "type" : "object",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "timeout" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                }
              },
              "client" : {
                "description" : "Client config. of the backend",
                "properties" : {
                  "idle_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Timeout on idle connection"
                  },
                  "sample_interval" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
                  },
                  "cache_connection_settings" : {
                    "description" : "Cached connection settings",
                    "properties" : {
                      "queue_size" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "How much request can be queue before dropping it"
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "Is cached connection enabled"
                      }
                    },
                    "type" : "object"
                  },
                  "call_and_stream_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                  },
                  "custom_timeouts" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "connection_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Timeout at connection"
                        },
                        "call_and_stream_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "path on which this configuration works"
                        },
                        "call_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                        },
                        "idle_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Timeout on idle connection"
                        },
                        "global_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Custom timeouts per path"
                  },
                  "connection_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Timeout at connection"
                  },
                  "call_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                  },
                  "global_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                  },
                  "retry_initial_delay" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
                  },
                  "backoff_factor" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the factor to multiply the delay for each retry"
                  },
                  "proxy" : {
                    "description" : "Web proxy settings for http client",
                    "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"
                      }
                    }
                  },
                  "retries" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
                  },
                  "max_errors" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Specify how many errors can pass before opening the circuit breaker"
                  }
                },
                "type" : "object"
              },
              "load_balancing" : {
                "description" : "Loadbalancing config og the backend",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                  },
                  "ratio" : {
                    "type" : "number",
                    "format" : "double"
                  }
                },
                "type" : "object"
              },
              "rewrite" : {
                "type" : "boolean",
                "description" : "Does the backend performs a full url rewrite ?"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "ip_address" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "protocol" : {
                      "type" : "string",
                      "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                      "description" : "Protocol for the target"
                    },
                    "predicate" : {
                      "description" : "Predicate to choose this target",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "tls_config" : {
                      "description" : "TLS settings to contact this target",
                      "properties" : {
                        "enabled" : {
                          "type" : "boolean",
                          "description" : "Enabled"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "Trusted cert. ids"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "Loose verification"
                        },
                        "trust_all" : {
                          "type" : "boolean",
                          "description" : "Trust any certificate"
                        },
                        "trusted_certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "Trusted cert. ids"
                        }
                      },
                      "type" : "object"
                    },
                    "tls" : {
                      "type" : "boolean",
                      "description" : "Does the target uses TLS"
                    },
                    "port" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "port of the target"
                    },
                    "id" : {
                      "type" : "string",
                      "description" : "id of the target"
                    },
                    "weight" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "The weight of the target when choosing"
                    },
                    "hostname" : {
                      "type" : "string",
                      "description" : "hostname of the target"
                    }
                  },
                  "type" : "object"
                },
                "description" : "The targets of the backend"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "domain" : {
        "type" : "string",
        "description" : "???"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.biscuit.BiscuitToken" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.HMACValidatorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "secret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgDeferPlugin" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "duration" : {
        "type" : "number",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.EurekaServerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "eviction_timeout" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.BadResponse" : {
    "type" : "object",
    "description" : "Settings for a bad response return (chaos engineering)",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "The HTTP status for the response"
      },
      "body" : {
        "type" : "string",
        "description" : "The body of the HTTP response"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "The HTTP headers of the response"
      }
    }
  },
  "otoroshi.next.plugins.wrappers.RequestSinkWrapper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.CanaryMode" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "traffic" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "root" : {
        "type" : "string",
        "description" : "???"
      },
      "targets" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "ip_address" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "protocol" : {
              "type" : "string",
              "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
              "description" : "Protocol for the target"
            },
            "predicate" : {
              "description" : "Predicate to choose this target",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of predicate",
                  "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                },
                "dc" : {
                  "type" : "string",
                  "description" : "???"
                },
                "positions" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "latitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "longitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "radius" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "provider" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "dataCenter" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "rack" : {
                  "type" : "string",
                  "description" : "???"
                },
                "region" : {
                  "type" : "string",
                  "description" : "???"
                },
                "zone" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "tls_config" : {
              "description" : "TLS settings to contact this target",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Enabled"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Trusted cert. ids"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "Loose verification"
                },
                "trust_all" : {
                  "type" : "boolean",
                  "description" : "Trust any certificate"
                },
                "trusted_certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Trusted cert. ids"
                }
              },
              "type" : "object"
            },
            "tls" : {
              "type" : "boolean",
              "description" : "Does the target uses TLS"
            },
            "port" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "port of the target"
            },
            "id" : {
              "type" : "string",
              "description" : "id of the target"
            },
            "weight" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "The weight of the target when choosing"
            },
            "hostname" : {
              "type" : "string",
              "description" : "hostname of the target"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.clientcert.HasClientCertMatchingApikeyValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.authcallers.BasicAuthCallerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "username" : {
        "type" : "string",
        "description" : "???"
      },
      "password" : {
        "type" : "string",
        "description" : "???"
      },
      "headerName" : {
        "type" : "string",
        "description" : "???"
      },
      "headerValueFormat" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.RemoveHeadersOut" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "names" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.env.Env" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "circuitBeakersHolder" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.TailscaleCert" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "raw" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgHasAllowedUsersValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "profile_not_match" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "profile_match" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "email_domains" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "usernames" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "metadata_match" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "metadata_not_match" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "emails" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jwt.JwtUserExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "The frontend of the route",
        "properties" : {
          "headers" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "the headers that will be matched"
          },
          "query" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "the query params that will be matched"
          },
          "domains" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "The domain and path that will be matched"
          },
          "methods" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "the http methods that will be matched"
          },
          "exact" : {
            "type" : "boolean",
            "description" : "Match on exact path ?"
          },
          "strip_path" : {
            "type" : "boolean",
            "description" : "Is path stripped from backend request"
          }
        },
        "type" : "object"
      },
      "_loc" : {
        "description" : "The location of the route",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "description" : {
        "type" : "string",
        "description" : "The description of the route"
      },
      "backend" : {
        "description" : "The backend of the route",
        "properties" : {
          "root" : {
            "type" : "string",
            "description" : "The root path of the backend or the full rewrite path"
          },
          "health_check" : {
            "description" : "???",
            "type" : "object",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "url" : {
                "type" : "string",
                "description" : "???"
              },
              "timeout" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            }
          },
          "client" : {
            "description" : "Client config. of the backend",
            "properties" : {
              "idle_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Timeout on idle connection"
              },
              "sample_interval" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
              },
              "cache_connection_settings" : {
                "description" : "Cached connection settings",
                "properties" : {
                  "queue_size" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "How much request can be queue before dropping it"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Is cached connection enabled"
                  }
                },
                "type" : "object"
              },
              "call_and_stream_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
              },
              "custom_timeouts" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "connection_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout at connection"
                    },
                    "call_and_stream_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "path on which this configuration works"
                    },
                    "call_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                    },
                    "idle_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout on idle connection"
                    },
                    "global_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                    }
                  },
                  "type" : "object"
                },
                "description" : "Custom timeouts per path"
              },
              "connection_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Timeout at connection"
              },
              "call_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
              },
              "global_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
              },
              "retry_initial_delay" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
              },
              "backoff_factor" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify the factor to multiply the delay for each retry"
              },
              "proxy" : {
                "description" : "Web proxy settings for http client",
                "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"
                  }
                }
              },
              "retries" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
              },
              "max_errors" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "Specify how many errors can pass before opening the circuit breaker"
              }
            },
            "type" : "object"
          },
          "load_balancing" : {
            "description" : "Loadbalancing config og the backend",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
              },
              "ratio" : {
                "type" : "number",
                "format" : "double"
              }
            },
            "type" : "object"
          },
          "rewrite" : {
            "type" : "boolean",
            "description" : "Does the backend performs a full url rewrite ?"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "ip_address" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "protocol" : {
                  "type" : "string",
                  "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                  "description" : "Protocol for the target"
                },
                "predicate" : {
                  "description" : "Predicate to choose this target",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of predicate",
                      "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    },
                    "dc" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "positions" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "latitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "longitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "radius" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "???"
                    },
                    "provider" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "dataCenter" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "rack" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "region" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "zone" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "tls_config" : {
                  "description" : "TLS settings to contact this target",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "Enabled"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "Trusted cert. ids"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "Loose verification"
                    },
                    "trust_all" : {
                      "type" : "boolean",
                      "description" : "Trust any certificate"
                    },
                    "trusted_certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "Trusted cert. ids"
                    }
                  },
                  "type" : "object"
                },
                "tls" : {
                  "type" : "boolean",
                  "description" : "Does the target uses TLS"
                },
                "port" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "port of the target"
                },
                "id" : {
                  "type" : "string",
                  "description" : "id of the target"
                },
                "weight" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "The weight of the target when choosing"
                },
                "hostname" : {
                  "type" : "string",
                  "description" : "hostname of the target"
                }
              },
              "type" : "object"
            },
            "description" : "The targets of the backend"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.auth.SAMLSignatureAlgorithm" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.ForceHttpsTraffic" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.GlobalConfig" : {
    "type" : "object",
    "description" : "The global config (dynamic) for otoroshi",
    "properties" : {
      "geolocationSettings" : {
        "description" : "Settings for geolocation extraction",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "enabled", "apikey", "timeout" ]
        }, {
          "required" : [ "type", "enabled", "path" ]
        }, {
          "required" : [ "type" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "none" ]
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Geolocation using maxmind db enabled"
          },
          "apikey" : {
            "type" : "string",
            "description" : "IpStack apikey"
          },
          "timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "API call timeout"
          },
          "path" : {
            "type" : "string",
            "description" : "Maxmlind db file path"
          }
        }
      },
      "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" : {
        "description" : "Optional CleverCloud configuration",
        "type" : "object",
        "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"
          }
        }
      },
      "templates" : {
        "description" : "The otoroshi default templates for entities",
        "properties" : {
          "team" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "script" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "apikey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "group" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "tcpService" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "verifier" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "service" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "target" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certificate" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "dataExporter" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "route" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "backend" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "template" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "tenant" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "authConfig" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "descriptor" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "endlessIpAddresses" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "IP addresses for which any request to Otoroshi will respond with 128 Gb of zeros"
      },
      "plugins" : {
        "description" : "global plugins settings",
        "properties" : {
          "config" : {
            "type" : "object",
            "description" : "Plugins configuration"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Plugins enabled"
          },
          "excluded" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Excluded paths"
          },
          "refs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Enabled plugins"
          }
        },
        "type" : "object"
      },
      "kafkaConfig" : {
        "description" : "Kafka settings",
        "type" : "object",
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "hostValidation" : {
            "type" : "boolean",
            "description" : "Enabled TLS hostname validation"
          },
          "servers" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "URLs of the kafka servers"
          },
          "mtlsConfig" : {
            "description" : "TLS config to access the cluster",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "securityProtocol" : {
            "type" : "string",
            "description" : "Used security protocol"
          },
          "keystore" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "topic" : {
            "type" : "string",
            "description" : "Optional kafka topic (otoroshi-events by default)"
          },
          "keyPass" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "saslConfig" : {
            "description" : "SASL configuration",
            "type" : "object",
            "properties" : {
              "username" : {
                "type" : "string",
                "description" : "SASL username"
              },
              "password" : {
                "type" : "string",
                "description" : "SASL password"
              },
              "mechanism" : {
                "type" : "string",
                "description" : "SASL login mechanism"
              }
            }
          }
        }
      },
      "maxLogsSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "Number of events kept locally"
      },
      "proxies" : {
        "description" : "Web proxies settings",
        "properties" : {
          "elastic" : {
            "description" : "Web proxy used to call elastic",
            "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"
              }
            }
          },
          "eventsWebhooks" : {
            "description" : "Web proxy used to call webhooks",
            "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"
              }
            }
          },
          "jwk" : {
            "description" : "Web proxy used to fetch jwks",
            "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"
              }
            }
          },
          "auth" : {
            "description" : "Web proxy used to call OAuth providers",
            "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"
              }
            }
          },
          "clevercloud" : {
            "description" : "Web proxy used to call clevercloud",
            "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"
              }
            }
          },
          "alertEmails" : {
            "description" : "Web proxy used to send alert emails",
            "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"
              }
            }
          },
          "authority" : {
            "description" : "Web proxy used to check authorities",
            "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"
              }
            }
          },
          "services" : {
            "description" : "Web proxy used to access services targets",
            "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"
              }
            }
          }
        },
        "type" : "object"
      },
      "enableEmbeddedMetrics" : {
        "type" : "boolean",
        "description" : "Enable embedded metrics"
      },
      "elasticReadsConfig" : {
        "description" : "Config. for elastic reads",
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "null type",
            "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ],
            "nullable" : true
          },
          "sendWorkers" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "applyTemplate" : {
            "type" : "boolean",
            "description" : "Enable template creation/update"
          },
          "uris" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "mtlsConfig" : {
            "description" : "TLS settings for the http client",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "version" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "maxBulkSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "headers" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Additionnal headers in the http request"
          },
          "indexSettings" : {
            "description" : "Indexation settings",
            "properties" : {
              "clientSide" : {
                "type" : "boolean",
                "description" : "Enable index splitting on client side"
              },
              "numberOfShards" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "numberOfReplicas" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "interval" : {
                "description" : "Index splitting interval",
                "properties" : { },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "user" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "index" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "password" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "trustXForwarded" : {
        "type" : "boolean",
        "description" : "Use X-Forwarded-* headers for routing"
      },
      "quotasSettings" : {
        "description" : "Settings to generate alert when an apikey almost exceeded or exceeded its quotas",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Is quotas alert enabled"
          },
          "dailyQuotasThreshold" : {
            "type" : "number",
            "format" : "double",
            "description" : "The daily quotas threshold before generating alert"
          },
          "monthlyQuotasThreshold" : {
            "type" : "number",
            "format" : "double",
            "description" : "The monthly quotas threshold before generating alert"
          }
        },
        "type" : "object"
      },
      "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" : {
          "properties" : {
            "type" : {
              "type" : "string",
              "description" : "null type",
              "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ],
              "nullable" : true
            },
            "sendWorkers" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "applyTemplate" : {
              "type" : "boolean",
              "description" : "Enable template creation/update"
            },
            "uris" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "mtlsConfig" : {
              "description" : "TLS settings for the http client",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "version" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "maxBulkSize" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "headers" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "Additionnal headers in the http request"
            },
            "indexSettings" : {
              "description" : "Indexation settings",
              "properties" : {
                "clientSide" : {
                  "type" : "boolean",
                  "description" : "Enable index splitting on client side"
                },
                "numberOfShards" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "numberOfReplicas" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "interval" : {
                  "description" : "Index splitting interval",
                  "properties" : { },
                  "type" : "object"
                }
              },
              "type" : "object"
            },
            "user" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "index" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "password" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "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" : {
        "description" : "Optional mailer configuration",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type" ]
        }, {
          "required" : [ "type", "url", "headers", "to" ]
        }, {
          "required" : [ "type", "eu", "apiKey", "domain", "to" ]
        }, {
          "required" : [ "type", "apiKeyPublic", "apiKeyPrivate", "to" ]
        }, {
          "required" : [ "type" ]
        }, {
          "required" : [ "type", "apiKey", "to" ]
        } ],
        "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" : {
              "properties" : {
                "name" : {
                  "type" : "string",
                  "description" : "Destination name"
                },
                "email" : {
                  "type" : "string",
                  "description" : "Email address"
                }
              },
              "type" : "object"
            },
            "description" : "Destination email address"
          },
          "eu" : {
            "type" : "boolean",
            "description" : "European tenant"
          },
          "apiKey" : {
            "type" : "string",
            "description" : "Sendgrid apikey"
          },
          "domain" : {
            "type" : "string",
            "description" : "Mailgun domain"
          },
          "apiKeyPublic" : {
            "type" : "string",
            "description" : "Public key"
          },
          "apiKeyPrivate" : {
            "type" : "string",
            "description" : "Private key"
          }
        }
      },
      "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" : {
          "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" : {
              "description" : "TLS config when calling webhook",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "description" : "Webhook that will receive all internal Otoroshi events"
      },
      "autoCert" : {
        "description" : "Auto certs settings",
        "properties" : {
          "allowed" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "allowed domains"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Enable auto cert"
          },
          "replyNicely" : {
            "type" : "boolean",
            "description" : "Reply TLS error with an auto generated certificate for the domain"
          },
          "notAllowed" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "not allowed domains"
          },
          "caRef" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "maintenanceMode" : {
        "type" : "boolean",
        "description" : "Global maintenant mode"
      },
      "initWithNewEngine" : {
        "type" : "boolean",
        "description" : "Was this instance init with new engine as default"
      },
      "letsEncryptSettings" : {
        "description" : "Let's encrypt (ACME) settings",
        "properties" : {
          "privateKey" : {
            "type" : "string",
            "description" : "Let's encrypt (ACME) private key"
          },
          "contacts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Let's encrypt (ACME) contacts"
          },
          "emails" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Let's encrypt (ACME) contact emails"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Let's encrypt (ACME) enabled"
          },
          "publicKey" : {
            "type" : "string",
            "description" : "Let's encrypt (ACME) public key"
          },
          "server" : {
            "type" : "string",
            "description" : "Let's encrypt (ACME) server"
          }
        },
        "type" : "object"
      },
      "snowMonkeyConfig" : {
        "description" : "Snowmonky settings",
        "properties" : {
          "dryRun" : {
            "type" : "boolean",
            "description" : "Whether or not outages will actualy impact requests"
          },
          "outageDurationTo" : {
            "type" : "number",
            "description" : "End of outage duration range"
          },
          "chaosConfig" : {
            "description" : "Chaos settings",
            "properties" : {
              "badResponsesFaultConfig" : {
                "description" : "Settings for bad responses",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "responses" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "The HTTP status for the response"
                        },
                        "body" : {
                          "type" : "string",
                          "description" : "The body of the HTTP response"
                        },
                        "headers" : {
                          "type" : "object",
                          "additionalProperties" : {
                            "type" : "string"
                          },
                          "description" : "The HTTP headers of the response"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "The possibles responses"
                  }
                }
              },
              "largeRequestFaultConfig" : {
                "description" : "Settings for large requests",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "additionalRequestSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                  }
                }
              },
              "largeResponseFaultConfig" : {
                "description" : "Settings for large responses",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "additionalResponseSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Add n 0 bytes"
                  }
                }
              },
              "latencyInjectionFaultConfig" : {
                "description" : "Settings for latency injection",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "from" : {
                    "type" : "number",
                    "description" : "The start range of latency added to the request"
                  },
                  "to" : {
                    "type" : "number",
                    "description" : "The end range of latency added to the request"
                  }
                }
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Whether or not this config is enabled"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "",
            "type" : "string",
            "enum" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
          }
        },
        "type" : "object"
      },
      "scripts" : {
        "description" : "global plugins settings. will be deprecated soon",
        "properties" : {
          "jobConfig" : {
            "type" : "object",
            "description" : "jobs enabled"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Global scripts enabled"
          },
          "transformersConfig" : {
            "type" : "object",
            "description" : "transformers config"
          },
          "transformersRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "transformers enabled"
          },
          "preRouteRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "pre-route plugins enabled"
          },
          "sinkConfig" : {
            "type" : "object",
            "description" : "sinks config"
          },
          "jobRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "running jobs"
          },
          "validatorRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "validator enabled"
          },
          "sinkRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "sinks enabled"
          },
          "preRouteConfig" : {
            "type" : "object",
            "description" : "pre-route config"
          },
          "validatorConfig" : {
            "type" : "object",
            "description" : "validator config"
          }
        },
        "type" : "object"
      },
      "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" : {
        "description" : "TLS settings",
        "properties" : {
          "trustedCAsServer" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "List for CAs trusted by otoroshi when performing TLS termination"
          },
          "includeJdkCaClient" : {
            "type" : "boolean",
            "description" : "Use known JDK CAs to build trust when performing request from otoroshi to backends"
          },
          "randomIfNotFound" : {
            "type" : "boolean",
            "description" : "Use a random one"
          },
          "defaultDomain" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "includeJdkCaServer" : {
            "type" : "boolean",
            "description" : "Use known JDK CAs to build trust for incoming request"
          }
        },
        "type" : "object"
      },
      "statsdConfig" : {
        "description" : "Statsd settings (agent connection)",
        "type" : "object",
        "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"
          }
        }
      },
      "autoLinkToDefaultGroup" : {
        "type" : "boolean",
        "description" : "If not defined, every new service descriptor will be added to the default group"
      },
      "alertsWebhooks" : {
        "type" : "array",
        "items" : {
          "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" : {
              "description" : "TLS config when calling webhook",
              "properties" : {
                "mtls" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustAll" : {
                  "type" : "boolean",
                  "description" : "???"
                },
                "trustedCerts" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "description" : "Webhook that will receive all Otoroshi alert events"
      },
      "ipFiltering" : {
        "description" : "Global ip filtering settings",
        "properties" : {
          "whitelist" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "blacklist" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "u2fLoginOnly" : {
        "type" : "boolean",
        "description" : "If enabled, login to backoffice through Auth0 will be disabled"
      },
      "userAgentSettings" : {
        "description" : "Settings for useragent extraction",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "User agent extraction enabled"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.greenscore.RuleId" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "value" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.BuildMode" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "StringList" : {
    "type" : "array",
    "items" : {
      "type" : "string"
    }
  },
  "otoroshi.next.plugins.NgUserAgentExtractorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "log" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.discovery.DiscoverySelfRegistrationSink" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.ExporterRef" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of exporter",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
      },
      "ref" : {
        "type" : "string",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.NgMultiAuthModuleConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "modules" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "pass_with_apikey" : {
        "type" : "boolean",
        "description" : "???"
      },
      "use_email_prompt" : {
        "type" : "boolean",
        "description" : "???"
      },
      "users_groups" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "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"
      }
    }
  },
  "otoroshi.next.plugins.NgRestrictionPath" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "method" : {
        "type" : "string",
        "description" : "???"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.AccessValidatorContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ctx" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.NgFaultConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "HealthCheckEventList" : {
    "type" : "array",
    "items" : {
      "properties" : {
        "error" : {
          "description" : "null type",
          "type" : "string",
          "nullable" : true
        },
        "health" : {
          "description" : "null type",
          "type" : "string",
          "nullable" : true
        },
        "logicCheck" : {
          "type" : "boolean",
          "description" : "???"
        },
        "status" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "???"
        },
        "url" : {
          "type" : "string",
          "description" : "???"
        },
        "duration" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "???"
        }
      },
      "type" : "object"
    }
  },
  "otoroshi.next.plugins.FileUtils" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingHttpValidatorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "method" : {
        "type" : "string",
        "description" : "???"
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "tls" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enabled"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "Loose verification"
          },
          "trust_all" : {
            "type" : "boolean",
            "description" : "Trust any certificate"
          },
          "trusted_certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          }
        },
        "type" : "object"
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.ReadOnlyCalls" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgAuthModuleExpectedUser" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "only_from" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.WasmJobsLauncher" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.QueryTransformerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "remove" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "rename" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.GraphQLBackend" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "schema" : {
        "type" : "string",
        "description" : "???"
      },
      "permissions" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "initial_data" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "max_depth" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.NgFrontend" : {
    "type" : "object",
    "description" : "Representation of how a request will be matched to a route",
    "properties" : {
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "the headers that will be matched"
      },
      "query" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "the query params that will be matched"
      },
      "domains" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "The domain and path that will be matched"
      },
      "methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "the http methods that will be matched"
      },
      "exact" : {
        "type" : "boolean",
        "description" : "Match on exact path ?"
      },
      "strip_path" : {
        "type" : "boolean",
        "description" : "Is path stripped from backend request"
      }
    }
  },
  "otoroshi.next.plugins.WasmPreRoute" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.OutageStrategy" : {
    "type" : "string",
    "enum" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
  },
  "otoroshi.next.plugins.MockResponsesConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "responses" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "body" : {
              "type" : "string",
              "description" : "???"
            },
            "status" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "headers" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "pass_through" : {
        "type" : "boolean",
        "description" : "???"
      },
      "form_data" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "resources" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "name" : {
                  "type" : "string",
                  "description" : "???"
                },
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "field_name" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "field_type" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "value" : {
                        "type" : "object",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "additional_data" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "endpoints" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "status" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "body" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "path" : {
                  "type" : "string",
                  "description" : "???"
                },
                "resource" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "headers" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "method" : {
                  "type" : "string",
                  "description" : "???"
                },
                "resource_list" : {
                  "type" : "boolean",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          }
        }
      }
    }
  },
  "otoroshi.models.ClientIdAuthConstraints" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "headerName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "queryName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "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" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "handle" : {
            "type" : "string",
            "description" : "???"
          },
          "credentials" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "description" : "???"
          }
        }
      },
      "rights" : {
        "description" : "???",
        "properties" : {
          "rights" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "tenant" : {
                  "description" : "Access rights on organizations",
                  "properties" : {
                    "canWrite" : {
                      "type" : "boolean",
                      "description" : "Can this access right write data"
                    },
                    "value" : {
                      "type" : "string",
                      "description" : "Access pattern"
                    },
                    "canRead" : {
                      "type" : "boolean",
                      "description" : "Can this access right read data"
                    }
                  },
                  "type" : "object"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "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"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights on teams"
                }
              },
              "type" : "object"
            },
            "description" : "Access rights of a user"
          }
        },
        "type" : "object"
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.ClientConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "connectionTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "useCircuitBreaker" : {
        "type" : "boolean",
        "description" : "???"
      },
      "retryInitialDelay" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "cacheConnectionSettings" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "queueSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "proxy" : {
        "description" : "???",
        "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"
          }
        }
      },
      "callTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "callAndStreamTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "globalTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "maxErrors" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "retries" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "backoffFactor" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "customTimeouts" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "callAndStreamTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "callTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "idleTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "globalTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            },
            "connectionTimeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "idleTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "sampleInterval" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.WasmRouter" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgBadResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "body" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgErrorRewriter" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ranges" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "from" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "to" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "templates" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "log" : {
        "type" : "boolean",
        "description" : "???"
      },
      "export" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.useragent.UserAgentInfoEndpoint" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "LiveStats" : {
    "type" : "object",
    "description" : "Service live stats"
  },
  "otoroshi.models.ApiKeyConstraints" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "customHeadersAuth" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "clientIdHeaderName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "clientSecretHeaderName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "routing" : {
        "description" : "???",
        "properties" : {
          "oneTagIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneMetaKeysIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "oneMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "oneMetaKeyIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allMetaKeysIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneTagIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allTagsIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "clientIdAuth" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "headerName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "queryName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "jwtAuth" : {
        "description" : "???",
        "properties" : {
          "keyPairSigned" : {
            "type" : "boolean",
            "description" : "???"
          },
          "cookieName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "queryName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "headerName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "secretSigned" : {
            "type" : "boolean",
            "description" : "???"
          },
          "maxJwtLifespanSecs" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "includeRequestAttributes" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "basicAuth" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "headerName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "queryName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.metrics.ServiceMetrics" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.core.apikeys.BasicAuthApikeyExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.izanami.IzanamiCanary" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgOtoroshiChallengeConfig" : {
    "description" : "Configuration for OtoroshiChallenge",
    "type" : "object",
    "properties" : {
      "version" : {
        "description" : "Version of the challenge token",
        "type" : "string",
        "enum" : [ "V1", "v2" ]
      },
      "ttl" : {
        "description" : "The ttl of the generated jwt in milliseconds",
        "type" : "number"
      },
      "request_header_name" : {
        "description" : "The header name to inject the jwt",
        "type" : "string"
      },
      "response_header_name" : {
        "description" : "The header name to read the jwt",
        "type" : "string"
      },
      "algo_to_backend" : {
        "description" : "The jwt signing algorithm when writing",
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        },
        "type" : "object"
      },
      "algo_from_backend" : {
        "description" : "The jwt signing algorithm when reading",
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        },
        "type" : "object"
      },
      "state_resp_leeway" : {
        "description" : "the number of seconds acceptable between client and server time",
        "type" : "number"
      }
    }
  },
  "otoroshi.plugins.mirror.MirroringPlugin" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgTrafficMirroringConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "legacy" : {
        "description" : "???",
        "properties" : {
          "conf" : {
            "type" : "object",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.WasmException" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "message" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgOtoroshiInfoConfig" : {
    "description" : "Configuration for OtoroshiInfos",
    "type" : "object",
    "properties" : {
      "version" : {
        "description" : "Version of the info token",
        "type" : "string",
        "enum" : [ "Legacy", "Latest" ]
      },
      "secComTtl" : {
        "description" : "The ttl of the generated jwt in milliseconds",
        "type" : "number"
      },
      "headerName" : {
        "description" : "The header name to inject the jwt",
        "type" : "string"
      },
      "algo" : {
        "description" : "The jwt signing algorithm",
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.utils.http.DN" : {
    "type" : "string",
    "description" : "A string representation of a Distinguished Name"
  },
  "otoroshi.next.plugins.NgDiscoveryTargetsSelector" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "raw" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgResponseCache" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ttl" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "max_size" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "auto_clean" : {
        "type" : "boolean",
        "description" : "???"
      },
      "filter" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "paths" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "methods" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "not_methods" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "not_paths" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      }
    }
  },
  "Any" : {
    "type" : "object"
  },
  "otoroshi.ssl.ClientAuth" : {
    "type" : "string",
    "enum" : [ "Need", "None", "Want" ],
    "description" : "Client authentication mode"
  },
  "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" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "typ" : {
        "description" : "Admin kind",
        "type" : "string",
        "enum" : [ "SIMPLE", "WEBAUTHN" ]
      },
      "createdAt" : {
        "type" : "number",
        "description" : "User creation date"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Entity metadata"
      },
      "rights" : {
        "description" : "User rights",
        "properties" : {
          "rights" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "tenant" : {
                  "description" : "Access rights on organizations",
                  "properties" : {
                    "canWrite" : {
                      "type" : "boolean",
                      "description" : "Can this access right write data"
                    },
                    "value" : {
                      "type" : "string",
                      "description" : "Access pattern"
                    },
                    "canRead" : {
                      "type" : "boolean",
                      "description" : "Can this access right read data"
                    }
                  },
                  "type" : "object"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "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"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights on teams"
                }
              },
              "type" : "object"
            },
            "description" : "Access rights of a user"
          }
        },
        "type" : "object"
      },
      "password" : {
        "type" : "string",
        "description" : "User password (bcrypt hashed)"
      }
    },
    "type" : "object",
    "description" : "An otoroshi admin user"
  },
  "otoroshi.models.EntityIdentifier" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "description" ]
    }, {
      "required" : [ "type", "description" ]
    } ],
    "properties" : {
      "type" : "string",
      "description" : "the id of a group prefixed by 'group_'"
    }
  },
  "otoroshi.next.plugins.ContextValidation" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "validators" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.TailscaleCertificatesFetcherJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.ResponseStatusRange" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "from" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "to" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgIzanamiV1ProxyConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "features_enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "client_secret" : {
        "type" : "string",
        "description" : "???"
      },
      "features_with_context_enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "config_pattern" : {
        "type" : "string",
        "description" : "???"
      },
      "feature_pattern" : {
        "type" : "string",
        "description" : "???"
      },
      "client_id" : {
        "type" : "string",
        "description" : "???"
      },
      "tls" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enabled"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "Loose verification"
          },
          "trust_all" : {
            "type" : "boolean",
            "description" : "Trust any certificate"
          },
          "trusted_certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          }
        },
        "type" : "object"
      },
      "izanami_url" : {
        "type" : "string",
        "description" : "???"
      },
      "timeout" : {
        "type" : "number",
        "description" : "???"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "auto_context" : {
        "type" : "boolean",
        "description" : "???"
      },
      "configuration_enabled" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.EurekaTargetConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "eureka_server" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "eureka_app" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.izanami.IzanamiCanaryRoutingConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "routes" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "variants" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "wildcard" : {
              "type" : "boolean",
              "description" : "???"
            },
            "default" : {
              "type" : "string",
              "description" : "???"
            },
            "regex" : {
              "type" : "boolean",
              "description" : "???"
            },
            "exact" : {
              "type" : "boolean",
              "description" : "???"
            },
            "route" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgApikeyExtractorBasic" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "header_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "query_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgRequestContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "legacy" : {
            "description" : "???",
            "properties" : {
              "conf" : {
                "type" : "object",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "route" : {
        "description" : "???",
        "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" : {
            "description" : "The frontend of the route",
            "properties" : {
              "headers" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "the headers that will be matched"
              },
              "query" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "the query params that will be matched"
              },
              "domains" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "The domain and path that will be matched"
              },
              "methods" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "the http methods that will be matched"
              },
              "exact" : {
                "type" : "boolean",
                "description" : "Match on exact path ?"
              },
              "strip_path" : {
                "type" : "boolean",
                "description" : "Is path stripped from backend request"
              }
            },
            "type" : "object"
          },
          "_loc" : {
            "description" : "The location of the route",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "description" : "The description of the route"
          },
          "backend" : {
            "description" : "The backend of the route",
            "properties" : {
              "root" : {
                "type" : "string",
                "description" : "The root path of the backend or the full rewrite path"
              },
              "health_check" : {
                "description" : "???",
                "type" : "object",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "timeout" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                }
              },
              "client" : {
                "description" : "Client config. of the backend",
                "properties" : {
                  "idle_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Timeout on idle connection"
                  },
                  "sample_interval" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
                  },
                  "cache_connection_settings" : {
                    "description" : "Cached connection settings",
                    "properties" : {
                      "queue_size" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "How much request can be queue before dropping it"
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "Is cached connection enabled"
                      }
                    },
                    "type" : "object"
                  },
                  "call_and_stream_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                  },
                  "custom_timeouts" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "connection_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Timeout at connection"
                        },
                        "call_and_stream_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "path on which this configuration works"
                        },
                        "call_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                        },
                        "idle_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Timeout on idle connection"
                        },
                        "global_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Custom timeouts per path"
                  },
                  "connection_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Timeout at connection"
                  },
                  "call_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                  },
                  "global_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                  },
                  "retry_initial_delay" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
                  },
                  "backoff_factor" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the factor to multiply the delay for each retry"
                  },
                  "proxy" : {
                    "description" : "Web proxy settings for http client",
                    "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"
                      }
                    }
                  },
                  "retries" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
                  },
                  "max_errors" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Specify how many errors can pass before opening the circuit breaker"
                  }
                },
                "type" : "object"
              },
              "load_balancing" : {
                "description" : "Loadbalancing config og the backend",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                  },
                  "ratio" : {
                    "type" : "number",
                    "format" : "double"
                  }
                },
                "type" : "object"
              },
              "rewrite" : {
                "type" : "boolean",
                "description" : "Does the backend performs a full url rewrite ?"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "ip_address" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "protocol" : {
                      "type" : "string",
                      "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                      "description" : "Protocol for the target"
                    },
                    "predicate" : {
                      "description" : "Predicate to choose this target",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "tls_config" : {
                      "description" : "TLS settings to contact this target",
                      "properties" : {
                        "enabled" : {
                          "type" : "boolean",
                          "description" : "Enabled"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "Trusted cert. ids"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "Loose verification"
                        },
                        "trust_all" : {
                          "type" : "boolean",
                          "description" : "Trust any certificate"
                        },
                        "trusted_certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "Trusted cert. ids"
                        }
                      },
                      "type" : "object"
                    },
                    "tls" : {
                      "type" : "boolean",
                      "description" : "Does the target uses TLS"
                    },
                    "port" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "port of the target"
                    },
                    "id" : {
                      "type" : "string",
                      "description" : "id of the target"
                    },
                    "weight" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "The weight of the target when choosing"
                    },
                    "hostname" : {
                      "type" : "string",
                      "description" : "hostname of the target"
                    }
                  },
                  "type" : "object"
                },
                "description" : "The targets of the backend"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.discovery.DiscoveryTargetsSelector" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.models.NgDomainAndPath" : {
    "type" : "string",
    "description" : "A string representing a domain and an optional path"
  },
  "otoroshi.next.plugins.JQ" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "request" : {
        "type" : "string",
        "description" : "???"
      },
      "response" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "hostValidation" : {
        "type" : "boolean",
        "description" : "Enabled TLS hostname validation"
      },
      "servers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "URLs of the kafka servers"
      },
      "mtlsConfig" : {
        "description" : "TLS config to access the cluster",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "securityProtocol" : {
        "type" : "string",
        "description" : "Used security protocol"
      },
      "keystore" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "topic" : {
        "type" : "string",
        "description" : "Optional kafka topic (otoroshi-events by default)"
      },
      "keyPass" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "saslConfig" : {
        "description" : "SASL configuration",
        "type" : "object",
        "properties" : {
          "username" : {
            "type" : "string",
            "description" : "SASL username"
          },
          "password" : {
            "type" : "string",
            "description" : "SASL password"
          },
          "mechanism" : {
            "type" : "string",
            "description" : "SASL login mechanism"
          }
        }
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.SnowMonkeyChaos" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "large_request_fault_config" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "additional_request_size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        }
      },
      "large_response_fault_config" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "additional_response_size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        }
      },
      "latency_injection_fault_config" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "from" : {
            "type" : "number",
            "description" : "???"
          },
          "to" : {
            "type" : "number",
            "description" : "???"
          }
        }
      },
      "bad_responses_fault_config" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "responses" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "status" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "body" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          }
        }
      }
    }
  },
  "otoroshi.next.plugins.WasmJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "config" : {
        "description" : "???",
        "properties" : {
          "unique_id" : {
            "type" : "string",
            "description" : "???"
          },
          "instantiation" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          },
          "cron_expression" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "kind" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          },
          "config" : {
            "description" : "???",
            "properties" : {
              "allowedHosts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "memoryPages" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "allowedPaths" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "instances" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "config" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "authorizations" : {
                "description" : "???",
                "properties" : {
                  "proxyStateAccess" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "httpAccess" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "globalMapAccess" : {
                    "description" : "???",
                    "properties" : {
                      "read" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "write" : {
                        "type" : "boolean",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "pluginDataStoreAccess" : {
                    "description" : "???",
                    "properties" : {
                      "read" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "write" : {
                        "type" : "boolean",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "pluginMapAccess" : {
                    "description" : "???",
                    "properties" : {
                      "read" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "write" : {
                        "type" : "boolean",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "proxyHttpCallTimeout" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "configurationAccess" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "globalDataStoreAccess" : {
                    "description" : "???",
                    "properties" : {
                      "read" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "write" : {
                        "type" : "boolean",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  }
                },
                "type" : "object"
              },
              "opa" : {
                "type" : "boolean",
                "description" : "???"
              },
              "wasi" : {
                "type" : "boolean",
                "description" : "???"
              },
              "functionName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "interval" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "initial_delay" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "raw_config" : {
            "type" : "object",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesIngressSyncJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.UserRights" : {
    "type" : "object",
    "description" : "Represent a list of user rights",
    "properties" : {
      "rights" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "tenant" : {
              "description" : "Access rights on organizations",
              "properties" : {
                "canWrite" : {
                  "type" : "boolean",
                  "description" : "Can this access right write data"
                },
                "value" : {
                  "type" : "string",
                  "description" : "Access pattern"
                },
                "canRead" : {
                  "type" : "boolean",
                  "description" : "Can this access right read data"
                }
              },
              "type" : "object"
            },
            "teams" : {
              "type" : "array",
              "items" : {
                "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"
                  }
                },
                "type" : "object"
              },
              "description" : "Access rights on teams"
            }
          },
          "type" : "object"
        },
        "description" : "Access rights of a user"
      }
    }
  },
  "otoroshi.next.plugins.JsonTransformConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.biscuit.vavr_implicits" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.IndexSettingsInterval" : {
    "type" : "object",
    "description" : "Elasticseach indexation interval",
    "properties" : { }
  },
  "otoroshi.plugins.jq.JqBodyTransformer" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.discovery.DiscoveryJobServiceId" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "id" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgHeaderValuesConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgMaxMindGeolocationInfoExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "log" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.wrappers.AccessValidatorWrapper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.MaintenanceMode" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "endpoint" : {
        "type" : "string",
        "description" : "???"
      },
      "templates" : {
        "type" : "object",
        "description" : "???"
      },
      "token" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "restartDependantDeployments" : {
        "type" : "boolean",
        "description" : "???"
      },
      "watchGracePeriodSeconds" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "connectionTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "crds" : {
        "type" : "boolean",
        "description" : "???"
      },
      "watch" : {
        "type" : "boolean",
        "description" : "???"
      },
      "labels" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "openshiftDnsOperatorCoreDnsName" : {
        "type" : "string",
        "description" : "???"
      },
      "syncIntervalSeconds" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "kubeDnsOperatorCoreDnsName" : {
        "type" : "string",
        "description" : "???"
      },
      "defaultGroup" : {
        "type" : "string",
        "description" : "???"
      },
      "kubeDnsOperatorCoreDnsNamespace" : {
        "type" : "string",
        "description" : "???"
      },
      "triggerKey" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "otoroshiNamespace" : {
        "type" : "string",
        "description" : "???"
      },
      "watchTimeoutSeconds" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "openshiftDnsOperatorCleanupDomains" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "namespaces" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "openshiftDnsOperatorCoreDnsPort" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "coreDnsEnv" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "triggerPath" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "image" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "coreDnsConfigMapName" : {
        "type" : "string",
        "description" : "???"
      },
      "clusterDomain" : {
        "type" : "string",
        "description" : "???"
      },
      "idleTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "caCert" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "trust" : {
        "type" : "boolean",
        "description" : "???"
      },
      "ingressClasses" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "userPassword" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "syncDaikokuApikeysOnly" : {
        "type" : "boolean",
        "description" : "???"
      },
      "openshiftDnsOperatorCleanup" : {
        "type" : "boolean",
        "description" : "???"
      },
      "kubeSystemNamespace" : {
        "type" : "string",
        "description" : "???"
      },
      "ingressEndpointIp" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "namespacesLabels" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "openshiftDnsOperatorCleanupNames" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "kubeDnsOperatorCoreDnsPort" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "mutatingWebhookName" : {
        "type" : "string",
        "description" : "???"
      },
      "kubeLeader" : {
        "type" : "boolean",
        "description" : "???"
      },
      "ingressEndpointHostname" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "openshiftDnsOperatorIntegration" : {
        "type" : "boolean",
        "description" : "???"
      },
      "validatingWebhookName" : {
        "type" : "string",
        "description" : "???"
      },
      "coreDnsDeploymentName" : {
        "type" : "string",
        "description" : "???"
      },
      "ingresses" : {
        "type" : "boolean",
        "description" : "???"
      },
      "useProxyState" : {
        "type" : "boolean",
        "description" : "???"
      },
      "coreDnsIntegrationDryRun" : {
        "type" : "boolean",
        "description" : "???"
      },
      "ingressEndpointPublishedService" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "coreDnsAzure" : {
        "type" : "boolean",
        "description" : "???"
      },
      "corednsPort" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "coreDnsIntegration" : {
        "type" : "boolean",
        "description" : "???"
      },
      "otoroshiServiceName" : {
        "type" : "string",
        "description" : "???"
      },
      "meshDomain" : {
        "type" : "string",
        "description" : "???"
      },
      "kubeDnsOperatorIntegration" : {
        "type" : "boolean",
        "description" : "???"
      },
      "triggerHost" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "openshiftDnsOperatorCoreDnsNamespace" : {
        "type" : "string",
        "description" : "???"
      },
      "callAndStreamTimeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.SubIss" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "sn" : {
        "type" : "string",
        "description" : "???"
      },
      "subject" : {
        "description" : "???",
        "type" : "string"
      },
      "issuer" : {
        "description" : "???",
        "type" : "string"
      }
    }
  },
  "otoroshi.script.plugins.Plugins" : {
    "type" : "object",
    "description" : "Settings for plugins (of any kind)",
    "properties" : {
      "config" : {
        "type" : "object",
        "description" : "Plugins configuration"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "Plugins enabled"
      },
      "excluded" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Excluded paths"
      },
      "refs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Enabled plugins"
      }
    }
  },
  "otoroshi.plugins.cache.ResponseCacheFilterConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "json" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.NgMinimalBackend" : {
    "type" : "object",
    "description" : "A backend representation with it's minimal attributes",
    "properties" : {
      "root" : {
        "type" : "string",
        "description" : "The root path of the backend or the full rewrite path"
      },
      "targets" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "ip_address" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "protocol" : {
              "type" : "string",
              "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
              "description" : "Protocol for the target"
            },
            "predicate" : {
              "description" : "Predicate to choose this target",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of predicate",
                  "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                },
                "dc" : {
                  "type" : "string",
                  "description" : "???"
                },
                "positions" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "latitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "longitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "radius" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "provider" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "dataCenter" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "rack" : {
                  "type" : "string",
                  "description" : "???"
                },
                "region" : {
                  "type" : "string",
                  "description" : "???"
                },
                "zone" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "tls_config" : {
              "description" : "TLS settings to contact this target",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Enabled"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Trusted cert. ids"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "Loose verification"
                },
                "trust_all" : {
                  "type" : "boolean",
                  "description" : "Trust any certificate"
                },
                "trusted_certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Trusted cert. ids"
                }
              },
              "type" : "object"
            },
            "tls" : {
              "type" : "boolean",
              "description" : "Does the target uses TLS"
            },
            "port" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "port of the target"
            },
            "id" : {
              "type" : "string",
              "description" : "id of the target"
            },
            "weight" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "The weight of the target when choosing"
            },
            "hostname" : {
              "type" : "string",
              "description" : "hostname of the target"
            }
          },
          "type" : "object"
        },
        "description" : "The targets of the backend"
      },
      "load_balancing" : {
        "description" : "Loadbalancing config og the backend",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
          },
          "ratio" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "type" : "object"
      },
      "rewrite" : {
        "type" : "boolean",
        "description" : "Does the backend performs a full url rewrite ?"
      }
    }
  },
  "otoroshi.next.plugins.OtoroshiHeadersIn" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgDeferPluginConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "duration" : {
        "type" : "number",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.workflow.WorkflowJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.EurekaTarget" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "eureka_server" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "eureka_app" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.apikeys.ClientCredentialService" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.DisableHttp10" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.loggers.RequestBodyEvent" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ua" : {
        "type" : "string",
        "description" : "???"
      },
      "reqId" : {
        "type" : "string",
        "description" : "???"
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "from" : {
        "type" : "string",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "method" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.StaticBackendConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "root_path" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.ExternalEurekaTarget" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "eureka_server" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "eureka_app" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "port" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "Target port"
      },
      "tls" : {
        "type" : "boolean",
        "description" : "Use tls"
      }
    }
  },
  "otoroshi.next.plugins.WasmResponseTransformer" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgIzanamiV1Canary" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "client_id" : {
        "type" : "string",
        "description" : "???"
      },
      "experiment_id" : {
        "type" : "string",
        "description" : "???"
      },
      "route_config" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "tls" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enabled"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "Loose verification"
          },
          "trust_all" : {
            "type" : "boolean",
            "description" : "Trust any certificate"
          },
          "trusted_certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          }
        },
        "type" : "object"
      },
      "timeout" : {
        "type" : "number",
        "description" : "???"
      },
      "izanami_url" : {
        "type" : "string",
        "description" : "???"
      },
      "client_secret" : {
        "type" : "string",
        "description" : "???"
      },
      "config_id" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.script.JobInstantiation" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.GeoPositionRadius" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "latitude" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "longitude" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "radius" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgDefaultRequestBody" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "content_type" : {
        "type" : "string",
        "description" : "???"
      },
      "content_encoding" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingHttpValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "subject_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "serial_numbers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "issuer_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "regex_issuer_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "regex_subject_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.models.InCookie" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of location",
        "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
      },
      "name" : {
        "type" : "string",
        "description" : "Cookie name"
      }
    },
    "type" : "object",
    "description" : "JWT token location (cookie)"
  },
  "otoroshi.wasm.WasmAuthorizations" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "proxyStateAccess" : {
        "type" : "boolean",
        "description" : "???"
      },
      "httpAccess" : {
        "type" : "boolean",
        "description" : "???"
      },
      "globalMapAccess" : {
        "description" : "???",
        "properties" : {
          "read" : {
            "type" : "boolean",
            "description" : "???"
          },
          "write" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "pluginDataStoreAccess" : {
        "description" : "???",
        "properties" : {
          "read" : {
            "type" : "boolean",
            "description" : "???"
          },
          "write" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "pluginMapAccess" : {
        "description" : "???",
        "properties" : {
          "read" : {
            "type" : "boolean",
            "description" : "???"
          },
          "write" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "proxyHttpCallTimeout" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "configurationAccess" : {
        "type" : "boolean",
        "description" : "???"
      },
      "globalDataStoreAccess" : {
        "description" : "???",
        "properties" : {
          "read" : {
            "type" : "boolean",
            "description" : "???"
          },
          "write" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.oidc.OIDCHeaders" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.apikeys.ApiKeyAllowedOnThisServiceValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    },
    "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" : {
          "properties" : {
            "domain" : {
              "type" : "string",
              "description" : "match on SNI domain"
            },
            "targets" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "host" : {
                    "type" : "string",
                    "description" : "Target host"
                  },
                  "ip" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "port" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Target port"
                  },
                  "tls" : {
                    "type" : "boolean",
                    "description" : "Use tls"
                  }
                },
                "type" : "object"
              },
              "description" : "TCP targets"
            }
          },
          "type" : "object"
        },
        "description" : "Routing rules"
      },
      "clientAuth" : {
        "description" : "Client authentication mode",
        "type" : "string",
        "enum" : [ "Need", "None", "Want" ]
      },
      "interface" : {
        "type" : "string",
        "description" : "Network interface"
      },
      "sni" : {
        "description" : "SNI settings",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "SNI extraction enabled"
          },
          "forwardIfNoMatch" : {
            "type" : "boolean",
            "description" : ""
          },
          "forwardsTo" : {
            "description" : "forwards call to",
            "properties" : {
              "host" : {
                "type" : "string",
                "description" : "Target host"
              },
              "ip" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "port" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "Target port"
              },
              "tls" : {
                "type" : "boolean",
                "description" : "Use tls"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "id" : {
        "type" : "string",
        "description" : "Entity id"
      },
      "_loc" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "name" : {
        "type" : "string",
        "description" : "Entity name"
      },
      "tls" : {
        "description" : "TLS mode",
        "type" : "string",
        "enum" : [ "Disabled", "Enabled", "PassThrough" ]
      }
    }
  },
  "otoroshi.next.plugins.TooComplexQueryError" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "WebAuthnRegistrationFinishBody" : {
    "type" : "object",
    "description" : ""
  },
  "otoroshi.models.LocalJwtVerifier" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of verifier",
        "enum" : [ "global", "local", "ref" ]
      },
      "strict" : {
        "type" : "boolean",
        "description" : "???"
      },
      "source" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "name" ]
        }, {
          "required" : [ "type", "name", "remove" ]
        }, {
          "required" : [ "type", "name" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of location",
            "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Query param name"
          },
          "remove" : {
            "type" : "string",
            "description" : "Remove from value"
          }
        }
      },
      "algoSettings" : {
        "description" : "???",
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        },
        "type" : "object"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "excludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "strategy" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "strict", "token", "verificationSettings" ]
        }, {
          "required" : [ "type", "verificationSettings" ]
        }, {
          "required" : [ "type", "verificationSettings", "algoSettings" ]
        }, {
          "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of strategy",
            "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
          },
          "strict" : {
            "type" : "boolean",
            "description" : "If the token already exists in the request, then fail"
          },
          "token" : {
            "type" : "object",
            "description" : "The default token"
          },
          "verificationSettings" : {
            "description" : "Verification settings",
            "properties" : {
              "fields" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Fields validation"
              },
              "arrayFields" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Fields array validation"
              }
            },
            "type" : "object"
          },
          "algoSettings" : {
            "description" : "Algorithm settings for re-signing token",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "secret", "base64" ]
            }, {
              "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
            }, {
              "required" : [ "type", "onlyExposedCerts" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            } ],
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            }
          },
          "transformSettings" : {
            "description" : "Transformation settings",
            "properties" : {
              "location" : {
                "description" : "Location of the token",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of location",
                    "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Query param name"
                  },
                  "remove" : {
                    "type" : "string",
                    "description" : "Remove from value"
                  }
                },
                "type" : "object"
              },
              "mappingSettings" : {
                "description" : "Token mapping settings",
                "properties" : {
                  "map" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Change values"
                  },
                  "values" : {
                    "type" : "object",
                    "description" : "Add values"
                  },
                  "remove" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Remove some token claims"
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          }
        }
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.utils.gzip.GzipConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "compressionLevel" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "blackList" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "chunkedThreshold" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "excludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "bufferSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "whiteList" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.useragent.UserAgentExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "TLS config when calling webhook",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "Settings for webhook call"
  },
  "otoroshi.next.models.NgCustomTimeouts" : {
    "type" : "object",
    "description" : "Custom timeouts per path",
    "properties" : {
      "connection_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Timeout at connection"
      },
      "call_and_stream_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
      },
      "path" : {
        "type" : "string",
        "description" : "path on which this configuration works"
      },
      "call_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
      },
      "idle_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Timeout on idle connection"
      },
      "global_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
      }
    }
  },
  "otoroshi.models.VerifierStrategy" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "strict", "token", "verificationSettings" ]
    }, {
      "required" : [ "type", "verificationSettings" ]
    }, {
      "required" : [ "type", "verificationSettings", "algoSettings" ]
    }, {
      "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
    } ],
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of strategy",
        "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
      },
      "strict" : {
        "type" : "boolean",
        "description" : "If the token already exists in the request, then fail"
      },
      "token" : {
        "type" : "object",
        "description" : "The default token"
      },
      "verificationSettings" : {
        "description" : "Verification settings",
        "properties" : {
          "fields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields validation"
          },
          "arrayFields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields array validation"
          }
        },
        "type" : "object"
      },
      "algoSettings" : {
        "description" : "Algorithm settings for re-signing token",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      },
      "transformSettings" : {
        "description" : "Transformation settings",
        "properties" : {
          "location" : {
            "description" : "Location of the token",
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "the kind of location",
                "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
              },
              "name" : {
                "type" : "string",
                "description" : "Query param name"
              },
              "remove" : {
                "type" : "string",
                "description" : "Remove from value"
              }
            },
            "type" : "object"
          },
          "mappingSettings" : {
            "description" : "Token mapping settings",
            "properties" : {
              "map" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Change values"
              },
              "values" : {
                "type" : "object",
                "description" : "Add values"
              },
              "remove" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Remove some token claims"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.TcpTunnel" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.DefaultToken" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of strategy",
        "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
      },
      "strict" : {
        "type" : "boolean",
        "description" : "If the token already exists in the request, then fail"
      },
      "token" : {
        "type" : "object",
        "description" : "The default token"
      },
      "verificationSettings" : {
        "description" : "Verification settings",
        "properties" : {
          "fields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields validation"
          },
          "arrayFields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields array validation"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "Default jwt token when no other token validated"
  },
  "otoroshi.next.plugins.JwtVerifierUtils" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.HMACCaller" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "secret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "algo" : {
        "type" : "string",
        "description" : "???"
      },
      "authorization_header" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgHasClientCertValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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"
      }
    }
  },
  "otoroshi.models.GlobalScripts" : {
    "type" : "object",
    "description" : "Settings to apply plugins globally",
    "properties" : {
      "jobConfig" : {
        "type" : "object",
        "description" : "jobs enabled"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "Global scripts enabled"
      },
      "transformersConfig" : {
        "type" : "object",
        "description" : "transformers config"
      },
      "transformersRefs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "transformers enabled"
      },
      "preRouteRefs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "pre-route plugins enabled"
      },
      "sinkConfig" : {
        "type" : "object",
        "description" : "sinks config"
      },
      "jobRefs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "running jobs"
      },
      "validatorRefs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "validator enabled"
      },
      "sinkRefs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "sinks enabled"
      },
      "preRouteConfig" : {
        "type" : "object",
        "description" : "pre-route config"
      },
      "validatorConfig" : {
        "type" : "object",
        "description" : "validator config"
      }
    }
  },
  "ErrorResponse" : {
    "type" : "object",
    "description" : "error response"
  },
  "otoroshi.plugins.cache.ResponseCacheConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "json" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.GraphQLFormats" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.biscuit.BiscuitValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.JwtAuthConstraints" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "keyPairSigned" : {
        "type" : "boolean",
        "description" : "???"
      },
      "cookieName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "queryName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "headerName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "secretSigned" : {
        "type" : "boolean",
        "description" : "???"
      },
      "maxJwtLifespanSecs" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "includeRequestAttributes" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.apikeys.ClientCredentialFlowExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.log4j.Log4ShellFilter" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.OIDCProfileHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "send" : {
        "type" : "boolean",
        "description" : "???"
      },
      "header_name" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "The actual backend",
        "properties" : {
          "root" : {
            "type" : "string",
            "description" : "The root path of the backend or the full rewrite path"
          },
          "health_check" : {
            "description" : "???",
            "type" : "object",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "url" : {
                "type" : "string",
                "description" : "???"
              },
              "timeout" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            }
          },
          "client" : {
            "description" : "Client config. of the backend",
            "properties" : {
              "idle_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Timeout on idle connection"
              },
              "sample_interval" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
              },
              "cache_connection_settings" : {
                "description" : "Cached connection settings",
                "properties" : {
                  "queue_size" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "How much request can be queue before dropping it"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Is cached connection enabled"
                  }
                },
                "type" : "object"
              },
              "call_and_stream_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
              },
              "custom_timeouts" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "connection_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout at connection"
                    },
                    "call_and_stream_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "path on which this configuration works"
                    },
                    "call_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                    },
                    "idle_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Timeout on idle connection"
                    },
                    "global_timeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                    }
                  },
                  "type" : "object"
                },
                "description" : "Custom timeouts per path"
              },
              "connection_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Timeout at connection"
              },
              "call_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
              },
              "global_timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
              },
              "retry_initial_delay" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
              },
              "backoff_factor" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Specify the factor to multiply the delay for each retry"
              },
              "proxy" : {
                "description" : "Web proxy settings for http client",
                "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"
                  }
                }
              },
              "retries" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
              },
              "max_errors" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "Specify how many errors can pass before opening the circuit breaker"
              }
            },
            "type" : "object"
          },
          "load_balancing" : {
            "description" : "Loadbalancing config og the backend",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
              },
              "ratio" : {
                "type" : "number",
                "format" : "double"
              }
            },
            "type" : "object"
          },
          "rewrite" : {
            "type" : "boolean",
            "description" : "Does the backend performs a full url rewrite ?"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "ip_address" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "protocol" : {
                  "type" : "string",
                  "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                  "description" : "Protocol for the target"
                },
                "predicate" : {
                  "description" : "Predicate to choose this target",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of predicate",
                      "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    },
                    "dc" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "positions" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "latitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "longitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "radius" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "???"
                    },
                    "provider" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "dataCenter" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "rack" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "region" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "zone" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "tls_config" : {
                  "description" : "TLS settings to contact this target",
                  "properties" : {
                    "enabled" : {
                      "type" : "boolean",
                      "description" : "Enabled"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "Trusted cert. ids"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "Loose verification"
                    },
                    "trust_all" : {
                      "type" : "boolean",
                      "description" : "Trust any certificate"
                    },
                    "trusted_certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "Trusted cert. ids"
                    }
                  },
                  "type" : "object"
                },
                "tls" : {
                  "type" : "boolean",
                  "description" : "Does the target uses TLS"
                },
                "port" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "port of the target"
                },
                "id" : {
                  "type" : "string",
                  "description" : "id of the target"
                },
                "weight" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "The weight of the target when choosing"
                },
                "hostname" : {
                  "type" : "string",
                  "description" : "hostname of the target"
                }
              },
              "type" : "object"
            },
            "description" : "The targets of the backend"
          }
        },
        "type" : "object"
      },
      "name" : {
        "type" : "string",
        "description" : "The name of the backend"
      },
      "_loc" : {
        "description" : "The location of the backend",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "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.script.AccessValidatorRef" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "excludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "refs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "JSON generation query",
        "type" : "object",
        "properties" : {
          "client" : {
            "type" : "boolean",
            "description" : "Is cert client ?"
          },
          "hosts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Certificate SANs"
          },
          "key" : {
            "description" : "Keypair specs",
            "properties" : {
              "algo" : {
                "type" : "string",
                "description" : "Keypair algorithm"
              },
              "size" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "Keypair size"
              }
            },
            "type" : "object"
          },
          "includeAIA" : {
            "type" : "boolean",
            "description" : "Include AIA extension (if generated from otoroshi CA)"
          },
          "signatureAlg" : {
            "type" : "string",
            "description" : "Signature algorithm"
          },
          "existingSerialNumber" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        }
      },
      "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)"
      }
    }
  },
  "otoroshi.next.plugins.NgHttpClientCacheConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "max_age_seconds" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "mime_types" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.NgPluginInstanceConfig" : {
    "description" : "The current configuration for a plugin",
    "type" : "object"
  },
  "otoroshi.models.PrivateAppsUser" : {
    "type" : "object",
    "description" : "User session for private apps",
    "properties" : {
      "realm" : {
        "type" : "string",
        "description" : "Session realm name"
      },
      "token" : {
        "type" : "object",
        "description" : "Session tokens (from OAuth)"
      },
      "expiredAt" : {
        "type" : "number",
        "description" : "Session expiration date"
      },
      "profile" : {
        "type" : "object",
        "description" : "Session user profile"
      },
      "lastRefresh" : {
        "type" : "number",
        "description" : "Session last refresh (if OAuth refresh_token supported)"
      },
      "randomId" : {
        "type" : "string",
        "description" : "Session random id"
      },
      "email" : {
        "type" : "string",
        "description" : "Session user email"
      },
      "createdAt" : {
        "type" : "number",
        "description" : "Creation date of the session"
      },
      "_loc" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "authConfigId" : {
        "type" : "string",
        "description" : "Auth module id that created the session"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Entity tags"
      },
      "name" : {
        "type" : "string",
        "description" : "Entity name"
      },
      "otoroshiData" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Entity metadata"
      }
    }
  },
  "otoroshi.plugins.geoloc.GeolocationInfoEndpoint" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.models.NgTreeNodePath" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.QueryTransformer" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "remove" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "rename" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.TailscaleSelectTargetByName" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "machine_name" : {
        "type" : "string",
        "description" : "???"
      },
      "use_ip_address" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "HostMetrics" : {
    "type" : "object",
    "description" : "Host metrics"
  },
  "AlertEventList" : {
    "type" : "array",
    "items" : {
      "properties" : {
        "type" : "object",
        "description" : "Alert trail event"
      },
      "type" : "object"
    }
  },
  "otoroshi.models.HealthCheck" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.core.apikeys.ClientIdApikeyExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.StaticResponseConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "body" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.WasmOPA" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.useragent.UserAgentInfoHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.HeadersValidation" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgSecurityTxt" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "preferred_languages" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "encryption" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "policy" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "acknowledgments" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "hiring" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "contact" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "Chaos settings",
        "properties" : {
          "badResponsesFaultConfig" : {
            "description" : "Settings for bad responses",
            "type" : "object",
            "properties" : {
              "ratio" : {
                "type" : "number",
                "format" : "double",
                "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
              },
              "responses" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "status" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "The HTTP status for the response"
                    },
                    "body" : {
                      "type" : "string",
                      "description" : "The body of the HTTP response"
                    },
                    "headers" : {
                      "type" : "object",
                      "additionalProperties" : {
                        "type" : "string"
                      },
                      "description" : "The HTTP headers of the response"
                    }
                  },
                  "type" : "object"
                },
                "description" : "The possibles responses"
              }
            }
          },
          "largeRequestFaultConfig" : {
            "description" : "Settings for large requests",
            "type" : "object",
            "properties" : {
              "ratio" : {
                "type" : "number",
                "format" : "double",
                "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
              },
              "additionalRequestSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "The size added to the request body in bytes. Added payload will be spaces only."
              }
            }
          },
          "largeResponseFaultConfig" : {
            "description" : "Settings for large responses",
            "type" : "object",
            "properties" : {
              "ratio" : {
                "type" : "number",
                "format" : "double",
                "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
              },
              "additionalResponseSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "Add n 0 bytes"
              }
            }
          },
          "latencyInjectionFaultConfig" : {
            "description" : "Settings for latency injection",
            "type" : "object",
            "properties" : {
              "ratio" : {
                "type" : "number",
                "format" : "double",
                "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
              },
              "from" : {
                "type" : "number",
                "description" : "The start range of latency added to the request"
              },
              "to" : {
                "type" : "number",
                "description" : "The end range of latency added to the request"
              }
            }
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether or not this config is enabled"
          }
        },
        "type" : "object"
      },
      "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" : {
        "description" : "",
        "type" : "string",
        "enum" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
      }
    }
  },
  "otoroshi.models.IndexSettings" : {
    "type" : "object",
    "description" : "Elasticseach indexation settings",
    "properties" : {
      "clientSide" : {
        "type" : "boolean",
        "description" : "Enable index splitting on client side"
      },
      "numberOfShards" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "numberOfReplicas" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "interval" : {
        "description" : "Index splitting interval",
        "properties" : { },
        "type" : "object"
      }
    }
  },
  "otoroshi.auth.NameIDFormat" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.GraphQLQuery" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "response_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "response_filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "query" : {
        "type" : "string",
        "description" : "???"
      },
      "method" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.ZoneMatch" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of predicate",
        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
      },
      "zone" : {
        "type" : "string",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.models.NgPlugins" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "slots" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "instance_id" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "debug" : {
              "type" : "boolean",
              "description" : "???"
            },
            "config" : {
              "type" : "object",
              "description" : "???"
            },
            "exclude" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "plugin_index" : {
              "description" : "???",
              "type" : "object",
              "oneOfConstraints" : [ ],
              "properties" : { }
            },
            "include" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "plugin" : {
              "type" : "string",
              "description" : "???"
            },
            "enabled" : {
              "type" : "boolean",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.ForwardedHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesOtoroshiCRDsControllerJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.auth.GroupFilter" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "group" : {
        "type" : "string",
        "description" : "???"
      },
      "tenant" : {
        "description" : "???",
        "properties" : {
          "canWrite" : {
            "type" : "boolean",
            "description" : "Can this access right write data"
          },
          "value" : {
            "type" : "string",
            "description" : "Access pattern"
          },
          "canRead" : {
            "type" : "boolean",
            "description" : "Can this access right read data"
          }
        },
        "type" : "object"
      },
      "team" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.mirror.RequestContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "descriptor" : {
        "description" : "???",
        "properties" : {
          "buildMode" : {
            "type" : "boolean",
            "description" : "???"
          },
          "hosts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "privateApp" : {
            "type" : "boolean",
            "description" : "???"
          },
          "localScheme" : {
            "type" : "string",
            "description" : "???"
          },
          "authConfigRef" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "issueCertCA" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "root" : {
            "type" : "string",
            "description" : "???"
          },
          "name" : {
            "type" : "string",
            "description" : "???"
          },
          "additionalHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "domain" : {
            "type" : "string",
            "description" : "???"
          },
          "clientConfig" : {
            "description" : "???",
            "properties" : {
              "connectionTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "useCircuitBreaker" : {
                "type" : "boolean",
                "description" : "???"
              },
              "retryInitialDelay" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "cacheConnectionSettings" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "queueSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "proxy" : {
                "description" : "???",
                "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"
                  }
                }
              },
              "callTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "callAndStreamTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "globalTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "maxErrors" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "retries" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "backoffFactor" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "customTimeouts" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "callAndStreamTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "callTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "idleTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "globalTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    },
                    "connectionTimeout" : {
                      "type" : "integer",
                      "format" : "int64",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "idleTimeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              },
              "sampleInterval" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "matchingRoot" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "forceHttps" : {
            "type" : "boolean",
            "description" : "???"
          },
          "localHost" : {
            "type" : "string",
            "description" : "???"
          },
          "sendOtoroshiHeadersBack" : {
            "type" : "boolean",
            "description" : "???"
          },
          "healthCheck" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "url" : {
                "type" : "string",
                "description" : "???"
              },
              "timeout" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "???",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "secret", "base64" ]
            }, {
              "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
            }, {
              "required" : [ "type", "onlyExposedCerts" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            } ],
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            }
          },
          "apiKeyConstraints" : {
            "description" : "???",
            "properties" : {
              "customHeadersAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "clientIdHeaderName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "clientSecretHeaderName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "routing" : {
                "description" : "???",
                "properties" : {
                  "oneTagIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneMetaKeysIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "oneMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "oneMetaKeyIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allMetaKeysIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneTagIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allTagsIn" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "noneMetaIn" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "clientIdAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "jwtAuth" : {
                "description" : "???",
                "properties" : {
                  "keyPairSigned" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "cookieName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "secretSigned" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "maxJwtLifespanSecs" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "includeRequestAttributes" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "basicAuth" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "headerName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "queryName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "env" : {
            "type" : "string",
            "description" : "???"
          },
          "xForwardedHeaders" : {
            "type" : "boolean",
            "description" : "???"
          },
          "transformerRefs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "gzip" : {
            "description" : "???",
            "properties" : {
              "compressionLevel" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "blackList" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "chunkedThreshold" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "bufferSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "whiteList" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "???",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "secret", "base64" ]
            }, {
              "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
            }, {
              "required" : [ "type", "onlyExposedCerts" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            } ],
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            }
          },
          "userFacing" : {
            "type" : "boolean",
            "description" : "???"
          },
          "transformerConfig" : {
            "type" : "object",
            "description" : "???"
          },
          "clientValidatorRef" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "securityExcludedPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "ipFiltering" : {
            "description" : "???",
            "properties" : {
              "whitelist" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "blacklist" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "targets" : {
            "type" : "array",
            "items" : {
              "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" : {
                  "description" : "???",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "description" : "the kind of predicate",
                      "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    },
                    "dc" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "positions" : {
                      "type" : "array",
                      "items" : {
                        "properties" : {
                          "latitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "longitude" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          },
                          "radius" : {
                            "type" : "number",
                            "format" : "double",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "description" : "???"
                    },
                    "provider" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "dataCenter" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "rack" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "region" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "zone" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "ipAddress" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "mtlsConfig" : {
                  "description" : "???",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "scheme" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "redirection" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "code" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "to" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "tags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "restrictions" : {
            "description" : "???",
            "properties" : {
              "forbidden" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowed" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "notFound" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowLast" : {
                "type" : "boolean",
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "overrideHost" : {
            "type" : "boolean",
            "description" : "???"
          },
          "accessValidator" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "config" : {
                "type" : "object",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "sendStateChallenge" : {
            "type" : "boolean",
            "description" : "???"
          },
          "chaosConfig" : {
            "description" : "???",
            "properties" : {
              "badResponsesFaultConfig" : {
                "description" : "Settings for bad responses",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "responses" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "status" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "The HTTP status for the response"
                        },
                        "body" : {
                          "type" : "string",
                          "description" : "The body of the HTTP response"
                        },
                        "headers" : {
                          "type" : "object",
                          "additionalProperties" : {
                            "type" : "string"
                          },
                          "description" : "The HTTP headers of the response"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "The possibles responses"
                  }
                }
              },
              "largeRequestFaultConfig" : {
                "description" : "Settings for large requests",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "additionalRequestSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                  }
                }
              },
              "largeResponseFaultConfig" : {
                "description" : "Settings for large responses",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "additionalResponseSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Add n 0 bytes"
                  }
                }
              },
              "latencyInjectionFaultConfig" : {
                "description" : "Settings for latency injection",
                "type" : "object",
                "properties" : {
                  "ratio" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                  },
                  "from" : {
                    "type" : "number",
                    "description" : "The start range of latency added to the request"
                  },
                  "to" : {
                    "type" : "number",
                    "description" : "The end range of latency added to the request"
                  }
                }
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Whether or not this config is enabled"
              }
            },
            "type" : "object"
          },
          "secComInfoTokenVersion" : {
            "description" : "Version of the info token",
            "type" : "string",
            "enum" : [ "Legacy", "Latest" ]
          },
          "additionalHeadersOut" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComHeaders" : {
            "description" : "???",
            "properties" : {
              "claimRequestName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "stateRequestName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "stateResponseName" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "matchingHeaders" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "secComAlgoChallengeBackToOto" : {
            "description" : "???",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "secret", "base64" ]
            }, {
              "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
            }, {
              "required" : [ "type", "onlyExposedCerts" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            } ],
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            }
          },
          "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" : {
            "description" : "???",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "secret", "base64" ]
            }, {
              "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
            }, {
              "required" : [ "type", "onlyExposedCerts" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            } ],
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            }
          },
          "handleLegacyDomain" : {
            "type" : "boolean",
            "description" : "???"
          },
          "canary" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "traffic" : {
                "type" : "number",
                "format" : "double",
                "description" : "???"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "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" : {
                      "description" : "???",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "ipAddress" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "mtlsConfig" : {
                      "description" : "???",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "scheme" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "root" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "_loc" : {
            "description" : "???",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "plugins" : {
            "description" : "???",
            "properties" : {
              "config" : {
                "type" : "object",
                "description" : "Plugins configuration"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Plugins enabled"
              },
              "excluded" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Excluded paths"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Enabled plugins"
              }
            },
            "type" : "object"
          },
          "secComTtl" : {
            "type" : "number",
            "description" : "???"
          },
          "description" : {
            "type" : "string",
            "description" : "???"
          },
          "secComVersion" : {
            "description" : "Version of the challenge token",
            "type" : "string",
            "enum" : [ "V1", "v2" ]
          },
          "preRouting" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "config" : {
                "type" : "object",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "groups" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "readOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "privatePatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "targetsLoadBalancing" : {
            "description" : "???",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
              },
              "ratio" : {
                "type" : "number",
                "format" : "double"
              }
            },
            "type" : "object"
          },
          "cors" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "allowCredentials" : {
                "type" : "boolean",
                "description" : "???"
              },
              "maxAge" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "allowMethods" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allowHeaders" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "exposeHeaders" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "allowOrigin" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "publicPatterns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "api" : {
            "description" : "???",
            "properties" : {
              "exposeApi" : {
                "type" : "boolean",
                "description" : "???"
              },
              "openApiDescriptorUrl" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "missingOnlyHeadersIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "issueCert" : {
            "type" : "boolean",
            "description" : "???"
          },
          "headersVerification" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "jwtVerifier" : {
            "description" : "???",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata" ]
            }, {
              "required" : [ "type", "strict", "source", "algoSettings", "enabled", "excludedPatterns", "strategy" ]
            }, {
              "required" : [ "type", "excludedPatterns", "enabled", "ids" ]
            } ],
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "the kind of verifier",
                "enum" : [ "global", "local", "ref" ]
              },
              "desc" : {
                "type" : "string",
                "description" : "Verifier description"
              },
              "name" : {
                "type" : "string",
                "description" : "Verifier name"
              },
              "strict" : {
                "type" : "boolean",
                "description" : "???"
              },
              "source" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "name" ]
                }, {
                  "required" : [ "type", "name", "remove" ]
                }, {
                  "required" : [ "type", "name" ]
                } ],
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of location",
                    "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Query param name"
                  },
                  "remove" : {
                    "type" : "string",
                    "description" : "Remove from value"
                  }
                }
              },
              "algoSettings" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "tags" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Entity tags"
              },
              "id" : {
                "type" : "string",
                "description" : "Verifier id"
              },
              "_loc" : {
                "description" : "Entity location",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "strategy" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "strict", "token", "verificationSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings", "algoSettings" ]
                }, {
                  "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
                } ],
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of strategy",
                    "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                  },
                  "strict" : {
                    "type" : "boolean",
                    "description" : "If the token already exists in the request, then fail"
                  },
                  "token" : {
                    "type" : "object",
                    "description" : "The default token"
                  },
                  "verificationSettings" : {
                    "description" : "Verification settings",
                    "properties" : {
                      "fields" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "Fields validation"
                      },
                      "arrayFields" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "Fields array validation"
                      }
                    },
                    "type" : "object"
                  },
                  "algoSettings" : {
                    "description" : "Algorithm settings for re-signing token",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "size", "publicKey", "privateKey" ]
                    }, {
                      "required" : [ "type", "size", "certId" ]
                    }, {
                      "required" : [ "type", "size", "secret", "base64" ]
                    }, {
                      "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                    }, {
                      "required" : [ "type", "onlyExposedCerts" ]
                    }, {
                      "required" : [ "type", "size", "certId" ]
                    }, {
                      "required" : [ "type", "size", "publicKey", "privateKey" ]
                    } ],
                    "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" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "certId" : {
                        "type" : "string",
                        "description" : "Certificate id"
                      },
                      "secret" : {
                        "type" : "string",
                        "description" : "HMAC secret"
                      },
                      "base64" : {
                        "type" : "boolean",
                        "description" : "The secret is base64 encoded"
                      },
                      "url" : {
                        "type" : "string",
                        "description" : "JWKS url"
                      },
                      "tlsConfig" : {
                        "description" : "TLS config",
                        "properties" : {
                          "mtls" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustAll" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustedCerts" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "kty" : {
                        "type" : "string",
                        "description" : "Key type"
                      },
                      "proxy" : {
                        "description" : "Web proxy for http client",
                        "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"
                          }
                        }
                      },
                      "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"
                      },
                      "onlyExposedCerts" : {
                        "type" : "boolean",
                        "description" : "Use only exposed certs"
                      }
                    }
                  },
                  "transformSettings" : {
                    "description" : "Transformation settings",
                    "properties" : {
                      "location" : {
                        "description" : "Location of the token",
                        "properties" : {
                          "type" : {
                            "type" : "string",
                            "description" : "the kind of location",
                            "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                          },
                          "name" : {
                            "type" : "string",
                            "description" : "Query param name"
                          },
                          "remove" : {
                            "type" : "string",
                            "description" : "Remove from value"
                          }
                        },
                        "type" : "object"
                      },
                      "mappingSettings" : {
                        "description" : "Token mapping settings",
                        "properties" : {
                          "map" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Change values"
                          },
                          "values" : {
                            "type" : "object",
                            "description" : "Add values"
                          },
                          "remove" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "Remove some token claims"
                          }
                        },
                        "type" : "object"
                      }
                    },
                    "type" : "object"
                  }
                }
              },
              "metadata" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Entity metadata"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "excludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "ids" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            }
          },
          "letsEncrypt" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "conf" : {
            "type" : "object",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.biscuit.PreRoutingVerifierContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ctx" : {
        "description" : "???",
        "properties" : {
          "globalConfig" : {
            "type" : "object",
            "description" : "???"
          },
          "snowflake" : {
            "type" : "string",
            "description" : "???"
          },
          "descriptor" : {
            "description" : "???",
            "properties" : {
              "buildMode" : {
                "type" : "boolean",
                "description" : "???"
              },
              "hosts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "privateApp" : {
                "type" : "boolean",
                "description" : "???"
              },
              "localScheme" : {
                "type" : "string",
                "description" : "???"
              },
              "authConfigRef" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "issueCertCA" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "root" : {
                "type" : "string",
                "description" : "???"
              },
              "name" : {
                "type" : "string",
                "description" : "???"
              },
              "additionalHeaders" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "domain" : {
                "type" : "string",
                "description" : "???"
              },
              "clientConfig" : {
                "description" : "???",
                "properties" : {
                  "connectionTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "useCircuitBreaker" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "retryInitialDelay" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "cacheConnectionSettings" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "queueSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "proxy" : {
                    "description" : "???",
                    "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"
                      }
                    }
                  },
                  "callTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "callAndStreamTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "globalTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "maxErrors" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "retries" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "backoffFactor" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "customTimeouts" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "callAndStreamTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "callTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "idleTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "globalTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "connectionTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "idleTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "sampleInterval" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "matchingRoot" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "forceHttps" : {
                "type" : "boolean",
                "description" : "???"
              },
              "localHost" : {
                "type" : "string",
                "description" : "???"
              },
              "sendOtoroshiHeadersBack" : {
                "type" : "boolean",
                "description" : "???"
              },
              "healthCheck" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "timeout" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "apiKeyConstraints" : {
                "description" : "???",
                "properties" : {
                  "customHeadersAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "clientIdHeaderName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "clientSecretHeaderName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  },
                  "routing" : {
                    "description" : "???",
                    "properties" : {
                      "oneTagIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneMetaKeysIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "oneMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "oneMetaKeyIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allMetaKeysIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneTagIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allTagsIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "clientIdAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  },
                  "jwtAuth" : {
                    "description" : "???",
                    "properties" : {
                      "keyPairSigned" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "cookieName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "secretSigned" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "maxJwtLifespanSecs" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "includeRequestAttributes" : {
                        "type" : "boolean",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "basicAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  }
                },
                "type" : "object"
              },
              "env" : {
                "type" : "string",
                "description" : "???"
              },
              "xForwardedHeaders" : {
                "type" : "boolean",
                "description" : "???"
              },
              "transformerRefs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "gzip" : {
                "description" : "???",
                "properties" : {
                  "compressionLevel" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "blackList" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "chunkedThreshold" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "bufferSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "whiteList" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "userFacing" : {
                "type" : "boolean",
                "description" : "???"
              },
              "transformerConfig" : {
                "type" : "object",
                "description" : "???"
              },
              "clientValidatorRef" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "securityExcludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "ipFiltering" : {
                "description" : "???",
                "properties" : {
                  "whitelist" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "blacklist" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "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" : {
                      "description" : "???",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "ipAddress" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "mtlsConfig" : {
                      "description" : "???",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "scheme" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "redirection" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "code" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "to" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "tags" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "restrictions" : {
                "description" : "???",
                "properties" : {
                  "forbidden" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "allowed" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "notFound" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "allowLast" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "overrideHost" : {
                "type" : "boolean",
                "description" : "???"
              },
              "accessValidator" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "config" : {
                    "type" : "object",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "sendStateChallenge" : {
                "type" : "boolean",
                "description" : "???"
              },
              "chaosConfig" : {
                "description" : "???",
                "properties" : {
                  "badResponsesFaultConfig" : {
                    "description" : "Settings for bad responses",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "responses" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "status" : {
                              "type" : "integer",
                              "format" : "int32",
                              "description" : "The HTTP status for the response"
                            },
                            "body" : {
                              "type" : "string",
                              "description" : "The body of the HTTP response"
                            },
                            "headers" : {
                              "type" : "object",
                              "additionalProperties" : {
                                "type" : "string"
                              },
                              "description" : "The HTTP headers of the response"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "The possibles responses"
                      }
                    }
                  },
                  "largeRequestFaultConfig" : {
                    "description" : "Settings for large requests",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "additionalRequestSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                      }
                    }
                  },
                  "largeResponseFaultConfig" : {
                    "description" : "Settings for large responses",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "additionalResponseSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "Add n 0 bytes"
                      }
                    }
                  },
                  "latencyInjectionFaultConfig" : {
                    "description" : "Settings for latency injection",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "from" : {
                        "type" : "number",
                        "description" : "The start range of latency added to the request"
                      },
                      "to" : {
                        "type" : "number",
                        "description" : "The end range of latency added to the request"
                      }
                    }
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Whether or not this config is enabled"
                  }
                },
                "type" : "object"
              },
              "secComInfoTokenVersion" : {
                "description" : "Version of the info token",
                "type" : "string",
                "enum" : [ "Legacy", "Latest" ]
              },
              "additionalHeadersOut" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "secComHeaders" : {
                "description" : "???",
                "properties" : {
                  "claimRequestName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "stateRequestName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "stateResponseName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "matchingHeaders" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "secComAlgoChallengeBackToOto" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "handleLegacyDomain" : {
                "type" : "boolean",
                "description" : "???"
              },
              "canary" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "traffic" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "???"
                  },
                  "targets" : {
                    "type" : "array",
                    "items" : {
                      "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" : {
                          "description" : "???",
                          "properties" : {
                            "type" : {
                              "type" : "string",
                              "description" : "the kind of predicate",
                              "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            },
                            "dc" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "positions" : {
                              "type" : "array",
                              "items" : {
                                "properties" : {
                                  "latitude" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  },
                                  "longitude" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  },
                                  "radius" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  }
                                },
                                "type" : "object"
                              },
                              "description" : "???"
                            },
                            "provider" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "dataCenter" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "rack" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "region" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "zone" : {
                              "type" : "string",
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "ipAddress" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "mtlsConfig" : {
                          "description" : "???",
                          "properties" : {
                            "mtls" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "loose" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "trustAll" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "trustedCerts" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "???"
                            },
                            "certs" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "scheme" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "root" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "_loc" : {
                "description" : "???",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "plugins" : {
                "description" : "???",
                "properties" : {
                  "config" : {
                    "type" : "object",
                    "description" : "Plugins configuration"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Plugins enabled"
                  },
                  "excluded" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Excluded paths"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Enabled plugins"
                  }
                },
                "type" : "object"
              },
              "secComTtl" : {
                "type" : "number",
                "description" : "???"
              },
              "description" : {
                "type" : "string",
                "description" : "???"
              },
              "secComVersion" : {
                "description" : "Version of the challenge token",
                "type" : "string",
                "enum" : [ "V1", "v2" ]
              },
              "preRouting" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "config" : {
                    "type" : "object",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "groups" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "readOnly" : {
                "type" : "boolean",
                "description" : "???"
              },
              "privatePatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "targetsLoadBalancing" : {
                "description" : "???",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                  },
                  "ratio" : {
                    "type" : "number",
                    "format" : "double"
                  }
                },
                "type" : "object"
              },
              "cors" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "allowCredentials" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "maxAge" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "allowMethods" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allowHeaders" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "exposeHeaders" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allowOrigin" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "metadata" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "publicPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "api" : {
                "description" : "???",
                "properties" : {
                  "exposeApi" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "openApiDescriptorUrl" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "missingOnlyHeadersIn" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "issueCert" : {
                "type" : "boolean",
                "description" : "???"
              },
              "headersVerification" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "jwtVerifier" : {
                "description" : "???",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of verifier",
                    "enum" : [ "global", "local", "ref" ]
                  },
                  "desc" : {
                    "type" : "string",
                    "description" : "Verifier description"
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Verifier name"
                  },
                  "strict" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "source" : {
                    "description" : "???",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "name" ]
                    }, {
                      "required" : [ "type", "name", "remove" ]
                    }, {
                      "required" : [ "type", "name" ]
                    } ],
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of location",
                        "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                      },
                      "name" : {
                        "type" : "string",
                        "description" : "Query param name"
                      },
                      "remove" : {
                        "type" : "string",
                        "description" : "Remove from value"
                      }
                    }
                  },
                  "algoSettings" : {
                    "description" : "???",
                    "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" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "certId" : {
                        "type" : "string",
                        "description" : "Certificate id"
                      },
                      "secret" : {
                        "type" : "string",
                        "description" : "HMAC secret"
                      },
                      "base64" : {
                        "type" : "boolean",
                        "description" : "The secret is base64 encoded"
                      },
                      "url" : {
                        "type" : "string",
                        "description" : "JWKS url"
                      },
                      "tlsConfig" : {
                        "description" : "TLS config",
                        "properties" : {
                          "mtls" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustAll" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustedCerts" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "kty" : {
                        "type" : "string",
                        "description" : "Key type"
                      },
                      "proxy" : {
                        "description" : "Web proxy for http client",
                        "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"
                          }
                        }
                      },
                      "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"
                      },
                      "onlyExposedCerts" : {
                        "type" : "boolean",
                        "description" : "Use only exposed certs"
                      }
                    },
                    "type" : "object"
                  },
                  "tags" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Entity tags"
                  },
                  "id" : {
                    "type" : "string",
                    "description" : "Verifier id"
                  },
                  "_loc" : {
                    "description" : "Entity location",
                    "properties" : {
                      "tenant" : {
                        "description" : "Organization of the current entity",
                        "type" : "string"
                      },
                      "teams" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "Teams of the current entity"
                      }
                    },
                    "type" : "object"
                  },
                  "strategy" : {
                    "description" : "???",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "strict", "token", "verificationSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings", "algoSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
                    } ],
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of strategy",
                        "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                      },
                      "strict" : {
                        "type" : "boolean",
                        "description" : "If the token already exists in the request, then fail"
                      },
                      "token" : {
                        "type" : "object",
                        "description" : "The default token"
                      },
                      "verificationSettings" : {
                        "description" : "Verification settings",
                        "properties" : {
                          "fields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Fields validation"
                          },
                          "arrayFields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Fields array validation"
                          }
                        },
                        "type" : "object"
                      },
                      "algoSettings" : {
                        "description" : "Algorithm settings for re-signing token",
                        "type" : "object",
                        "oneOfConstraints" : [ {
                          "required" : [ "type", "size", "publicKey", "privateKey" ]
                        }, {
                          "required" : [ "type", "size", "certId" ]
                        }, {
                          "required" : [ "type", "size", "secret", "base64" ]
                        }, {
                          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                        }, {
                          "required" : [ "type", "onlyExposedCerts" ]
                        }, {
                          "required" : [ "type", "size", "certId" ]
                        }, {
                          "required" : [ "type", "size", "publicKey", "privateKey" ]
                        } ],
                        "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" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "certId" : {
                            "type" : "string",
                            "description" : "Certificate id"
                          },
                          "secret" : {
                            "type" : "string",
                            "description" : "HMAC secret"
                          },
                          "base64" : {
                            "type" : "boolean",
                            "description" : "The secret is base64 encoded"
                          },
                          "url" : {
                            "type" : "string",
                            "description" : "JWKS url"
                          },
                          "tlsConfig" : {
                            "description" : "TLS config",
                            "properties" : {
                              "mtls" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "loose" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "trustAll" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "trustedCerts" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "???"
                              },
                              "certs" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "kty" : {
                            "type" : "string",
                            "description" : "Key type"
                          },
                          "proxy" : {
                            "description" : "Web proxy for http client",
                            "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"
                              }
                            }
                          },
                          "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"
                          },
                          "onlyExposedCerts" : {
                            "type" : "boolean",
                            "description" : "Use only exposed certs"
                          }
                        }
                      },
                      "transformSettings" : {
                        "description" : "Transformation settings",
                        "properties" : {
                          "location" : {
                            "description" : "Location of the token",
                            "properties" : {
                              "type" : {
                                "type" : "string",
                                "description" : "the kind of location",
                                "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                              },
                              "name" : {
                                "type" : "string",
                                "description" : "Query param name"
                              },
                              "remove" : {
                                "type" : "string",
                                "description" : "Remove from value"
                              }
                            },
                            "type" : "object"
                          },
                          "mappingSettings" : {
                            "description" : "Token mapping settings",
                            "properties" : {
                              "map" : {
                                "type" : "object",
                                "additionalProperties" : {
                                  "type" : "string"
                                },
                                "description" : "Change values"
                              },
                              "values" : {
                                "type" : "object",
                                "description" : "Add values"
                              },
                              "remove" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "Remove some token claims"
                              }
                            },
                            "type" : "object"
                          }
                        },
                        "type" : "object"
                      }
                    }
                  },
                  "metadata" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Entity metadata"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "ids" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "letsEncrypt" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "config" : {
            "type" : "object",
            "description" : "???"
          },
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "attrs" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "apk" : {
        "description" : "???",
        "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" : {
            "description" : "The location of the apikey",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "restrictions" : {
            "description" : "Apikey restrictions settings",
            "properties" : {
              "forbidden" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowed" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "notFound" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowLast" : {
                "type" : "boolean",
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "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" : {
            "description" : "Apikey rotation settings",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "Rotation enabled"
              },
              "rotationEvery" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Rotate every n hours"
              },
              "gracePeriod" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "period (in hours) during which both secrets works"
              },
              "nextSecret" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "authorizedEntities" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "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"
          }
        },
        "type" : "object"
      }
    }
  },
  "CodeBody" : {
    "type" : "string",
    "description" : "Plugin scala code"
  },
  "otoroshi.models.AutoCert" : {
    "type" : "object",
    "description" : "Settings to generate certificates on the fly",
    "properties" : {
      "allowed" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "allowed domains"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "Enable auto cert"
      },
      "replyNicely" : {
        "type" : "boolean",
        "description" : "Reply TLS error with an auto generated certificate for the domain"
      },
      "notAllowed" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "not allowed domains"
      },
      "caRef" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.BasicAuthCallerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "username" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "password" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "header_value_format" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "CertValidResponse" : {
    "type" : "object",
    "description" : "Is certificate valid",
    "properties" : {
      "valid" : {
        "type" : "boolean"
      }
    }
  },
  "otoroshi.models.RestrictionPath" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "method" : {
        "type" : "string",
        "description" : "???"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.loggers.BodyLoggerFilterConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "json" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.OAuth1Caller" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "token_secret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "consumer_secret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "algo" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "token" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "consumer_key" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.external.ExternalHttpValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.models.NgClientConfig" : {
    "type" : "object",
    "description" : "Settings for the http client when http request is forwarded",
    "properties" : {
      "idle_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Timeout on idle connection"
      },
      "sample_interval" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
      },
      "cache_connection_settings" : {
        "description" : "Cached connection settings",
        "properties" : {
          "queue_size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "How much request can be queue before dropping it"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Is cached connection enabled"
          }
        },
        "type" : "object"
      },
      "call_and_stream_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
      },
      "custom_timeouts" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "connection_timeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "Timeout at connection"
            },
            "call_and_stream_timeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
            },
            "path" : {
              "type" : "string",
              "description" : "path on which this configuration works"
            },
            "call_timeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
            },
            "idle_timeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "Timeout on idle connection"
            },
            "global_timeout" : {
              "type" : "integer",
              "format" : "int64",
              "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
            }
          },
          "type" : "object"
        },
        "description" : "Custom timeouts per path"
      },
      "connection_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Timeout at connection"
      },
      "call_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
      },
      "global_timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
      },
      "retry_initial_delay" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
      },
      "backoff_factor" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Specify the factor to multiply the delay for each retry"
      },
      "proxy" : {
        "description" : "Web proxy settings for http client",
        "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"
          }
        }
      },
      "retries" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
      },
      "max_errors" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "Specify how many errors can pass before opening the circuit breaker"
      }
    }
  },
  "otoroshi.plugins.composite.CompositePlugin" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.wrappers.CompositeWrapper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.GeolocationMatch" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of predicate",
        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
      },
      "positions" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "latitude" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            },
            "longitude" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            },
            "radius" : {
              "type" : "number",
              "format" : "double",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.NgGeolocationInfoEndpoint" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "BulkResponseBody" : {
    "type" : "object",
    "description" : "BulkResponseBody object"
  },
  "otoroshi.next.plugins.NgHasAllowedUsersValidatorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "profile_not_match" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "profile_match" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "email_domains" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "usernames" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "metadata_match" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "metadata_not_match" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "emails" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.models.BadResponsesFaultConfig" : {
    "type" : "object",
    "description" : "List of bad response settings",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
      },
      "responses" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "status" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "The HTTP status for the response"
            },
            "body" : {
              "type" : "string",
              "description" : "The body of the HTTP response"
            },
            "headers" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "The HTTP headers of the response"
            }
          },
          "type" : "object"
        },
        "description" : "The possibles responses"
      }
    }
  },
  "otoroshi.next.plugins.SOAPActionConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "jq_response_filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "jq_request_filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "preserve_query" : {
        "type" : "boolean",
        "description" : "???"
      },
      "convert_request_body_to_xml" : {
        "type" : "boolean",
        "description" : "???"
      },
      "charset" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "url" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "action" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "envelope" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "???",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of predicate",
            "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
          },
          "dc" : {
            "type" : "string",
            "description" : "???"
          },
          "positions" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "latitude" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "???"
                },
                "longitude" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "???"
                },
                "radius" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "provider" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "dataCenter" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "rack" : {
            "type" : "string",
            "description" : "???"
          },
          "region" : {
            "type" : "string",
            "description" : "???"
          },
          "zone" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "ipAddress" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "mtlsConfig" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "scheme" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.Redirection" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "code" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "to" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.discovery.DiscoveryJobRegistrationId" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "id" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.ContextValidationConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "validators" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgLegacyApikeyCallConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "public_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "private_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "mandatory" : {
            "type" : "boolean",
            "description" : "???"
          },
          "extractors" : {
            "description" : "???",
            "properties" : {
              "basic" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "query_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "custom_headers" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "client_id_header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "client_secret_header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "client_id" : {
                "description" : "???",
                "properties" : {
                  "header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "query_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "jwt" : {
                "description" : "???",
                "properties" : {
                  "cookie_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "key_pair_signed" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "query_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "secret_signed" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "include_request_attrs" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "pass_with_user" : {
            "type" : "boolean",
            "description" : "???"
          },
          "wipe_backend_request" : {
            "type" : "boolean",
            "description" : "???"
          },
          "validate" : {
            "type" : "boolean",
            "description" : "???"
          },
          "routing" : {
            "description" : "???",
            "properties" : {
              "none_meta_keys_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "all_meta_keys_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "all_meta_in" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "none_meta_in" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "one_tag_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "one_meta_in" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "all_tags_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "one_meta_key_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "none_tag_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "update_quotas" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "SimpleAdminList" : {
    "type" : "array",
    "items" : {
      "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" : {
          "description" : "Entity location",
          "properties" : {
            "tenant" : {
              "description" : "Organization of the current entity",
              "type" : "string"
            },
            "teams" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "Teams of the current entity"
            }
          },
          "type" : "object"
        },
        "typ" : {
          "description" : "Admin kind",
          "type" : "string",
          "enum" : [ "SIMPLE", "WEBAUTHN" ]
        },
        "createdAt" : {
          "type" : "number",
          "description" : "User creation date"
        },
        "metadata" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          },
          "description" : "Entity metadata"
        },
        "rights" : {
          "description" : "User rights",
          "properties" : {
            "rights" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "tenant" : {
                    "description" : "Access rights on organizations",
                    "properties" : {
                      "canWrite" : {
                        "type" : "boolean",
                        "description" : "Can this access right write data"
                      },
                      "value" : {
                        "type" : "string",
                        "description" : "Access pattern"
                      },
                      "canRead" : {
                        "type" : "boolean",
                        "description" : "Can this access right read data"
                      }
                    },
                    "type" : "object"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "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"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Access rights on teams"
                  }
                },
                "type" : "object"
              },
              "description" : "Access rights of a user"
            }
          },
          "type" : "object"
        },
        "password" : {
          "type" : "string",
          "description" : "User password (bcrypt hashed)"
        }
      },
      "type" : "object"
    }
  },
  "otoroshi.models.Proxies" : {
    "type" : "object",
    "description" : "Various web proxy settings for http client",
    "properties" : {
      "elastic" : {
        "description" : "Web proxy used to call elastic",
        "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"
          }
        }
      },
      "eventsWebhooks" : {
        "description" : "Web proxy used to call webhooks",
        "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"
          }
        }
      },
      "jwk" : {
        "description" : "Web proxy used to fetch jwks",
        "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"
          }
        }
      },
      "auth" : {
        "description" : "Web proxy used to call OAuth providers",
        "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"
          }
        }
      },
      "clevercloud" : {
        "description" : "Web proxy used to call clevercloud",
        "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"
          }
        }
      },
      "alertEmails" : {
        "description" : "Web proxy used to send alert emails",
        "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"
          }
        }
      },
      "authority" : {
        "description" : "Web proxy used to check authorities",
        "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"
          }
        }
      },
      "services" : {
        "description" : "Web proxy used to access services targets",
        "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"
          }
        }
      }
    }
  },
  "otoroshi.next.plugins.GlobalThrottling" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.ApiKeyRotation" : {
    "type" : "object",
    "description" : "Settings for automatic apikey rotation with grace period",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "Rotation enabled"
      },
      "rotationEvery" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "Rotate every n hours"
      },
      "gracePeriod" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "period (in hours) during which both secrets works"
      },
      "nextSecret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.ApikeyAuthModule" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "realm" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "matcher" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "oneTagIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneMetaKeysIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "oneMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "oneMetaKeyIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allMetaKeysIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneTagIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allTagsIn" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "allMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "noneMetaIn" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      }
    }
  },
  "otoroshi.utils.http.CacheConnectionSettings" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "queueSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesAdmissionWebhookSidecarInjector" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.tcp.SniSettings" : {
    "type" : "object",
    "description" : "SNI settings for a TCP proxy",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "SNI extraction enabled"
      },
      "forwardIfNoMatch" : {
        "type" : "boolean",
        "description" : ""
      },
      "forwardsTo" : {
        "description" : "forwards call to",
        "properties" : {
          "host" : {
            "type" : "string",
            "description" : "Target host"
          },
          "ip" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Target port"
          },
          "tls" : {
            "type" : "boolean",
            "description" : "Use tls"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.clientcert.HasClientCertMatchingValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.models.PluginIndex" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.LoadBalancing" : {
    "type" : "object",
    "description" : "Loadbalancing strategy",
    "properties" : {
      "type" : {
        "type" : "string",
        "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
      },
      "ratio" : {
        "type" : "number",
        "format" : "double"
      }
    }
  },
  "otoroshi.models.RedirectionSettings" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "code" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "to" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgOtoroshiChallengeKeys" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.wrappers.RequestTransformerWrapper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.TailscaleStatus" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "raw" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.OtoroshiAdmin" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "username", "tags", "label", "_loc", "typ", "createdAt", "metadata", "rights", "password" ]
    }, {
      "required" : [ "type", "username", "tags", "label", "_loc", "typ", "createdAt", "metadata", "rights", "credentials", "handle", "password" ]
    } ],
    "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" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "typ" : {
        "description" : "Admin kind",
        "type" : "string",
        "enum" : [ "SIMPLE", "WEBAUTHN" ]
      },
      "createdAt" : {
        "type" : "number",
        "description" : "User creation date"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Entity metadata"
      },
      "rights" : {
        "description" : "User rights",
        "properties" : {
          "rights" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "tenant" : {
                  "description" : "Access rights on organizations",
                  "properties" : {
                    "canWrite" : {
                      "type" : "boolean",
                      "description" : "Can this access right write data"
                    },
                    "value" : {
                      "type" : "string",
                      "description" : "Access pattern"
                    },
                    "canRead" : {
                      "type" : "boolean",
                      "description" : "Can this access right read data"
                    }
                  },
                  "type" : "object"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "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"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights on teams"
                }
              },
              "type" : "object"
            },
            "description" : "Access rights of a user"
          }
        },
        "type" : "object"
      },
      "password" : {
        "type" : "string",
        "description" : "User password"
      },
      "credentials" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "object"
        },
        "description" : "User webauthn credentials"
      },
      "handle" : {
        "type" : "string",
        "description" : "User webauthn handle"
      }
    }
  },
  "otoroshi.models.JwtVerifier" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata" ]
    }, {
      "required" : [ "type", "strict", "source", "algoSettings", "enabled", "excludedPatterns", "strategy" ]
    }, {
      "required" : [ "type", "excludedPatterns", "enabled", "ids" ]
    } ],
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of verifier",
        "enum" : [ "global", "local", "ref" ]
      },
      "desc" : {
        "type" : "string",
        "description" : "Verifier description"
      },
      "name" : {
        "type" : "string",
        "description" : "Verifier name"
      },
      "strict" : {
        "type" : "boolean",
        "description" : "???"
      },
      "source" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "name" ]
        }, {
          "required" : [ "type", "name", "remove" ]
        }, {
          "required" : [ "type", "name" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of location",
            "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Query param name"
          },
          "remove" : {
            "type" : "string",
            "description" : "Remove from value"
          }
        }
      },
      "algoSettings" : {
        "description" : "???",
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        },
        "type" : "object"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Entity tags"
      },
      "id" : {
        "type" : "string",
        "description" : "Verifier id"
      },
      "_loc" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "strategy" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "strict", "token", "verificationSettings" ]
        }, {
          "required" : [ "type", "verificationSettings" ]
        }, {
          "required" : [ "type", "verificationSettings", "algoSettings" ]
        }, {
          "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
        } ],
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of strategy",
            "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
          },
          "strict" : {
            "type" : "boolean",
            "description" : "If the token already exists in the request, then fail"
          },
          "token" : {
            "type" : "object",
            "description" : "The default token"
          },
          "verificationSettings" : {
            "description" : "Verification settings",
            "properties" : {
              "fields" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Fields validation"
              },
              "arrayFields" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Fields array validation"
              }
            },
            "type" : "object"
          },
          "algoSettings" : {
            "description" : "Algorithm settings for re-signing token",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "secret", "base64" ]
            }, {
              "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
            }, {
              "required" : [ "type", "onlyExposedCerts" ]
            }, {
              "required" : [ "type", "size", "certId" ]
            }, {
              "required" : [ "type", "size", "publicKey", "privateKey" ]
            } ],
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "type" : "string",
                "description" : "Certificate id"
              },
              "secret" : {
                "type" : "string",
                "description" : "HMAC secret"
              },
              "base64" : {
                "type" : "boolean",
                "description" : "The secret is base64 encoded"
              },
              "url" : {
                "type" : "string",
                "description" : "JWKS url"
              },
              "tlsConfig" : {
                "description" : "TLS config",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "kty" : {
                "type" : "string",
                "description" : "Key type"
              },
              "proxy" : {
                "description" : "Web proxy for http client",
                "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"
                  }
                }
              },
              "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"
              },
              "onlyExposedCerts" : {
                "type" : "boolean",
                "description" : "Use only exposed certs"
              }
            }
          },
          "transformSettings" : {
            "description" : "Transformation settings",
            "properties" : {
              "location" : {
                "description" : "Location of the token",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of location",
                    "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Query param name"
                  },
                  "remove" : {
                    "type" : "string",
                    "description" : "Remove from value"
                  }
                },
                "type" : "object"
              },
              "mappingSettings" : {
                "description" : "Token mapping settings",
                "properties" : {
                  "map" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Change values"
                  },
                  "values" : {
                    "type" : "object",
                    "description" : "Add values"
                  },
                  "remove" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Remove some token claims"
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          }
        }
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Entity metadata"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "excludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "ids" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgUserAgentExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "log" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.MockFormData" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "resources" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "name" : {
              "type" : "string",
              "description" : "???"
            },
            "schema" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "field_name" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "field_type" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "value" : {
                    "type" : "object",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "additional_data" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "endpoints" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "status" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "body" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "resource" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "headers" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "resource_list" : {
              "type" : "boolean",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jsoup.HtmlPatcher" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.apikeys.ClientCredentialFlowBody" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "scope" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "clientId" : {
        "type" : "string",
        "description" : "???"
      },
      "clientSecret" : {
        "type" : "string",
        "description" : "???"
      },
      "grantType" : {
        "type" : "string",
        "description" : "???"
      },
      "bearerKind" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "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" : {
          "properties" : {
            "metadata" : {
              "type" : "object",
              "description" : "???"
            },
            "password" : {
              "type" : "string",
              "description" : "???"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "email" : {
              "type" : "string",
              "description" : "???"
            },
            "webauthn" : {
              "description" : "???",
              "type" : "object",
              "properties" : {
                "handle" : {
                  "type" : "string",
                  "description" : "???"
                },
                "credentials" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "object"
                  },
                  "description" : "???"
                }
              }
            },
            "rights" : {
              "description" : "???",
              "properties" : {
                "rights" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "tenant" : {
                        "description" : "Access rights on organizations",
                        "properties" : {
                          "canWrite" : {
                            "type" : "boolean",
                            "description" : "Can this access right write data"
                          },
                          "value" : {
                            "type" : "string",
                            "description" : "Access pattern"
                          },
                          "canRead" : {
                            "type" : "boolean",
                            "description" : "Can this access right read data"
                          }
                        },
                        "type" : "object"
                      },
                      "teams" : {
                        "type" : "array",
                        "items" : {
                          "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"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "Access rights on teams"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights of a user"
                }
              },
              "type" : "object"
            },
            "name" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "sessionMaxAge" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "webauthn" : {
        "type" : "boolean",
        "description" : "???"
      },
      "userValidators" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "sessionCookieValues" : {
        "description" : "???",
        "properties" : {
          "httpOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.plugins.metrics.PrometheusSupport" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.auth.WasmAuthModuleConfig" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the type of the module",
        "enum" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
      },
      "wasmRef" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "clientSideSessionEnabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "description" : {
        "type" : "string",
        "description" : "???"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "sessionMaxAge" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "userValidators" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "sessionCookieValues" : {
        "description" : "???",
        "properties" : {
          "httpOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.plugins.izanami.IzanamiProxyConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "izanamiClientId" : {
        "type" : "string",
        "description" : "???"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "mtls" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "featuresEnabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "featuresWithContextEnabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "izanamiClientSecret" : {
        "type" : "string",
        "description" : "???"
      },
      "timeout" : {
        "type" : "number",
        "description" : "???"
      },
      "configurationEnabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "featurePattern" : {
        "type" : "string",
        "description" : "???"
      },
      "izanamiUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "autoContext" : {
        "type" : "boolean",
        "description" : "???"
      },
      "configPattern" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgHttpClientCache" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "max_age_seconds" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "mime_types" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgBadResponsesFaultConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "responses" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "status" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "???"
            },
            "headers" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "body" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.accesslog.KafkaAccessLog" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.AdditionalHeadersOut" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.core.apikeys.CustomHeadersApikeyExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.utils.mailer.EmailLocation" : {
    "type" : "object",
    "description" : "Email location settings",
    "properties" : {
      "name" : {
        "type" : "string",
        "description" : "Destination name"
      },
      "email" : {
        "type" : "string",
        "description" : "Email address"
      }
    }
  },
  "otoroshi.plugins.envoy.EnvoyControlPlane" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.RackMatch" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of predicate",
        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
      },
      "rack" : {
        "type" : "string",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.plugins.oidc.ThirdPartyApiKeyConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    },
    "type" : "object",
    "description" : "Settings to use elliptic curve signing algorithm"
  },
  "otoroshi.plugins.oidc.OIDCThirdPartyApiKeyConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "excludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "headerName" : {
        "type" : "string",
        "description" : "???"
      },
      "localVerificationOnly" : {
        "type" : "boolean",
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "ttl" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "uniqueApiKey" : {
        "type" : "boolean",
        "description" : "???"
      },
      "rolesPath" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "mode" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "quotasEnabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "monthlyQuota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "scopes" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "roles" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "throttlingQuota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "dailyQuota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "oidcConfigRef" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.geoloc.GeolocationInfoHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.OIDCAccessTokenHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "send" : {
        "type" : "boolean",
        "description" : "???"
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "jwt" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.NoneGeolocationSettings" : {
    "type" : "object",
    "description" : "No geolocation extraction",
    "properties" : {
      "type" : {
        "type" : "string",
        "enum" : [ "none" ]
      }
    }
  },
  "otoroshi.next.plugins.NgLog4ShellFilterConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "body" : {
        "type" : "string",
        "description" : "???"
      },
      "parse_body" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.GraphQLProxy" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "max_complexity" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "schema" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "endpoint" : {
        "type" : "string",
        "description" : "???"
      },
      "max_depth" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgAuthModuleExpectedUserConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "only_from" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.NgPluginInstance" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "instance_id" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "debug" : {
        "type" : "boolean",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "description" : "???"
      },
      "exclude" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "plugin_index" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ ],
        "properties" : { }
      },
      "include" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "plugin" : {
        "type" : "string",
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgGeolocationInfoHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "header_name" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.ReactorResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "body" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.JQRequestConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.hmac.HMACValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgRestrictions" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allow_last" : {
        "type" : "boolean",
        "description" : "???"
      },
      "allowed" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "forbidden" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "not_found" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgHtmlPatcherConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "append_head" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "append_body" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "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.greenscore.Thresholds" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "plugins" : {
        "description" : "???",
        "properties" : {
          "excellent" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "sufficient" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "poor" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "dataOut" : {
        "description" : "???",
        "properties" : {
          "excellent" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "sufficient" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "poor" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "headersOut" : {
        "description" : "???",
        "properties" : {
          "excellent" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "sufficient" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "poor" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.NgMirroringEvent" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ctx" : {
        "description" : "???",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "config" : {
            "description" : "???",
            "properties" : {
              "legacy" : {
                "description" : "???",
                "properties" : {
                  "conf" : {
                    "type" : "object",
                    "description" : "???"
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "route" : {
            "description" : "???",
            "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" : {
                "description" : "The frontend of the route",
                "properties" : {
                  "headers" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "the headers that will be matched"
                  },
                  "query" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "the query params that will be matched"
                  },
                  "domains" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "The domain and path that will be matched"
                  },
                  "methods" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "the http methods that will be matched"
                  },
                  "exact" : {
                    "type" : "boolean",
                    "description" : "Match on exact path ?"
                  },
                  "strip_path" : {
                    "type" : "boolean",
                    "description" : "Is path stripped from backend request"
                  }
                },
                "type" : "object"
              },
              "_loc" : {
                "description" : "The location of the route",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "description" : {
                "type" : "string",
                "description" : "The description of the route"
              },
              "backend" : {
                "description" : "The backend of the route",
                "properties" : {
                  "root" : {
                    "type" : "string",
                    "description" : "The root path of the backend or the full rewrite path"
                  },
                  "health_check" : {
                    "description" : "???",
                    "type" : "object",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "url" : {
                        "type" : "string",
                        "description" : "???"
                      },
                      "timeout" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "???"
                      }
                    }
                  },
                  "client" : {
                    "description" : "Client config. of the backend",
                    "properties" : {
                      "idle_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Timeout on idle connection"
                      },
                      "sample_interval" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
                      },
                      "cache_connection_settings" : {
                        "description" : "Cached connection settings",
                        "properties" : {
                          "queue_size" : {
                            "type" : "integer",
                            "format" : "int32",
                            "description" : "How much request can be queue before dropping it"
                          },
                          "enabled" : {
                            "type" : "boolean",
                            "description" : "Is cached connection enabled"
                          }
                        },
                        "type" : "object"
                      },
                      "call_and_stream_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                      },
                      "custom_timeouts" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "connection_timeout" : {
                              "type" : "integer",
                              "format" : "int64",
                              "description" : "Timeout at connection"
                            },
                            "call_and_stream_timeout" : {
                              "type" : "integer",
                              "format" : "int64",
                              "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                            },
                            "path" : {
                              "type" : "string",
                              "description" : "path on which this configuration works"
                            },
                            "call_timeout" : {
                              "type" : "integer",
                              "format" : "int64",
                              "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                            },
                            "idle_timeout" : {
                              "type" : "integer",
                              "format" : "int64",
                              "description" : "Timeout on idle connection"
                            },
                            "global_timeout" : {
                              "type" : "integer",
                              "format" : "int64",
                              "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "Custom timeouts per path"
                      },
                      "connection_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Timeout at connection"
                      },
                      "call_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                      },
                      "global_timeout" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                      },
                      "retry_initial_delay" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
                      },
                      "backoff_factor" : {
                        "type" : "integer",
                        "format" : "int64",
                        "description" : "Specify the factor to multiply the delay for each retry"
                      },
                      "proxy" : {
                        "description" : "Web proxy settings for http client",
                        "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"
                          }
                        }
                      },
                      "retries" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
                      },
                      "max_errors" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "Specify how many errors can pass before opening the circuit breaker"
                      }
                    },
                    "type" : "object"
                  },
                  "load_balancing" : {
                    "description" : "Loadbalancing config og the backend",
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                      },
                      "ratio" : {
                        "type" : "number",
                        "format" : "double"
                      }
                    },
                    "type" : "object"
                  },
                  "rewrite" : {
                    "type" : "boolean",
                    "description" : "Does the backend performs a full url rewrite ?"
                  },
                  "targets" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "ip_address" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "protocol" : {
                          "type" : "string",
                          "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                          "description" : "Protocol for the target"
                        },
                        "predicate" : {
                          "description" : "Predicate to choose this target",
                          "properties" : {
                            "type" : {
                              "type" : "string",
                              "description" : "the kind of predicate",
                              "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            },
                            "dc" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "positions" : {
                              "type" : "array",
                              "items" : {
                                "properties" : {
                                  "latitude" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  },
                                  "longitude" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  },
                                  "radius" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  }
                                },
                                "type" : "object"
                              },
                              "description" : "???"
                            },
                            "provider" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "dataCenter" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "rack" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "region" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "zone" : {
                              "type" : "string",
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "tls_config" : {
                          "description" : "TLS settings to contact this target",
                          "properties" : {
                            "enabled" : {
                              "type" : "boolean",
                              "description" : "Enabled"
                            },
                            "certs" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "Trusted cert. ids"
                            },
                            "loose" : {
                              "type" : "boolean",
                              "description" : "Loose verification"
                            },
                            "trust_all" : {
                              "type" : "boolean",
                              "description" : "Trust any certificate"
                            },
                            "trusted_certs" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "Trusted cert. ids"
                            }
                          },
                          "type" : "object"
                        },
                        "tls" : {
                          "type" : "boolean",
                          "description" : "Does the target uses TLS"
                        },
                        "port" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "port of the target"
                        },
                        "id" : {
                          "type" : "string",
                          "description" : "id of the target"
                        },
                        "weight" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "The weight of the target when choosing"
                        },
                        "hostname" : {
                          "type" : "string",
                          "description" : "hostname of the target"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "The targets of the backend"
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.SendOtoroshiHeadersBack" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.accesslog.AccessLogJson" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "Entity id",
        "type" : "string"
      }
    }
  },
  "otoroshi.models.BackOfficeUser" : {
    "type" : "object",
    "description" : "User session for otoroshi-ui admins",
    "properties" : {
      "randomId" : {
        "type" : "string",
        "description" : "Session user random id"
      },
      "profile" : {
        "type" : "object",
        "description" : "Session user profile"
      },
      "authConfigId" : {
        "type" : "string",
        "description" : "Session created from auth module id"
      },
      "rights" : {
        "description" : "Session user rights",
        "properties" : {
          "rights" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "tenant" : {
                  "description" : "Access rights on organizations",
                  "properties" : {
                    "canWrite" : {
                      "type" : "boolean",
                      "description" : "Can this access right write data"
                    },
                    "value" : {
                      "type" : "string",
                      "description" : "Access pattern"
                    },
                    "canRead" : {
                      "type" : "boolean",
                      "description" : "Can this access right read data"
                    }
                  },
                  "type" : "object"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "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"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights on teams"
                }
              },
              "type" : "object"
            },
            "description" : "Access rights of a user"
          }
        },
        "type" : "object"
      },
      "createdAt" : {
        "type" : "number",
        "description" : "Creation date for the session"
      },
      "token" : {
        "type" : "object",
        "description" : "Session tokens (only if OAuth/OIDC)"
      },
      "name" : {
        "type" : "string",
        "description" : "Session user name"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Entity tags"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Entity metadata"
      },
      "email" : {
        "type" : "string",
        "description" : "User email"
      },
      "simpleLogin" : {
        "type" : "boolean",
        "description" : "Session generated from a simple login module (like basic or ldap)"
      },
      "expiredAt" : {
        "type" : "number",
        "description" : "Expiration date for the session"
      },
      "_loc" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "lastRefresh" : {
        "type" : "number",
        "description" : "Last refresh of the session (OAuth with refresh tokens)"
      }
    }
  },
  "otoroshi.next.plugins.NgResponseCacheCleanupJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NoopSpanExporter" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.GeolocationSettings" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "enabled", "apikey", "timeout" ]
    }, {
      "required" : [ "type", "enabled", "path" ]
    }, {
      "required" : [ "type" ]
    } ],
    "properties" : {
      "type" : {
        "type" : "string",
        "enum" : [ "none" ]
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "Geolocation using maxmind db enabled"
      },
      "apikey" : {
        "type" : "string",
        "description" : "IpStack apikey"
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "API call timeout"
      },
      "path" : {
        "type" : "string",
        "description" : "Maxmlind db file path"
      }
    }
  },
  "otoroshi.events.AlertEvent" : {
    "type" : "object",
    "description" : "Alert trail event"
  },
  "otoroshi.next.plugins.WasmRouteMatcher" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.ApiDescriptor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "exposeApi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "openApiDescriptorUrl" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.auth.SessionCookieValues" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "httpOnly" : {
        "type" : "boolean",
        "description" : "???"
      },
      "secure" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.OAuth1CallerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "token_secret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "consumer_secret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "algo" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "token" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "consumer_key" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesIngressToDescriptor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgLegacyAuthModuleCallConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "public_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "private_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "module" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "pass_with_apikey" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.RBAC" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "roles" : {
        "type" : "string",
        "description" : "???"
      },
      "allow" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allow_all" : {
        "type" : "boolean",
        "description" : "???"
      },
      "role_prefix" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "jwt_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "apikey_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "deny" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "user_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "deny_all" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.utils.letsencrypt.LetsEncryptSettings" : {
    "type" : "object",
    "description" : "Settings for connection to a let's encrypt (or ACME) server",
    "properties" : {
      "privateKey" : {
        "type" : "string",
        "description" : "Let's encrypt (ACME) private key"
      },
      "contacts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Let's encrypt (ACME) contacts"
      },
      "emails" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Let's encrypt (ACME) contact emails"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "Let's encrypt (ACME) enabled"
      },
      "publicKey" : {
        "type" : "string",
        "description" : "Let's encrypt (ACME) public key"
      },
      "server" : {
        "type" : "string",
        "description" : "Let's encrypt (ACME) server"
      }
    }
  },
  "otoroshi.next.models.NgTlsConfig" : {
    "type" : "object",
    "description" : "TLS settings for the http client",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "Enabled"
      },
      "certs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Trusted cert. ids"
      },
      "loose" : {
        "type" : "boolean",
        "description" : "Loose verification"
      },
      "trust_all" : {
        "type" : "boolean",
        "description" : "Trust any certificate"
      },
      "trusted_certs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Trusted cert. ids"
      }
    }
  },
  "otoroshi.next.plugins.NgBrotliConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "buffer_size" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "black_list" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "white_list" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "compression_level" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "chunked_threshold" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgResponseCacheConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ttl" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "max_size" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "auto_clean" : {
        "type" : "boolean",
        "description" : "???"
      },
      "filter" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "paths" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "methods" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "not_methods" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "not_paths" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        }
      }
    }
  },
  "otoroshi.models.ApiKeyRouteMatcher" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "oneTagIn" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "noneMetaKeysIn" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "oneMetaIn" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "oneMetaKeyIn" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allMetaKeysIn" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "noneTagIn" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allTagsIn" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allMetaIn" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "noneMetaIn" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.SOAPAction" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "jq_response_filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "jq_request_filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "preserve_query" : {
        "type" : "boolean",
        "description" : "???"
      },
      "convert_request_body_to_xml" : {
        "type" : "boolean",
        "description" : "???"
      },
      "charset" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "url" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "action" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "envelope" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.StoredNgBackendDataStore" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgApikeyExtractorJwt" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "cookie_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "key_pair_signed" : {
        "type" : "boolean",
        "description" : "???"
      },
      "query_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "secret_signed" : {
        "type" : "boolean",
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "include_request_attrs" : {
        "type" : "boolean",
        "description" : "???"
      },
      "header_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "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.next.plugins.NgBiscuitExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "legacy" : {
        "description" : "???",
        "properties" : {
          "facts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "publicKey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enforce" : {
            "type" : "boolean",
            "description" : "???"
          },
          "extractorName" : {
            "type" : "string",
            "description" : "???"
          },
          "checks" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "extractor" : {
            "type" : "string",
            "description" : "???"
          },
          "revocation_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "rules" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.utils.JsonPathValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "value" : {
        "type" : "object",
        "description" : "???"
      },
      "error" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.OAuth2CallerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "cache_token_seconds" : {
        "type" : "number",
        "description" : "???"
      },
      "client_id" : {
        "type" : "string",
        "description" : "???"
      },
      "client_secret" : {
        "type" : "string",
        "description" : "???"
      },
      "scope" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "password" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "method" : {
        "type" : "string",
        "description" : "???"
      },
      "user" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "kind" : {
        "description" : "The kind of oauth2 flow",
        "type" : "string",
        "enum" : [ "client_credentials", "password" ]
      },
      "header_value_format" : {
        "type" : "string",
        "description" : "???"
      },
      "json_payload" : {
        "type" : "boolean",
        "description" : "???"
      },
      "audience" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "tls_config" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.XForwardedHeaders" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.GoReplayS3Settings" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of exporter",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
      },
      "s3" : {
        "description" : "???",
        "properties" : {
          "writeEvery" : {
            "type" : "number",
            "description" : "Write every n milliseconds"
          },
          "chunkSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Upload chunk max size"
          },
          "bucket" : {
            "type" : "string",
            "description" : "Bucket name"
          },
          "key" : {
            "type" : "string",
            "description" : "File path in bucket"
          },
          "endpoint" : {
            "type" : "string",
            "description" : "Bucket endpoint"
          },
          "v4auth" : {
            "type" : "boolean",
            "description" : "Use V4 auth"
          },
          "access" : {
            "type" : "string",
            "description" : "Bucket access key"
          },
          "secret" : {
            "type" : "string",
            "description" : "Bucket access secret"
          },
          "region" : {
            "type" : "string",
            "description" : "Bucket region"
          }
        },
        "type" : "object"
      },
      "methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "captureResponses" : {
        "type" : "boolean",
        "description" : "???"
      },
      "preferBackendResponse" : {
        "type" : "boolean",
        "description" : "???"
      },
      "maxFileSize" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "captureRequests" : {
        "type" : "boolean",
        "description" : "???"
      },
      "preferBackendRequest" : {
        "type" : "boolean",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.utils.ConcurrentMutableTypedMap" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.biscuit.PubKeyBiscuitToken" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "token" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgIzanamiV1CanaryRoutingConfigRoute" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "regex" : {
        "type" : "boolean",
        "description" : "???"
      },
      "default" : {
        "type" : "string",
        "description" : "???"
      },
      "route" : {
        "type" : "string",
        "description" : "???"
      },
      "wildcard" : {
        "type" : "boolean",
        "description" : "???"
      },
      "exact" : {
        "type" : "boolean",
        "description" : "???"
      },
      "variants" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.BiscuitConf" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "privkey" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "checks" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "facts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "rules" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgClientCertChainHeaderConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "dns_header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "pem_header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "send_pem" : {
        "type" : "boolean",
        "description" : "???"
      },
      "send_chain" : {
        "type" : "boolean",
        "description" : "???"
      },
      "send_dns" : {
        "type" : "boolean",
        "description" : "???"
      },
      "chain_header_name" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.EurekaInstance" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "hostname" : {
        "type" : "string",
        "description" : "???"
      },
      "vip_address" : {
        "type" : "string",
        "description" : "???"
      },
      "home_page_url" : {
        "type" : "string",
        "description" : "???"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "last_dirty_timestamp" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "is_secured" : {
        "type" : "boolean",
        "description" : "???"
      },
      "ip_addr" : {
        "type" : "string",
        "description" : "???"
      },
      "last_updated_timestamp" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "app" : {
        "type" : "string",
        "description" : "???"
      },
      "overridden_status" : {
        "type" : "string",
        "description" : "???"
      },
      "status_page_url" : {
        "type" : "string",
        "description" : "???"
      },
      "is_coordinating_discovery_server" : {
        "type" : "string",
        "description" : "???"
      },
      "instance_id" : {
        "type" : "string",
        "description" : "???"
      },
      "secure_vip_address" : {
        "type" : "string",
        "description" : "???"
      },
      "status" : {
        "type" : "string",
        "description" : "???"
      },
      "port" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "secure_port" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "health_check_url" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgResponseCacheFilterConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "paths" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "not_methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "not_paths" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.greenscore.GreenScoreEntity" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "routes" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "routeId" : {
              "type" : "string",
              "description" : "???"
            },
            "rulesConfig" : {
              "description" : "???",
              "properties" : {
                "sections" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "id" : {
                        "description" : "???",
                        "properties" : {
                          "value" : {
                            "type" : "string",
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "rules" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "sectionWeight" : {
                              "type" : "number",
                              "format" : "double",
                              "description" : "???"
                            },
                            "advice" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "weight" : {
                              "type" : "number",
                              "format" : "double",
                              "description" : "???"
                            },
                            "enabled" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "id" : {
                              "description" : "???",
                              "properties" : {
                                "value" : {
                                  "type" : "string",
                                  "description" : "???"
                                }
                              },
                              "type" : "object"
                            },
                            "description" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "thresholds" : {
                  "description" : "???",
                  "properties" : {
                    "plugins" : {
                      "description" : "???",
                      "properties" : {
                        "excellent" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        },
                        "sufficient" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        },
                        "poor" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "dataOut" : {
                      "description" : "???",
                      "properties" : {
                        "excellent" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        },
                        "sufficient" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        },
                        "poor" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "headersOut" : {
                      "description" : "???",
                      "properties" : {
                        "excellent" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        },
                        "sufficient" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        },
                        "poor" : {
                          "type" : "integer",
                          "format" : "int32",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    }
                  },
                  "type" : "object"
                }
              },
              "type" : "object"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "description" : {
        "type" : "string",
        "description" : "???"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      }
    }
  },
  "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" : {
          "properties" : {
            "name" : {
              "type" : "string",
              "description" : "Destination name"
            },
            "email" : {
              "type" : "string",
              "description" : "Email address"
            }
          },
          "type" : "object"
        },
        "description" : "Destination email address"
      }
    },
    "type" : "object",
    "description" : "Settings for the sendgrid mailer"
  },
  "otoroshi.gateway.CircuitBreakersHolder" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgAuthModuleConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "module" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "pass_with_apikey" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgChaosConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "large_request_fault_config" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "additional_request_size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        }
      },
      "large_response_fault_config" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "additional_response_size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        }
      },
      "latency_injection_fault_config" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "from" : {
            "type" : "number",
            "description" : "???"
          },
          "to" : {
            "type" : "number",
            "description" : "???"
          }
        }
      },
      "bad_responses_fault_config" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "ratio" : {
            "type" : "number",
            "format" : "double",
            "description" : "???"
          },
          "responses" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "status" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "body" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          }
        }
      }
    }
  },
  "ByteStreamBody" : {
    "type" : "string",
    "description" : ""
  },
  "play.api.libs.ws.DefaultWSProxyServer" : {
    "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.plugins.loggers.BodyLogger" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgIzanamiV1Proxy" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "features_enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "client_secret" : {
        "type" : "string",
        "description" : "???"
      },
      "features_with_context_enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "config_pattern" : {
        "type" : "string",
        "description" : "???"
      },
      "feature_pattern" : {
        "type" : "string",
        "description" : "???"
      },
      "client_id" : {
        "type" : "string",
        "description" : "???"
      },
      "tls" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enabled"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "Loose verification"
          },
          "trust_all" : {
            "type" : "boolean",
            "description" : "Trust any certificate"
          },
          "trusted_certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          }
        },
        "type" : "object"
      },
      "izanami_url" : {
        "type" : "string",
        "description" : "???"
      },
      "timeout" : {
        "type" : "number",
        "description" : "???"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "auto_context" : {
        "type" : "boolean",
        "description" : "???"
      },
      "configuration_enabled" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.biscuit.AccessValidatorContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ctx" : {
        "description" : "???",
        "properties" : {
          "attrs" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          },
          "config" : {
            "type" : "object",
            "description" : "???"
          },
          "descriptor" : {
            "description" : "???",
            "properties" : {
              "buildMode" : {
                "type" : "boolean",
                "description" : "???"
              },
              "hosts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "privateApp" : {
                "type" : "boolean",
                "description" : "???"
              },
              "localScheme" : {
                "type" : "string",
                "description" : "???"
              },
              "authConfigRef" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "issueCertCA" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "root" : {
                "type" : "string",
                "description" : "???"
              },
              "name" : {
                "type" : "string",
                "description" : "???"
              },
              "additionalHeaders" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "domain" : {
                "type" : "string",
                "description" : "???"
              },
              "clientConfig" : {
                "description" : "???",
                "properties" : {
                  "connectionTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "useCircuitBreaker" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "retryInitialDelay" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "cacheConnectionSettings" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "queueSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "proxy" : {
                    "description" : "???",
                    "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"
                      }
                    }
                  },
                  "callTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "callAndStreamTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "globalTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "maxErrors" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "retries" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "backoffFactor" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "customTimeouts" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "callAndStreamTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "callTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "idleTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "globalTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "connectionTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "idleTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "sampleInterval" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "matchingRoot" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "forceHttps" : {
                "type" : "boolean",
                "description" : "???"
              },
              "localHost" : {
                "type" : "string",
                "description" : "???"
              },
              "sendOtoroshiHeadersBack" : {
                "type" : "boolean",
                "description" : "???"
              },
              "healthCheck" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "timeout" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "apiKeyConstraints" : {
                "description" : "???",
                "properties" : {
                  "customHeadersAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "clientIdHeaderName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "clientSecretHeaderName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  },
                  "routing" : {
                    "description" : "???",
                    "properties" : {
                      "oneTagIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneMetaKeysIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "oneMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "oneMetaKeyIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allMetaKeysIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneTagIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allTagsIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "clientIdAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  },
                  "jwtAuth" : {
                    "description" : "???",
                    "properties" : {
                      "keyPairSigned" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "cookieName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "secretSigned" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "maxJwtLifespanSecs" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "includeRequestAttributes" : {
                        "type" : "boolean",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "basicAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  }
                },
                "type" : "object"
              },
              "env" : {
                "type" : "string",
                "description" : "???"
              },
              "xForwardedHeaders" : {
                "type" : "boolean",
                "description" : "???"
              },
              "transformerRefs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "gzip" : {
                "description" : "???",
                "properties" : {
                  "compressionLevel" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "blackList" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "chunkedThreshold" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "bufferSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "whiteList" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "userFacing" : {
                "type" : "boolean",
                "description" : "???"
              },
              "transformerConfig" : {
                "type" : "object",
                "description" : "???"
              },
              "clientValidatorRef" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "securityExcludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "ipFiltering" : {
                "description" : "???",
                "properties" : {
                  "whitelist" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "blacklist" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "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" : {
                      "description" : "???",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "ipAddress" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "mtlsConfig" : {
                      "description" : "???",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "scheme" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "redirection" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "code" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "to" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "tags" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "restrictions" : {
                "description" : "???",
                "properties" : {
                  "forbidden" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "allowed" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "notFound" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "allowLast" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "overrideHost" : {
                "type" : "boolean",
                "description" : "???"
              },
              "accessValidator" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "config" : {
                    "type" : "object",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "sendStateChallenge" : {
                "type" : "boolean",
                "description" : "???"
              },
              "chaosConfig" : {
                "description" : "???",
                "properties" : {
                  "badResponsesFaultConfig" : {
                    "description" : "Settings for bad responses",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "responses" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "status" : {
                              "type" : "integer",
                              "format" : "int32",
                              "description" : "The HTTP status for the response"
                            },
                            "body" : {
                              "type" : "string",
                              "description" : "The body of the HTTP response"
                            },
                            "headers" : {
                              "type" : "object",
                              "additionalProperties" : {
                                "type" : "string"
                              },
                              "description" : "The HTTP headers of the response"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "The possibles responses"
                      }
                    }
                  },
                  "largeRequestFaultConfig" : {
                    "description" : "Settings for large requests",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "additionalRequestSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                      }
                    }
                  },
                  "largeResponseFaultConfig" : {
                    "description" : "Settings for large responses",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "additionalResponseSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "Add n 0 bytes"
                      }
                    }
                  },
                  "latencyInjectionFaultConfig" : {
                    "description" : "Settings for latency injection",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "from" : {
                        "type" : "number",
                        "description" : "The start range of latency added to the request"
                      },
                      "to" : {
                        "type" : "number",
                        "description" : "The end range of latency added to the request"
                      }
                    }
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Whether or not this config is enabled"
                  }
                },
                "type" : "object"
              },
              "secComInfoTokenVersion" : {
                "description" : "Version of the info token",
                "type" : "string",
                "enum" : [ "Legacy", "Latest" ]
              },
              "additionalHeadersOut" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "secComHeaders" : {
                "description" : "???",
                "properties" : {
                  "claimRequestName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "stateRequestName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "stateResponseName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "matchingHeaders" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "secComAlgoChallengeBackToOto" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "???",
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                },
                "type" : "object"
              },
              "handleLegacyDomain" : {
                "type" : "boolean",
                "description" : "???"
              },
              "canary" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "traffic" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "???"
                  },
                  "targets" : {
                    "type" : "array",
                    "items" : {
                      "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" : {
                          "description" : "???",
                          "properties" : {
                            "type" : {
                              "type" : "string",
                              "description" : "the kind of predicate",
                              "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            },
                            "dc" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "positions" : {
                              "type" : "array",
                              "items" : {
                                "properties" : {
                                  "latitude" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  },
                                  "longitude" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  },
                                  "radius" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  }
                                },
                                "type" : "object"
                              },
                              "description" : "???"
                            },
                            "provider" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "dataCenter" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "rack" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "region" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "zone" : {
                              "type" : "string",
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "ipAddress" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "mtlsConfig" : {
                          "description" : "???",
                          "properties" : {
                            "mtls" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "loose" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "trustAll" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "trustedCerts" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "???"
                            },
                            "certs" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "scheme" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "root" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "_loc" : {
                "description" : "???",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "plugins" : {
                "description" : "???",
                "properties" : {
                  "config" : {
                    "type" : "object",
                    "description" : "Plugins configuration"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Plugins enabled"
                  },
                  "excluded" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Excluded paths"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Enabled plugins"
                  }
                },
                "type" : "object"
              },
              "secComTtl" : {
                "type" : "number",
                "description" : "???"
              },
              "description" : {
                "type" : "string",
                "description" : "???"
              },
              "secComVersion" : {
                "description" : "Version of the challenge token",
                "type" : "string",
                "enum" : [ "V1", "v2" ]
              },
              "preRouting" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "config" : {
                    "type" : "object",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "groups" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "readOnly" : {
                "type" : "boolean",
                "description" : "???"
              },
              "privatePatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "targetsLoadBalancing" : {
                "description" : "???",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                  },
                  "ratio" : {
                    "type" : "number",
                    "format" : "double"
                  }
                },
                "type" : "object"
              },
              "cors" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "allowCredentials" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "maxAge" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "allowMethods" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allowHeaders" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "exposeHeaders" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allowOrigin" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "metadata" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "publicPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "api" : {
                "description" : "???",
                "properties" : {
                  "exposeApi" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "openApiDescriptorUrl" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "missingOnlyHeadersIn" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "issueCert" : {
                "type" : "boolean",
                "description" : "???"
              },
              "headersVerification" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "jwtVerifier" : {
                "description" : "???",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of verifier",
                    "enum" : [ "global", "local", "ref" ]
                  },
                  "desc" : {
                    "type" : "string",
                    "description" : "Verifier description"
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Verifier name"
                  },
                  "strict" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "source" : {
                    "description" : "???",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "name" ]
                    }, {
                      "required" : [ "type", "name", "remove" ]
                    }, {
                      "required" : [ "type", "name" ]
                    } ],
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of location",
                        "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                      },
                      "name" : {
                        "type" : "string",
                        "description" : "Query param name"
                      },
                      "remove" : {
                        "type" : "string",
                        "description" : "Remove from value"
                      }
                    }
                  },
                  "algoSettings" : {
                    "description" : "???",
                    "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" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "certId" : {
                        "type" : "string",
                        "description" : "Certificate id"
                      },
                      "secret" : {
                        "type" : "string",
                        "description" : "HMAC secret"
                      },
                      "base64" : {
                        "type" : "boolean",
                        "description" : "The secret is base64 encoded"
                      },
                      "url" : {
                        "type" : "string",
                        "description" : "JWKS url"
                      },
                      "tlsConfig" : {
                        "description" : "TLS config",
                        "properties" : {
                          "mtls" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustAll" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustedCerts" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "kty" : {
                        "type" : "string",
                        "description" : "Key type"
                      },
                      "proxy" : {
                        "description" : "Web proxy for http client",
                        "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"
                          }
                        }
                      },
                      "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"
                      },
                      "onlyExposedCerts" : {
                        "type" : "boolean",
                        "description" : "Use only exposed certs"
                      }
                    },
                    "type" : "object"
                  },
                  "tags" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Entity tags"
                  },
                  "id" : {
                    "type" : "string",
                    "description" : "Verifier id"
                  },
                  "_loc" : {
                    "description" : "Entity location",
                    "properties" : {
                      "tenant" : {
                        "description" : "Organization of the current entity",
                        "type" : "string"
                      },
                      "teams" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "Teams of the current entity"
                      }
                    },
                    "type" : "object"
                  },
                  "strategy" : {
                    "description" : "???",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "strict", "token", "verificationSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings", "algoSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
                    } ],
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of strategy",
                        "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                      },
                      "strict" : {
                        "type" : "boolean",
                        "description" : "If the token already exists in the request, then fail"
                      },
                      "token" : {
                        "type" : "object",
                        "description" : "The default token"
                      },
                      "verificationSettings" : {
                        "description" : "Verification settings",
                        "properties" : {
                          "fields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Fields validation"
                          },
                          "arrayFields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Fields array validation"
                          }
                        },
                        "type" : "object"
                      },
                      "algoSettings" : {
                        "description" : "Algorithm settings for re-signing token",
                        "type" : "object",
                        "oneOfConstraints" : [ {
                          "required" : [ "type", "size", "publicKey", "privateKey" ]
                        }, {
                          "required" : [ "type", "size", "certId" ]
                        }, {
                          "required" : [ "type", "size", "secret", "base64" ]
                        }, {
                          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                        }, {
                          "required" : [ "type", "onlyExposedCerts" ]
                        }, {
                          "required" : [ "type", "size", "certId" ]
                        }, {
                          "required" : [ "type", "size", "publicKey", "privateKey" ]
                        } ],
                        "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" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "certId" : {
                            "type" : "string",
                            "description" : "Certificate id"
                          },
                          "secret" : {
                            "type" : "string",
                            "description" : "HMAC secret"
                          },
                          "base64" : {
                            "type" : "boolean",
                            "description" : "The secret is base64 encoded"
                          },
                          "url" : {
                            "type" : "string",
                            "description" : "JWKS url"
                          },
                          "tlsConfig" : {
                            "description" : "TLS config",
                            "properties" : {
                              "mtls" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "loose" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "trustAll" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "trustedCerts" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "???"
                              },
                              "certs" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "kty" : {
                            "type" : "string",
                            "description" : "Key type"
                          },
                          "proxy" : {
                            "description" : "Web proxy for http client",
                            "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"
                              }
                            }
                          },
                          "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"
                          },
                          "onlyExposedCerts" : {
                            "type" : "boolean",
                            "description" : "Use only exposed certs"
                          }
                        }
                      },
                      "transformSettings" : {
                        "description" : "Transformation settings",
                        "properties" : {
                          "location" : {
                            "description" : "Location of the token",
                            "properties" : {
                              "type" : {
                                "type" : "string",
                                "description" : "the kind of location",
                                "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                              },
                              "name" : {
                                "type" : "string",
                                "description" : "Query param name"
                              },
                              "remove" : {
                                "type" : "string",
                                "description" : "Remove from value"
                              }
                            },
                            "type" : "object"
                          },
                          "mappingSettings" : {
                            "description" : "Token mapping settings",
                            "properties" : {
                              "map" : {
                                "type" : "object",
                                "additionalProperties" : {
                                  "type" : "string"
                                },
                                "description" : "Change values"
                              },
                              "values" : {
                                "type" : "object",
                                "description" : "Add values"
                              },
                              "remove" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "Remove some token claims"
                              }
                            },
                            "type" : "object"
                          }
                        },
                        "type" : "object"
                      }
                    }
                  },
                  "metadata" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Entity metadata"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "ids" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "letsEncrypt" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "index" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "globalConfig" : {
            "type" : "object",
            "description" : "???"
          },
          "apikey" : {
            "description" : "???",
            "type" : "object",
            "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" : {
                "description" : "The location of the apikey",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "restrictions" : {
                "description" : "Apikey restrictions settings",
                "properties" : {
                  "forbidden" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "allowed" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "notFound" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "allowLast" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "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" : {
                "description" : "Apikey rotation settings",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Rotation enabled"
                  },
                  "rotationEvery" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Rotate every n hours"
                  },
                  "gracePeriod" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "period (in hours) during which both secrets works"
                  },
                  "nextSecret" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "authorizedEntities" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "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"
              }
            }
          },
          "snowflake" : {
            "type" : "string",
            "description" : "???"
          },
          "user" : {
            "description" : "???",
            "type" : "object",
            "properties" : {
              "realm" : {
                "type" : "string",
                "description" : "Session realm name"
              },
              "token" : {
                "type" : "object",
                "description" : "Session tokens (from OAuth)"
              },
              "expiredAt" : {
                "type" : "number",
                "description" : "Session expiration date"
              },
              "profile" : {
                "type" : "object",
                "description" : "Session user profile"
              },
              "lastRefresh" : {
                "type" : "number",
                "description" : "Session last refresh (if OAuth refresh_token supported)"
              },
              "randomId" : {
                "type" : "string",
                "description" : "Session random id"
              },
              "email" : {
                "type" : "string",
                "description" : "Session user email"
              },
              "createdAt" : {
                "type" : "number",
                "description" : "Creation date of the session"
              },
              "_loc" : {
                "description" : "Entity location",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "authConfigId" : {
                "type" : "string",
                "description" : "Auth module id that created the session"
              },
              "tags" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Entity tags"
              },
              "name" : {
                "type" : "string",
                "description" : "Entity name"
              },
              "otoroshiData" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "metadata" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Entity metadata"
              }
            }
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.MockResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "body" : {
        "type" : "string",
        "description" : "???"
      },
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "method" : {
        "type" : "string",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "PemCertificateBody" : {
    "type" : "string",
    "description" : "PEM encoded certificate"
  },
  "otoroshi.next.plugins.GlobalMaintenanceMode" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.LargeRequestFaultConfig" : {
    "type" : "object",
    "description" : "Settings for a large request fault (chaos engineering)",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
      },
      "additionalRequestSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "The size added to the request body in bytes. Added payload will be spaces only."
      }
    }
  },
  "otoroshi.next.models.NgBackend" : {
    "type" : "object",
    "description" : "A backend representation with it's targets, load balancing and general settings",
    "properties" : {
      "root" : {
        "type" : "string",
        "description" : "The root path of the backend or the full rewrite path"
      },
      "health_check" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "url" : {
            "type" : "string",
            "description" : "???"
          },
          "timeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          }
        }
      },
      "client" : {
        "description" : "Client config. of the backend",
        "properties" : {
          "idle_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timeout on idle connection"
          },
          "sample_interval" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
          },
          "cache_connection_settings" : {
            "description" : "Cached connection settings",
            "properties" : {
              "queue_size" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "How much request can be queue before dropping it"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Is cached connection enabled"
              }
            },
            "type" : "object"
          },
          "call_and_stream_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
          },
          "custom_timeouts" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "connection_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Timeout at connection"
                },
                "call_and_stream_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                },
                "path" : {
                  "type" : "string",
                  "description" : "path on which this configuration works"
                },
                "call_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                },
                "idle_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Timeout on idle connection"
                },
                "global_timeout" : {
                  "type" : "integer",
                  "format" : "int64",
                  "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                }
              },
              "type" : "object"
            },
            "description" : "Custom timeouts per path"
          },
          "connection_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Timeout at connection"
          },
          "call_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
          },
          "global_timeout" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
          },
          "retry_initial_delay" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
          },
          "backoff_factor" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Specify the factor to multiply the delay for each retry"
          },
          "proxy" : {
            "description" : "Web proxy settings for http client",
            "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"
              }
            }
          },
          "retries" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
          },
          "max_errors" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Specify how many errors can pass before opening the circuit breaker"
          }
        },
        "type" : "object"
      },
      "load_balancing" : {
        "description" : "Loadbalancing config og the backend",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
          },
          "ratio" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "type" : "object"
      },
      "rewrite" : {
        "type" : "boolean",
        "description" : "Does the backend performs a full url rewrite ?"
      },
      "targets" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "ip_address" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "protocol" : {
              "type" : "string",
              "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
              "description" : "Protocol for the target"
            },
            "predicate" : {
              "description" : "Predicate to choose this target",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of predicate",
                  "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                },
                "dc" : {
                  "type" : "string",
                  "description" : "???"
                },
                "positions" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "latitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "longitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "radius" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "provider" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "dataCenter" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "rack" : {
                  "type" : "string",
                  "description" : "???"
                },
                "region" : {
                  "type" : "string",
                  "description" : "???"
                },
                "zone" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "tls_config" : {
              "description" : "TLS settings to contact this target",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Enabled"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Trusted cert. ids"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "Loose verification"
                },
                "trust_all" : {
                  "type" : "boolean",
                  "description" : "Trust any certificate"
                },
                "trusted_certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Trusted cert. ids"
                }
              },
              "type" : "object"
            },
            "tls" : {
              "type" : "boolean",
              "description" : "Does the target uses TLS"
            },
            "port" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "port of the target"
            },
            "id" : {
              "type" : "string",
              "description" : "id of the target"
            },
            "weight" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "The weight of the target when choosing"
            },
            "hostname" : {
              "type" : "string",
              "description" : "hostname of the target"
            }
          },
          "type" : "object"
        },
        "description" : "The targets of the backend"
      }
    }
  },
  "ExperimentalFormResponse" : {
    "type" : "object",
    "description" : "The representation of a form to configure a plugin or an entity"
  },
  "otoroshi.next.plugins.NgApikeyExtractorClientId" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "header_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "query_name" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.AttrsHelper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "OutagesList" : {
    "type" : "array",
    "items" : {
      "properties" : {
        "descriptorName" : {
          "type" : "string",
          "description" : "???"
        },
        "descriptorId" : {
          "type" : "string",
          "description" : "???"
        },
        "until" : {
          "type" : "string",
          "description" : "???"
        },
        "duration" : {
          "type" : "number",
          "description" : "???"
        },
        "startedAt" : {
          "type" : "number",
          "description" : "???"
        }
      },
      "type" : "object"
    }
  },
  "otoroshi.plugins.mirror.MirroringPluginConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "conf" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "PluginDescriptionsResponse" : {
    "type" : "array",
    "items" : { }
  },
  "otoroshi.next.plugins.NgSecurityTxtConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "preferred_languages" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "encryption" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "policy" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "acknowledgments" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "hiring" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "contact" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.script.PreRoutingRef" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "excludedPatterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "refs" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.biscuit.BiscuitConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "facts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "publicKey" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "resources" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "enforce" : {
        "type" : "boolean",
        "description" : "???"
      },
      "extractorName" : {
        "type" : "string",
        "description" : "???"
      },
      "checks" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "extractor" : {
        "type" : "string",
        "description" : "???"
      },
      "revocation_ids" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "rules" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgJwtVerificationConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "verifiers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.W3CTracingConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "kind" : {
        "description" : "Configuration for W3CTracing",
        "type" : "string",
        "enum" : [ "jaeger", "zipkin", "logger", "noop" ]
      },
      "endpoint" : {
        "type" : "string",
        "description" : "???"
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "baggage" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.ErrorRewriteReport" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "raw_response" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "response" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "response_body" : {
        "type" : "string",
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "raw_response_body" : {
        "type" : "string",
        "description" : "???"
      },
      "request" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.AttributeSetter" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.AuthorisationException" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "message" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.NgCacheConnectionSettings" : {
    "type" : "object",
    "description" : "The settings for http cached connection at host level",
    "properties" : {
      "queue_size" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "How much request can be queue before dropping it"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "Is cached connection enabled"
      }
    }
  },
  "otoroshi.plugins.geoloc.IpStackGeolocationHelper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.DataExporterConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "desc" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "bufferSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "jsonWorkers" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "groupDuration" : {
        "type" : "number",
        "description" : "???"
      },
      "groupSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "type" : {
        "description" : "Type of data exporter",
        "type" : "string",
        "enum" : [ "kafka", "pulsar", "elastic", "webhook", "file", "mailer", "custom", "none", "console", "metrics" ]
      },
      "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" : {
        "description" : "???",
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "hostValidation" : {
            "type" : "boolean",
            "description" : "Enabled TLS hostname validation"
          },
          "servers" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "URLs of the kafka servers"
          },
          "mtlsConfig" : {
            "description" : "TLS config when calling webhook",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "securityProtocol" : {
            "type" : "string",
            "description" : "Used security protocol"
          },
          "keystore" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "topic" : {
            "type" : "string",
            "description" : "???"
          },
          "keyPass" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "saslConfig" : {
            "description" : "SASL configuration",
            "type" : "object",
            "properties" : {
              "username" : {
                "type" : "string",
                "description" : "SASL username"
              },
              "password" : {
                "type" : "string",
                "description" : "SASL password"
              },
              "mechanism" : {
                "type" : "string",
                "description" : "SASL login mechanism"
              }
            }
          },
          "tlsTrustCertsFilePath" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "tenant" : {
            "type" : "string",
            "description" : "???"
          },
          "uri" : {
            "type" : "string",
            "description" : "???"
          },
          "namespace" : {
            "type" : "string",
            "description" : "???"
          },
          "sendWorkers" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "applyTemplate" : {
            "type" : "boolean",
            "description" : "Enable template creation/update"
          },
          "uris" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "version" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "maxBulkSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "headers" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Sender headers"
          },
          "indexSettings" : {
            "description" : "Indexation settings",
            "properties" : {
              "clientSide" : {
                "type" : "boolean",
                "description" : "Enable index splitting on client side"
              },
              "numberOfShards" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "numberOfReplicas" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "interval" : {
                "description" : "Index splitting interval",
                "properties" : { },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "user" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "index" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "password" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "ref" : {
            "type" : "string",
            "description" : "???"
          },
          "config" : {
            "type" : "object",
            "description" : "???"
          },
          "path" : {
            "type" : "string",
            "description" : "???"
          },
          "maxFileSize" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "???"
          },
          "labels" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "url" : {
            "type" : "string",
            "description" : "Sender URL"
          },
          "to" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "name" : {
                  "type" : "string",
                  "description" : "Destination name"
                },
                "email" : {
                  "type" : "string",
                  "description" : "Email address"
                }
              },
              "type" : "object"
            },
            "description" : "Destination email address"
          },
          "eu" : {
            "type" : "boolean",
            "description" : "European tenant"
          },
          "apiKey" : {
            "type" : "string",
            "description" : "Sendgrid apikey"
          },
          "domain" : {
            "type" : "string",
            "description" : "Mailgun domain"
          },
          "apiKeyPublic" : {
            "type" : "string",
            "description" : "Public key"
          },
          "apiKeyPrivate" : {
            "type" : "string",
            "description" : "Private key"
          }
        },
        "type" : "object"
      },
      "projection" : {
        "type" : "object",
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "filtering" : {
        "description" : "???",
        "properties" : {
          "include" : {
            "type" : "array",
            "items" : {
              "type" : "object"
            },
            "description" : "???"
          },
          "exclude" : {
            "type" : "array",
            "items" : {
              "type" : "object"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.NgEndlessHttpResponseConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "finger" : {
        "type" : "boolean",
        "description" : "???"
      },
      "addresses" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "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)"
      }
    }
  },
  "BulkBody" : {
    "type" : "string",
    "description" : "Body composed of stringified JSON lines, each one representing an entity"
  },
  "otoroshi.plugins.discovery.DiscoveryJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "PemCsrBody" : {
    "type" : "string",
    "description" : "PEM encoded csr"
  },
  "otoroshi.next.plugins.WasmJobsConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "unique_id" : {
        "type" : "string",
        "description" : "???"
      },
      "instantiation" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "cron_expression" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "kind" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "allowedHosts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "memoryPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "allowedPaths" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "instances" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "config" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "authorizations" : {
            "description" : "???",
            "properties" : {
              "proxyStateAccess" : {
                "type" : "boolean",
                "description" : "???"
              },
              "httpAccess" : {
                "type" : "boolean",
                "description" : "???"
              },
              "globalMapAccess" : {
                "description" : "???",
                "properties" : {
                  "read" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "write" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "pluginDataStoreAccess" : {
                "description" : "???",
                "properties" : {
                  "read" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "write" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "pluginMapAccess" : {
                "description" : "???",
                "properties" : {
                  "read" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "write" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "proxyHttpCallTimeout" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "configurationAccess" : {
                "type" : "boolean",
                "description" : "???"
              },
              "globalDataStoreAccess" : {
                "description" : "???",
                "properties" : {
                  "read" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "write" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "opa" : {
            "type" : "boolean",
            "description" : "???"
          },
          "wasi" : {
            "type" : "boolean",
            "description" : "???"
          },
          "functionName" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "interval" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "initial_delay" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "raw_config" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "Unknown" : {
    "type" : "object",
    "description" : "value used by the openapi generator when no matching type found. Should be fixed in a near future."
  },
  "otoroshi.next.plugins.NgBiscuitConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "legacy" : {
        "description" : "???",
        "properties" : {
          "facts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "publicKey" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enforce" : {
            "type" : "boolean",
            "description" : "???"
          },
          "extractorName" : {
            "type" : "string",
            "description" : "???"
          },
          "checks" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "extractor" : {
            "type" : "string",
            "description" : "???"
          },
          "revocation_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "rules" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.authcallers.OAuth2CallerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "method" : {
        "type" : "string",
        "description" : "???"
      },
      "url" : {
        "type" : "string",
        "description" : "???"
      },
      "tlsConfig" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "kind" : {
        "description" : "The kind of oauth2 flow",
        "type" : "string",
        "enum" : [ "client_credentials", "password" ]
      },
      "password" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "cacheTokenSeconds" : {
        "type" : "number",
        "description" : "???"
      },
      "headerValueFormat" : {
        "type" : "string",
        "description" : "???"
      },
      "user" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "headerName" : {
        "type" : "string",
        "description" : "???"
      },
      "clientSecret" : {
        "type" : "string",
        "description" : "???"
      },
      "scope" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "jsonPayload" : {
        "type" : "boolean",
        "description" : "???"
      },
      "clientId" : {
        "type" : "string",
        "description" : "???"
      },
      "audience" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.MissingHeadersOut" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.oidc.ThirdPartyApiKeyConfigType" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.authcallers.BasicAuthCaller" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.Keys" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.CustomHeadersAuthConstraints" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "clientIdHeaderName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "clientSecretHeaderName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.OIDCAccessTokenConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "at_least_one" : {
        "type" : "boolean",
        "description" : "???"
      },
      "config" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "subject_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "serial_numbers" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "issuer_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "regex_issuer_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "regex_subject_dns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.models.TlsSettings" : {
    "type" : "object",
    "description" : "Global TLS settings. The default domain that will be picked if no certificate matches the current request",
    "properties" : {
      "trustedCAsServer" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "List for CAs trusted by otoroshi when performing TLS termination"
      },
      "includeJdkCaClient" : {
        "type" : "boolean",
        "description" : "Use known JDK CAs to build trust when performing request from otoroshi to backends"
      },
      "randomIfNotFound" : {
        "type" : "boolean",
        "description" : "Use a random one"
      },
      "defaultDomain" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "includeJdkCaServer" : {
        "type" : "boolean",
        "description" : "Use known JDK CAs to build trust for incoming request"
      }
    }
  },
  "otoroshi.models.MetricsSettings" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of exporter",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
      },
      "labels" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.OIDCAccessTokenAsApikey" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "at_least_one" : {
        "type" : "boolean",
        "description" : "???"
      },
      "config" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.models.Sign" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of strategy",
        "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
      },
      "verificationSettings" : {
        "description" : "Verification settings",
        "properties" : {
          "fields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields validation"
          },
          "arrayFields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields array validation"
          }
        },
        "type" : "object"
      },
      "algoSettings" : {
        "description" : "Re-signing jwt token settings",
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "jwt token re-sign policy settings"
  },
  "otoroshi.plugins.mirror.MirroringEvent" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ctx" : {
        "description" : "???",
        "properties" : {
          "descriptor" : {
            "description" : "???",
            "properties" : {
              "buildMode" : {
                "type" : "boolean",
                "description" : "???"
              },
              "hosts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "privateApp" : {
                "type" : "boolean",
                "description" : "???"
              },
              "localScheme" : {
                "type" : "string",
                "description" : "???"
              },
              "authConfigRef" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "issueCertCA" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "root" : {
                "type" : "string",
                "description" : "???"
              },
              "name" : {
                "type" : "string",
                "description" : "???"
              },
              "additionalHeaders" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "domain" : {
                "type" : "string",
                "description" : "???"
              },
              "clientConfig" : {
                "description" : "???",
                "properties" : {
                  "connectionTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "useCircuitBreaker" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "retryInitialDelay" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "cacheConnectionSettings" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "queueSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "proxy" : {
                    "description" : "???",
                    "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"
                      }
                    }
                  },
                  "callTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "callAndStreamTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "globalTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "maxErrors" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "retries" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "backoffFactor" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "customTimeouts" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "callAndStreamTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "callTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "idleTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "globalTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        },
                        "connectionTimeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "idleTimeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  },
                  "sampleInterval" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "matchingRoot" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "forceHttps" : {
                "type" : "boolean",
                "description" : "???"
              },
              "localHost" : {
                "type" : "string",
                "description" : "???"
              },
              "sendOtoroshiHeadersBack" : {
                "type" : "boolean",
                "description" : "???"
              },
              "healthCheck" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "timeout" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "secret", "base64" ]
                }, {
                  "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                }, {
                  "required" : [ "type", "onlyExposedCerts" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                } ],
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                }
              },
              "apiKeyConstraints" : {
                "description" : "???",
                "properties" : {
                  "customHeadersAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "clientIdHeaderName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "clientSecretHeaderName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  },
                  "routing" : {
                    "description" : "???",
                    "properties" : {
                      "oneTagIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneMetaKeysIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "oneMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "oneMetaKeyIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allMetaKeysIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneTagIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allTagsIn" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "allMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "noneMetaIn" : {
                        "type" : "object",
                        "additionalProperties" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "clientIdAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  },
                  "jwtAuth" : {
                    "description" : "???",
                    "properties" : {
                      "keyPairSigned" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "cookieName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "secretSigned" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "maxJwtLifespanSecs" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "includeRequestAttributes" : {
                        "type" : "boolean",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "basicAuth" : {
                    "description" : "???",
                    "properties" : {
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "headerName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "queryName" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      }
                    },
                    "type" : "object"
                  }
                },
                "type" : "object"
              },
              "env" : {
                "type" : "string",
                "description" : "???"
              },
              "xForwardedHeaders" : {
                "type" : "boolean",
                "description" : "???"
              },
              "transformerRefs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "gzip" : {
                "description" : "???",
                "properties" : {
                  "compressionLevel" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "blackList" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "chunkedThreshold" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "bufferSize" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "whiteList" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "secret", "base64" ]
                }, {
                  "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                }, {
                  "required" : [ "type", "onlyExposedCerts" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                } ],
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                }
              },
              "userFacing" : {
                "type" : "boolean",
                "description" : "???"
              },
              "transformerConfig" : {
                "type" : "object",
                "description" : "???"
              },
              "clientValidatorRef" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "securityExcludedPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "ipFiltering" : {
                "description" : "???",
                "properties" : {
                  "whitelist" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "blacklist" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "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" : {
                      "description" : "???",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "ipAddress" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "mtlsConfig" : {
                      "description" : "???",
                      "properties" : {
                        "mtls" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustAll" : {
                          "type" : "boolean",
                          "description" : "???"
                        },
                        "trustedCerts" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "scheme" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "redirection" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "code" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "to" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "tags" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "restrictions" : {
                "description" : "???",
                "properties" : {
                  "forbidden" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "allowed" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "notFound" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "method" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "allowLast" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "overrideHost" : {
                "type" : "boolean",
                "description" : "???"
              },
              "accessValidator" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "config" : {
                    "type" : "object",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "sendStateChallenge" : {
                "type" : "boolean",
                "description" : "???"
              },
              "chaosConfig" : {
                "description" : "???",
                "properties" : {
                  "badResponsesFaultConfig" : {
                    "description" : "Settings for bad responses",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "responses" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "status" : {
                              "type" : "integer",
                              "format" : "int32",
                              "description" : "The HTTP status for the response"
                            },
                            "body" : {
                              "type" : "string",
                              "description" : "The body of the HTTP response"
                            },
                            "headers" : {
                              "type" : "object",
                              "additionalProperties" : {
                                "type" : "string"
                              },
                              "description" : "The HTTP headers of the response"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "The possibles responses"
                      }
                    }
                  },
                  "largeRequestFaultConfig" : {
                    "description" : "Settings for large requests",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "additionalRequestSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                      }
                    }
                  },
                  "largeResponseFaultConfig" : {
                    "description" : "Settings for large responses",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "additionalResponseSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "Add n 0 bytes"
                      }
                    }
                  },
                  "latencyInjectionFaultConfig" : {
                    "description" : "Settings for latency injection",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "from" : {
                        "type" : "number",
                        "description" : "The start range of latency added to the request"
                      },
                      "to" : {
                        "type" : "number",
                        "description" : "The end range of latency added to the request"
                      }
                    }
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Whether or not this config is enabled"
                  }
                },
                "type" : "object"
              },
              "secComInfoTokenVersion" : {
                "description" : "Version of the info token",
                "type" : "string",
                "enum" : [ "Legacy", "Latest" ]
              },
              "additionalHeadersOut" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "secComHeaders" : {
                "description" : "???",
                "properties" : {
                  "claimRequestName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "stateRequestName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "stateResponseName" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "matchingHeaders" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "secComAlgoChallengeBackToOto" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "secret", "base64" ]
                }, {
                  "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                }, {
                  "required" : [ "type", "onlyExposedCerts" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                } ],
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                }
              },
              "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" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "secret", "base64" ]
                }, {
                  "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                }, {
                  "required" : [ "type", "onlyExposedCerts" ]
                }, {
                  "required" : [ "type", "size", "certId" ]
                }, {
                  "required" : [ "type", "size", "publicKey", "privateKey" ]
                } ],
                "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" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "certId" : {
                    "type" : "string",
                    "description" : "Certificate id"
                  },
                  "secret" : {
                    "type" : "string",
                    "description" : "HMAC secret"
                  },
                  "base64" : {
                    "type" : "boolean",
                    "description" : "The secret is base64 encoded"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "JWKS url"
                  },
                  "tlsConfig" : {
                    "description" : "TLS config",
                    "properties" : {
                      "mtls" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "loose" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustAll" : {
                        "type" : "boolean",
                        "description" : "???"
                      },
                      "trustedCerts" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      },
                      "certs" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "kty" : {
                    "type" : "string",
                    "description" : "Key type"
                  },
                  "proxy" : {
                    "description" : "Web proxy for http client",
                    "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"
                      }
                    }
                  },
                  "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"
                  },
                  "onlyExposedCerts" : {
                    "type" : "boolean",
                    "description" : "Use only exposed certs"
                  }
                }
              },
              "handleLegacyDomain" : {
                "type" : "boolean",
                "description" : "???"
              },
              "canary" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "traffic" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "???"
                  },
                  "targets" : {
                    "type" : "array",
                    "items" : {
                      "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" : {
                          "description" : "???",
                          "properties" : {
                            "type" : {
                              "type" : "string",
                              "description" : "the kind of predicate",
                              "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            },
                            "dc" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "positions" : {
                              "type" : "array",
                              "items" : {
                                "properties" : {
                                  "latitude" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  },
                                  "longitude" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  },
                                  "radius" : {
                                    "type" : "number",
                                    "format" : "double",
                                    "description" : "???"
                                  }
                                },
                                "type" : "object"
                              },
                              "description" : "???"
                            },
                            "provider" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "dataCenter" : {
                              "description" : "null type",
                              "type" : "string",
                              "nullable" : true
                            },
                            "rack" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "region" : {
                              "type" : "string",
                              "description" : "???"
                            },
                            "zone" : {
                              "type" : "string",
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "ipAddress" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "mtlsConfig" : {
                          "description" : "???",
                          "properties" : {
                            "mtls" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "loose" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "trustAll" : {
                              "type" : "boolean",
                              "description" : "???"
                            },
                            "trustedCerts" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "???"
                            },
                            "certs" : {
                              "type" : "array",
                              "items" : {
                                "type" : "string"
                              },
                              "description" : "???"
                            }
                          },
                          "type" : "object"
                        },
                        "scheme" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "???"
                  },
                  "root" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "_loc" : {
                "description" : "???",
                "properties" : {
                  "tenant" : {
                    "description" : "Organization of the current entity",
                    "type" : "string"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Teams of the current entity"
                  }
                },
                "type" : "object"
              },
              "plugins" : {
                "description" : "???",
                "properties" : {
                  "config" : {
                    "type" : "object",
                    "description" : "Plugins configuration"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Plugins enabled"
                  },
                  "excluded" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Excluded paths"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Enabled plugins"
                  }
                },
                "type" : "object"
              },
              "secComTtl" : {
                "type" : "number",
                "description" : "???"
              },
              "description" : {
                "type" : "string",
                "description" : "???"
              },
              "secComVersion" : {
                "description" : "Version of the challenge token",
                "type" : "string",
                "enum" : [ "V1", "v2" ]
              },
              "preRouting" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "refs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "config" : {
                    "type" : "object",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "groups" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "readOnly" : {
                "type" : "boolean",
                "description" : "???"
              },
              "privatePatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "targetsLoadBalancing" : {
                "description" : "???",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                  },
                  "ratio" : {
                    "type" : "number",
                    "format" : "double"
                  }
                },
                "type" : "object"
              },
              "cors" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "allowCredentials" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "maxAge" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "allowMethods" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allowHeaders" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "exposeHeaders" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "allowOrigin" : {
                    "type" : "string",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "metadata" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "publicPatterns" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "api" : {
                "description" : "???",
                "properties" : {
                  "exposeApi" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "openApiDescriptorUrl" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "missingOnlyHeadersIn" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "issueCert" : {
                "type" : "boolean",
                "description" : "???"
              },
              "headersVerification" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "jwtVerifier" : {
                "description" : "???",
                "type" : "object",
                "oneOfConstraints" : [ {
                  "required" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata" ]
                }, {
                  "required" : [ "type", "strict", "source", "algoSettings", "enabled", "excludedPatterns", "strategy" ]
                }, {
                  "required" : [ "type", "excludedPatterns", "enabled", "ids" ]
                } ],
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "description" : "the kind of verifier",
                    "enum" : [ "global", "local", "ref" ]
                  },
                  "desc" : {
                    "type" : "string",
                    "description" : "Verifier description"
                  },
                  "name" : {
                    "type" : "string",
                    "description" : "Verifier name"
                  },
                  "strict" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "source" : {
                    "description" : "???",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "name" ]
                    }, {
                      "required" : [ "type", "name", "remove" ]
                    }, {
                      "required" : [ "type", "name" ]
                    } ],
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of location",
                        "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                      },
                      "name" : {
                        "type" : "string",
                        "description" : "Query param name"
                      },
                      "remove" : {
                        "type" : "string",
                        "description" : "Remove from value"
                      }
                    }
                  },
                  "algoSettings" : {
                    "description" : "???",
                    "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" : {
                        "description" : "null type",
                        "type" : "string",
                        "nullable" : true
                      },
                      "certId" : {
                        "type" : "string",
                        "description" : "Certificate id"
                      },
                      "secret" : {
                        "type" : "string",
                        "description" : "HMAC secret"
                      },
                      "base64" : {
                        "type" : "boolean",
                        "description" : "The secret is base64 encoded"
                      },
                      "url" : {
                        "type" : "string",
                        "description" : "JWKS url"
                      },
                      "tlsConfig" : {
                        "description" : "TLS config",
                        "properties" : {
                          "mtls" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "loose" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustAll" : {
                            "type" : "boolean",
                            "description" : "???"
                          },
                          "trustedCerts" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          },
                          "certs" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string"
                            },
                            "description" : "???"
                          }
                        },
                        "type" : "object"
                      },
                      "kty" : {
                        "type" : "string",
                        "description" : "Key type"
                      },
                      "proxy" : {
                        "description" : "Web proxy for http client",
                        "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"
                          }
                        }
                      },
                      "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"
                      },
                      "onlyExposedCerts" : {
                        "type" : "boolean",
                        "description" : "Use only exposed certs"
                      }
                    },
                    "type" : "object"
                  },
                  "tags" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "Entity tags"
                  },
                  "id" : {
                    "type" : "string",
                    "description" : "Verifier id"
                  },
                  "_loc" : {
                    "description" : "Entity location",
                    "properties" : {
                      "tenant" : {
                        "description" : "Organization of the current entity",
                        "type" : "string"
                      },
                      "teams" : {
                        "type" : "array",
                        "items" : {
                          "type" : "string"
                        },
                        "description" : "Teams of the current entity"
                      }
                    },
                    "type" : "object"
                  },
                  "strategy" : {
                    "description" : "???",
                    "type" : "object",
                    "oneOfConstraints" : [ {
                      "required" : [ "type", "strict", "token", "verificationSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings", "algoSettings" ]
                    }, {
                      "required" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
                    } ],
                    "properties" : {
                      "type" : {
                        "type" : "string",
                        "description" : "the kind of strategy",
                        "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                      },
                      "strict" : {
                        "type" : "boolean",
                        "description" : "If the token already exists in the request, then fail"
                      },
                      "token" : {
                        "type" : "object",
                        "description" : "The default token"
                      },
                      "verificationSettings" : {
                        "description" : "Verification settings",
                        "properties" : {
                          "fields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Fields validation"
                          },
                          "arrayFields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "string"
                            },
                            "description" : "Fields array validation"
                          }
                        },
                        "type" : "object"
                      },
                      "algoSettings" : {
                        "description" : "Algorithm settings for re-signing token",
                        "type" : "object",
                        "oneOfConstraints" : [ {
                          "required" : [ "type", "size", "publicKey", "privateKey" ]
                        }, {
                          "required" : [ "type", "size", "certId" ]
                        }, {
                          "required" : [ "type", "size", "secret", "base64" ]
                        }, {
                          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
                        }, {
                          "required" : [ "type", "onlyExposedCerts" ]
                        }, {
                          "required" : [ "type", "size", "certId" ]
                        }, {
                          "required" : [ "type", "size", "publicKey", "privateKey" ]
                        } ],
                        "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" : {
                            "description" : "null type",
                            "type" : "string",
                            "nullable" : true
                          },
                          "certId" : {
                            "type" : "string",
                            "description" : "Certificate id"
                          },
                          "secret" : {
                            "type" : "string",
                            "description" : "HMAC secret"
                          },
                          "base64" : {
                            "type" : "boolean",
                            "description" : "The secret is base64 encoded"
                          },
                          "url" : {
                            "type" : "string",
                            "description" : "JWKS url"
                          },
                          "tlsConfig" : {
                            "description" : "TLS config",
                            "properties" : {
                              "mtls" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "loose" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "trustAll" : {
                                "type" : "boolean",
                                "description" : "???"
                              },
                              "trustedCerts" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "???"
                              },
                              "certs" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "kty" : {
                            "type" : "string",
                            "description" : "Key type"
                          },
                          "proxy" : {
                            "description" : "Web proxy for http client",
                            "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"
                              }
                            }
                          },
                          "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"
                          },
                          "onlyExposedCerts" : {
                            "type" : "boolean",
                            "description" : "Use only exposed certs"
                          }
                        }
                      },
                      "transformSettings" : {
                        "description" : "Transformation settings",
                        "properties" : {
                          "location" : {
                            "description" : "Location of the token",
                            "properties" : {
                              "type" : {
                                "type" : "string",
                                "description" : "the kind of location",
                                "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
                              },
                              "name" : {
                                "type" : "string",
                                "description" : "Query param name"
                              },
                              "remove" : {
                                "type" : "string",
                                "description" : "Remove from value"
                              }
                            },
                            "type" : "object"
                          },
                          "mappingSettings" : {
                            "description" : "Token mapping settings",
                            "properties" : {
                              "map" : {
                                "type" : "object",
                                "additionalProperties" : {
                                  "type" : "string"
                                },
                                "description" : "Change values"
                              },
                              "values" : {
                                "type" : "object",
                                "description" : "Add values"
                              },
                              "remove" : {
                                "type" : "array",
                                "items" : {
                                  "type" : "string"
                                },
                                "description" : "Remove some token claims"
                              }
                            },
                            "type" : "object"
                          }
                        },
                        "type" : "object"
                      }
                    }
                  },
                  "metadata" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "string"
                    },
                    "description" : "Entity metadata"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "excludedPatterns" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "ids" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                }
              },
              "letsEncrypt" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "id" : {
            "type" : "string",
            "description" : "???"
          },
          "config" : {
            "description" : "???",
            "properties" : {
              "conf" : {
                "type" : "object",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.models.PassThrough" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of strategy",
        "enum" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
      },
      "verificationSettings" : {
        "description" : "Verification settings",
        "properties" : {
          "fields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields validation"
          },
          "arrayFields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Fields array validation"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "jwt token validation policicy that just validate the token"
  },
  "otoroshi.plugins.external.ExternalHttpValidatorConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "config" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.wasm.proxywasm.CorazaWafConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "inspectBody" : {
        "type" : "boolean",
        "description" : "???"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "poolCapacity" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "name" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "config" : {
        "type" : "object",
        "description" : "???"
      },
      "description" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.geoloc.MaxMindGeolocationInfoExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgHeaderNamesConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "names" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.NgRouteCompositionDataStore" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.events.PulsarConfig" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of exporter",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
      },
      "tlsTrustCertsFilePath" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "tenant" : {
        "type" : "string",
        "description" : "???"
      },
      "uri" : {
        "type" : "string",
        "description" : "???"
      },
      "mtlsConfig" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "topic" : {
        "type" : "string",
        "description" : "???"
      },
      "namespace" : {
        "type" : "string",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "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" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "clientSideSessionEnabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "emailAttributeName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "validatingCertificates" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "singleLogoutProtocolBinding" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "sessionMaxAge" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "issuer" : {
        "type" : "string",
        "description" : "???"
      },
      "signature" : {
        "description" : "???",
        "properties" : {
          "algorithm" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          },
          "canocalizationMethod" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "userValidators" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "singleLogoutUrl" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "usedNameIDAsEmail" : {
        "type" : "boolean",
        "description" : "???"
      },
      "singleSignOnUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "validateAssertions" : {
        "type" : "boolean",
        "description" : "???"
      },
      "nameIDFormat" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "validateSignature" : {
        "type" : "boolean",
        "description" : "???"
      },
      "credentials" : {
        "description" : "???",
        "properties" : {
          "signingKey" : {
            "description" : "???",
            "properties" : {
              "certificate" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "privateKey" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "useOtoroshiCertificate" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "encryptionKey" : {
            "description" : "???",
            "properties" : {
              "certificate" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "privateKey" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "useOtoroshiCertificate" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "signedDocuments" : {
            "type" : "boolean",
            "description" : "???"
          },
          "encryptedAssertions" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "sessionCookieValues" : {
        "description" : "???",
        "properties" : {
          "httpOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.api.TweakedGlobalConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "config" : {
        "description" : "???",
        "properties" : {
          "geolocationSettings" : {
            "description" : "Settings for geolocation extraction",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type", "enabled", "apikey", "timeout" ]
            }, {
              "required" : [ "type", "enabled", "path" ]
            }, {
              "required" : [ "type" ]
            } ],
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [ "none" ]
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Geolocation using maxmind db enabled"
              },
              "apikey" : {
                "type" : "string",
                "description" : "IpStack apikey"
              },
              "timeout" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "API call timeout"
              },
              "path" : {
                "type" : "string",
                "description" : "Maxmlind db file path"
              }
            }
          },
          "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" : {
            "description" : "Optional CleverCloud configuration",
            "type" : "object",
            "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"
              }
            }
          },
          "templates" : {
            "description" : "The otoroshi default templates for entities",
            "properties" : {
              "team" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "script" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "apikey" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "group" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "tcpService" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "verifier" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "service" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "target" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certificate" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "dataExporter" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "route" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "backend" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "template" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "tenant" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "authConfig" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "descriptor" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "endlessIpAddresses" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "IP addresses for which any request to Otoroshi will respond with 128 Gb of zeros"
          },
          "plugins" : {
            "description" : "global plugins settings",
            "properties" : {
              "config" : {
                "type" : "object",
                "description" : "Plugins configuration"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Plugins enabled"
              },
              "excluded" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Excluded paths"
              },
              "refs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Enabled plugins"
              }
            },
            "type" : "object"
          },
          "kafkaConfig" : {
            "description" : "Kafka settings",
            "type" : "object",
            "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" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "hostValidation" : {
                "type" : "boolean",
                "description" : "Enabled TLS hostname validation"
              },
              "servers" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "URLs of the kafka servers"
              },
              "mtlsConfig" : {
                "description" : "TLS config to access the cluster",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "securityProtocol" : {
                "type" : "string",
                "description" : "Used security protocol"
              },
              "keystore" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "topic" : {
                "type" : "string",
                "description" : "Optional kafka topic (otoroshi-events by default)"
              },
              "keyPass" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "saslConfig" : {
                "description" : "SASL configuration",
                "type" : "object",
                "properties" : {
                  "username" : {
                    "type" : "string",
                    "description" : "SASL username"
                  },
                  "password" : {
                    "type" : "string",
                    "description" : "SASL password"
                  },
                  "mechanism" : {
                    "type" : "string",
                    "description" : "SASL login mechanism"
                  }
                }
              }
            }
          },
          "maxLogsSize" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of events kept locally"
          },
          "proxies" : {
            "description" : "Web proxies settings",
            "properties" : {
              "elastic" : {
                "description" : "Web proxy used to call elastic",
                "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"
                  }
                }
              },
              "eventsWebhooks" : {
                "description" : "Web proxy used to call webhooks",
                "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"
                  }
                }
              },
              "jwk" : {
                "description" : "Web proxy used to fetch jwks",
                "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"
                  }
                }
              },
              "auth" : {
                "description" : "Web proxy used to call OAuth providers",
                "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"
                  }
                }
              },
              "clevercloud" : {
                "description" : "Web proxy used to call clevercloud",
                "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"
                  }
                }
              },
              "alertEmails" : {
                "description" : "Web proxy used to send alert emails",
                "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"
                  }
                }
              },
              "authority" : {
                "description" : "Web proxy used to check authorities",
                "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"
                  }
                }
              },
              "services" : {
                "description" : "Web proxy used to access services targets",
                "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"
                  }
                }
              }
            },
            "type" : "object"
          },
          "enableEmbeddedMetrics" : {
            "type" : "boolean",
            "description" : "Enable embedded metrics"
          },
          "elasticReadsConfig" : {
            "description" : "Config. for elastic reads",
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "null type",
                "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ],
                "nullable" : true
              },
              "sendWorkers" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "applyTemplate" : {
                "type" : "boolean",
                "description" : "Enable template creation/update"
              },
              "uris" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "mtlsConfig" : {
                "description" : "TLS settings for the http client",
                "properties" : {
                  "mtls" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "loose" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustAll" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "trustedCerts" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  },
                  "certs" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    },
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "version" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "maxBulkSize" : {
                "type" : "integer",
                "format" : "int32",
                "description" : "???"
              },
              "headers" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "Additionnal headers in the http request"
              },
              "indexSettings" : {
                "description" : "Indexation settings",
                "properties" : {
                  "clientSide" : {
                    "type" : "boolean",
                    "description" : "Enable index splitting on client side"
                  },
                  "numberOfShards" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "numberOfReplicas" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  },
                  "interval" : {
                    "description" : "Index splitting interval",
                    "properties" : { },
                    "type" : "object"
                  }
                },
                "type" : "object"
              },
              "user" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "index" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "password" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            }
          },
          "trustXForwarded" : {
            "type" : "boolean",
            "description" : "Use X-Forwarded-* headers for routing"
          },
          "quotasSettings" : {
            "description" : "Settings to generate alert when an apikey almost exceeded or exceeded its quotas",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "Is quotas alert enabled"
              },
              "dailyQuotasThreshold" : {
                "type" : "number",
                "format" : "double",
                "description" : "The daily quotas threshold before generating alert"
              },
              "monthlyQuotasThreshold" : {
                "type" : "number",
                "format" : "double",
                "description" : "The monthly quotas threshold before generating alert"
              }
            },
            "type" : "object"
          },
          "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" : {
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "null type",
                  "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ],
                  "nullable" : true
                },
                "sendWorkers" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "applyTemplate" : {
                  "type" : "boolean",
                  "description" : "Enable template creation/update"
                },
                "uris" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "???"
                },
                "mtlsConfig" : {
                  "description" : "TLS settings for the http client",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "version" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "maxBulkSize" : {
                  "type" : "integer",
                  "format" : "int32",
                  "description" : "???"
                },
                "headers" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "string"
                  },
                  "description" : "Additionnal headers in the http request"
                },
                "indexSettings" : {
                  "description" : "Indexation settings",
                  "properties" : {
                    "clientSide" : {
                      "type" : "boolean",
                      "description" : "Enable index splitting on client side"
                    },
                    "numberOfShards" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    },
                    "numberOfReplicas" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "???"
                    },
                    "interval" : {
                      "description" : "Index splitting interval",
                      "properties" : { },
                      "type" : "object"
                    }
                  },
                  "type" : "object"
                },
                "user" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "index" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "password" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                }
              },
              "type" : "object"
            },
            "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "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" : {
            "description" : "Optional mailer configuration",
            "type" : "object",
            "oneOfConstraints" : [ {
              "required" : [ "type" ]
            }, {
              "required" : [ "type", "url", "headers", "to" ]
            }, {
              "required" : [ "type", "eu", "apiKey", "domain", "to" ]
            }, {
              "required" : [ "type", "apiKeyPublic", "apiKeyPrivate", "to" ]
            }, {
              "required" : [ "type" ]
            }, {
              "required" : [ "type", "apiKey", "to" ]
            } ],
            "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" : {
                  "properties" : {
                    "name" : {
                      "type" : "string",
                      "description" : "Destination name"
                    },
                    "email" : {
                      "type" : "string",
                      "description" : "Email address"
                    }
                  },
                  "type" : "object"
                },
                "description" : "Destination email address"
              },
              "eu" : {
                "type" : "boolean",
                "description" : "European tenant"
              },
              "apiKey" : {
                "type" : "string",
                "description" : "Sendgrid apikey"
              },
              "domain" : {
                "type" : "string",
                "description" : "Mailgun domain"
              },
              "apiKeyPublic" : {
                "type" : "string",
                "description" : "Public key"
              },
              "apiKeyPrivate" : {
                "type" : "string",
                "description" : "Private key"
              }
            }
          },
          "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" : {
              "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" : {
                  "description" : "TLS config when calling webhook",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                }
              },
              "type" : "object"
            },
            "description" : "Webhook that will receive all internal Otoroshi events"
          },
          "autoCert" : {
            "description" : "Auto certs settings",
            "properties" : {
              "allowed" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "allowed domains"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Enable auto cert"
              },
              "replyNicely" : {
                "type" : "boolean",
                "description" : "Reply TLS error with an auto generated certificate for the domain"
              },
              "notAllowed" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "not allowed domains"
              },
              "caRef" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "maintenanceMode" : {
            "type" : "boolean",
            "description" : "Global maintenant mode"
          },
          "initWithNewEngine" : {
            "type" : "boolean",
            "description" : "Was this instance init with new engine as default"
          },
          "letsEncryptSettings" : {
            "description" : "Let's encrypt (ACME) settings",
            "properties" : {
              "privateKey" : {
                "type" : "string",
                "description" : "Let's encrypt (ACME) private key"
              },
              "contacts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Let's encrypt (ACME) contacts"
              },
              "emails" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Let's encrypt (ACME) contact emails"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Let's encrypt (ACME) enabled"
              },
              "publicKey" : {
                "type" : "string",
                "description" : "Let's encrypt (ACME) public key"
              },
              "server" : {
                "type" : "string",
                "description" : "Let's encrypt (ACME) server"
              }
            },
            "type" : "object"
          },
          "snowMonkeyConfig" : {
            "description" : "Snowmonky settings",
            "properties" : {
              "dryRun" : {
                "type" : "boolean",
                "description" : "Whether or not outages will actualy impact requests"
              },
              "outageDurationTo" : {
                "type" : "number",
                "description" : "End of outage duration range"
              },
              "chaosConfig" : {
                "description" : "Chaos settings",
                "properties" : {
                  "badResponsesFaultConfig" : {
                    "description" : "Settings for bad responses",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "responses" : {
                        "type" : "array",
                        "items" : {
                          "properties" : {
                            "status" : {
                              "type" : "integer",
                              "format" : "int32",
                              "description" : "The HTTP status for the response"
                            },
                            "body" : {
                              "type" : "string",
                              "description" : "The body of the HTTP response"
                            },
                            "headers" : {
                              "type" : "object",
                              "additionalProperties" : {
                                "type" : "string"
                              },
                              "description" : "The HTTP headers of the response"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "The possibles responses"
                      }
                    }
                  },
                  "largeRequestFaultConfig" : {
                    "description" : "Settings for large requests",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "additionalRequestSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "The size added to the request body in bytes. Added payload will be spaces only."
                      }
                    }
                  },
                  "largeResponseFaultConfig" : {
                    "description" : "Settings for large responses",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "additionalResponseSize" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "Add n 0 bytes"
                      }
                    }
                  },
                  "latencyInjectionFaultConfig" : {
                    "description" : "Settings for latency injection",
                    "type" : "object",
                    "properties" : {
                      "ratio" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
                      },
                      "from" : {
                        "type" : "number",
                        "description" : "The start range of latency added to the request"
                      },
                      "to" : {
                        "type" : "number",
                        "description" : "The end range of latency added to the request"
                      }
                    }
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "Whether or not this config is enabled"
                  }
                },
                "type" : "object"
              },
              "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" : {
                "description" : "",
                "type" : "string",
                "enum" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
              }
            },
            "type" : "object"
          },
          "scripts" : {
            "description" : "global plugins settings. will be deprecated soon",
            "properties" : {
              "jobConfig" : {
                "type" : "object",
                "description" : "jobs enabled"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "Global scripts enabled"
              },
              "transformersConfig" : {
                "type" : "object",
                "description" : "transformers config"
              },
              "transformersRefs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "transformers enabled"
              },
              "preRouteRefs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "pre-route plugins enabled"
              },
              "sinkConfig" : {
                "type" : "object",
                "description" : "sinks config"
              },
              "jobRefs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "running jobs"
              },
              "validatorRefs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "validator enabled"
              },
              "sinkRefs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "sinks enabled"
              },
              "preRouteConfig" : {
                "type" : "object",
                "description" : "pre-route config"
              },
              "validatorConfig" : {
                "type" : "object",
                "description" : "validator config"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "TLS settings",
            "properties" : {
              "trustedCAsServer" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "List for CAs trusted by otoroshi when performing TLS termination"
              },
              "includeJdkCaClient" : {
                "type" : "boolean",
                "description" : "Use known JDK CAs to build trust when performing request from otoroshi to backends"
              },
              "randomIfNotFound" : {
                "type" : "boolean",
                "description" : "Use a random one"
              },
              "defaultDomain" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "includeJdkCaServer" : {
                "type" : "boolean",
                "description" : "Use known JDK CAs to build trust for incoming request"
              }
            },
            "type" : "object"
          },
          "statsdConfig" : {
            "description" : "Statsd settings (agent connection)",
            "type" : "object",
            "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"
              }
            }
          },
          "autoLinkToDefaultGroup" : {
            "type" : "boolean",
            "description" : "If not defined, every new service descriptor will be added to the default group"
          },
          "alertsWebhooks" : {
            "type" : "array",
            "items" : {
              "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" : {
                  "description" : "TLS config when calling webhook",
                  "properties" : {
                    "mtls" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "loose" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustAll" : {
                      "type" : "boolean",
                      "description" : "???"
                    },
                    "trustedCerts" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    },
                    "certs" : {
                      "type" : "array",
                      "items" : {
                        "type" : "string"
                      },
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                }
              },
              "type" : "object"
            },
            "description" : "Webhook that will receive all Otoroshi alert events"
          },
          "ipFiltering" : {
            "description" : "Global ip filtering settings",
            "properties" : {
              "whitelist" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "blacklist" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "u2fLoginOnly" : {
            "type" : "boolean",
            "description" : "If enabled, login to backoffice through Auth0 will be disabled"
          },
          "userAgentSettings" : {
            "description" : "Settings for useragent extraction",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "User agent extraction enabled"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.HMACValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "secret" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.next.plugins.MockResponseNotFoundException" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "message" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesCRDsJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.Restrictions" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "forbidden" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "allowed" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "notFound" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "allowLast" : {
        "type" : "boolean",
        "description" : "???"
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgLargeRequestFaultConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "additional_request_size" : {
        "type" : "integer",
        "format" : "int32",
        "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.next.plugins.RBACConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "roles" : {
        "type" : "string",
        "description" : "???"
      },
      "allow" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "allow_all" : {
        "type" : "boolean",
        "description" : "???"
      },
      "role_prefix" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "jwt_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "apikey_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "deny" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "user_path" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "deny_all" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.biscuit.VerificationContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgCanarySettings" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "traffic" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "root" : {
        "type" : "string",
        "description" : "???"
      },
      "targets" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "ip_address" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "protocol" : {
              "type" : "string",
              "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
              "description" : "Protocol for the target"
            },
            "predicate" : {
              "description" : "Predicate to choose this target",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "the kind of predicate",
                  "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                },
                "dc" : {
                  "type" : "string",
                  "description" : "???"
                },
                "positions" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "latitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "longitude" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      },
                      "radius" : {
                        "type" : "number",
                        "format" : "double",
                        "description" : "???"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "???"
                },
                "provider" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "dataCenter" : {
                  "description" : "null type",
                  "type" : "string",
                  "nullable" : true
                },
                "rack" : {
                  "type" : "string",
                  "description" : "???"
                },
                "region" : {
                  "type" : "string",
                  "description" : "???"
                },
                "zone" : {
                  "type" : "string",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "tls_config" : {
              "description" : "TLS settings to contact this target",
              "properties" : {
                "enabled" : {
                  "type" : "boolean",
                  "description" : "Enabled"
                },
                "certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Trusted cert. ids"
                },
                "loose" : {
                  "type" : "boolean",
                  "description" : "Loose verification"
                },
                "trust_all" : {
                  "type" : "boolean",
                  "description" : "Trust any certificate"
                },
                "trusted_certs" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  },
                  "description" : "Trusted cert. ids"
                }
              },
              "type" : "object"
            },
            "tls" : {
              "type" : "boolean",
              "description" : "Does the target uses TLS"
            },
            "port" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "port of the target"
            },
            "id" : {
              "type" : "string",
              "description" : "id of the target"
            },
            "weight" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "The weight of the target when choosing"
            },
            "hostname" : {
              "type" : "string",
              "description" : "hostname of the target"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "TLS config",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "kty" : {
        "type" : "string",
        "description" : "Key type"
      },
      "proxy" : {
        "description" : "Web proxy for http client",
        "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"
          }
        }
      },
      "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.plugins.hmac.HMACUtils" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.authcallers.ForceRetryException" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.StaticBackend" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "root_path" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgTrafficMirroring" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "legacy" : {
        "description" : "???",
        "properties" : {
          "conf" : {
            "type" : "object",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.GraphlCallException" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "message" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.RoutingStrategy" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.TailscaleSelectTargetByNameConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "machine_name" : {
        "type" : "string",
        "description" : "???"
      },
      "use_ip_address" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.IpAddressBlockList" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "addresses" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.biscuit.SealedBiscuitToken" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "token" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.IpFiltering" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "whitelist" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "blacklist" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.quotas.ServiceQuotas" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesCertSyncJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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.next.models.NgMatchedRoute" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "route" : {
        "description" : "???",
        "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" : {
            "description" : "The frontend of the route",
            "properties" : {
              "headers" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "the headers that will be matched"
              },
              "query" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "the query params that will be matched"
              },
              "domains" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "The domain and path that will be matched"
              },
              "methods" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "the http methods that will be matched"
              },
              "exact" : {
                "type" : "boolean",
                "description" : "Match on exact path ?"
              },
              "strip_path" : {
                "type" : "boolean",
                "description" : "Is path stripped from backend request"
              }
            },
            "type" : "object"
          },
          "_loc" : {
            "description" : "The location of the route",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "description" : "The description of the route"
          },
          "backend" : {
            "description" : "The backend of the route",
            "properties" : {
              "root" : {
                "type" : "string",
                "description" : "The root path of the backend or the full rewrite path"
              },
              "health_check" : {
                "description" : "???",
                "type" : "object",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "url" : {
                    "type" : "string",
                    "description" : "???"
                  },
                  "timeout" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "???"
                  }
                }
              },
              "client" : {
                "description" : "Client config. of the backend",
                "properties" : {
                  "idle_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Timeout on idle connection"
                  },
                  "sample_interval" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the sliding window time for the circuit breaker in milliseconds, after this time, error count will be reseted"
                  },
                  "cache_connection_settings" : {
                    "description" : "Cached connection settings",
                    "properties" : {
                      "queue_size" : {
                        "type" : "integer",
                        "format" : "int32",
                        "description" : "How much request can be queue before dropping it"
                      },
                      "enabled" : {
                        "type" : "boolean",
                        "description" : "Is cached connection enabled"
                      }
                    },
                    "type" : "object"
                  },
                  "call_and_stream_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                  },
                  "custom_timeouts" : {
                    "type" : "array",
                    "items" : {
                      "properties" : {
                        "connection_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Timeout at connection"
                        },
                        "call_and_stream_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long each call should last at most in milliseconds (hard timeout, connection will be closed after that duration)"
                        },
                        "path" : {
                          "type" : "string",
                          "description" : "path on which this configuration works"
                        },
                        "call_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                        },
                        "idle_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Timeout on idle connection"
                        },
                        "global_timeout" : {
                          "type" : "integer",
                          "format" : "int64",
                          "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Custom timeouts per path"
                  },
                  "connection_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Timeout at connection"
                  },
                  "call_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long each call should last at most in milliseconds (soft timeout as it's enforced by the circuit breaker)"
                  },
                  "global_timeout" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify how long the global call (with retries) should last at most in milliseconds"
                  },
                  "retry_initial_delay" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the delay between two retries. Each retry, the delay is multiplied by the backoff factor"
                  },
                  "backoff_factor" : {
                    "type" : "integer",
                    "format" : "int64",
                    "description" : "Specify the factor to multiply the delay for each retry"
                  },
                  "proxy" : {
                    "description" : "Web proxy settings for http client",
                    "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"
                      }
                    }
                  },
                  "retries" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Specify how many times the client will try to fetch the result of the request after an error before giving up."
                  },
                  "max_errors" : {
                    "type" : "integer",
                    "format" : "int32",
                    "description" : "Specify how many errors can pass before opening the circuit breaker"
                  }
                },
                "type" : "object"
              },
              "load_balancing" : {
                "description" : "Loadbalancing config og the backend",
                "properties" : {
                  "type" : {
                    "type" : "string",
                    "enum" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                  },
                  "ratio" : {
                    "type" : "number",
                    "format" : "double"
                  }
                },
                "type" : "object"
              },
              "rewrite" : {
                "type" : "boolean",
                "description" : "Does the backend performs a full url rewrite ?"
              },
              "targets" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "ip_address" : {
                      "description" : "null type",
                      "type" : "string",
                      "nullable" : true
                    },
                    "protocol" : {
                      "type" : "string",
                      "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
                      "description" : "Protocol for the target"
                    },
                    "predicate" : {
                      "description" : "Predicate to choose this target",
                      "properties" : {
                        "type" : {
                          "type" : "string",
                          "description" : "the kind of predicate",
                          "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        },
                        "dc" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "positions" : {
                          "type" : "array",
                          "items" : {
                            "properties" : {
                              "latitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "longitude" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              },
                              "radius" : {
                                "type" : "number",
                                "format" : "double",
                                "description" : "???"
                              }
                            },
                            "type" : "object"
                          },
                          "description" : "???"
                        },
                        "provider" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "dataCenter" : {
                          "description" : "null type",
                          "type" : "string",
                          "nullable" : true
                        },
                        "rack" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "region" : {
                          "type" : "string",
                          "description" : "???"
                        },
                        "zone" : {
                          "type" : "string",
                          "description" : "???"
                        }
                      },
                      "type" : "object"
                    },
                    "tls_config" : {
                      "description" : "TLS settings to contact this target",
                      "properties" : {
                        "enabled" : {
                          "type" : "boolean",
                          "description" : "Enabled"
                        },
                        "certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "Trusted cert. ids"
                        },
                        "loose" : {
                          "type" : "boolean",
                          "description" : "Loose verification"
                        },
                        "trust_all" : {
                          "type" : "boolean",
                          "description" : "Trust any certificate"
                        },
                        "trusted_certs" : {
                          "type" : "array",
                          "items" : {
                            "type" : "string"
                          },
                          "description" : "Trusted cert. ids"
                        }
                      },
                      "type" : "object"
                    },
                    "tls" : {
                      "type" : "boolean",
                      "description" : "Does the target uses TLS"
                    },
                    "port" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "port of the target"
                    },
                    "id" : {
                      "type" : "string",
                      "description" : "id of the target"
                    },
                    "weight" : {
                      "type" : "integer",
                      "format" : "int32",
                      "description" : "The weight of the target when choosing"
                    },
                    "hostname" : {
                      "type" : "string",
                      "description" : "hostname of the target"
                    }
                  },
                  "type" : "object"
                },
                "description" : "The targets of the backend"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "no_more_segments" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgJwtSignerConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "verifier" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "replace_if_present" : {
        "type" : "boolean",
        "description" : "???"
      },
      "fail_if_present" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.auth.SAMLProtocolBinding" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgUserAgentInfoHeaderConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "header_name" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.MaxmindGeolocationSettings" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of geolocation",
        "enum" : [ "none", "maxmind", "ipstack" ]
      },
      "enabled" : {
        "type" : "boolean",
        "description" : "Geolocation using maxmind db enabled"
      },
      "path" : {
        "type" : "string",
        "description" : "Maxmlind db file path"
      }
    },
    "type" : "object",
    "description" : "Settings for connection to a maxmind db"
  },
  "otoroshi.next.plugins.NgLargeResponseFaultConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "???"
      },
      "additional_response_size" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.models.LatencyInjectionFaultConfig" : {
    "type" : "object",
    "description" : "Settings for a latency injection fault (chaos engineering)",
    "properties" : {
      "ratio" : {
        "type" : "number",
        "format" : "double",
        "description" : "The percentage of requests affected by this fault. Value should be between 0.0 and 1.0"
      },
      "from" : {
        "type" : "number",
        "description" : "The start range of latency added to the request"
      },
      "to" : {
        "type" : "number",
        "description" : "The end range of latency added to the request"
      }
    }
  },
  "otoroshi.plugins.oidc.OIDCAccessTokenAsApikey" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgIpAddressesConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "addresses" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "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.next.plugins.BasicAuthCaller" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "username" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "password" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "header_name" : {
        "type" : "string",
        "description" : "???"
      },
      "header_value_format" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.WasmBackend" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.utils.mailer.MailerSettings" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type" ]
    }, {
      "required" : [ "type", "url", "headers", "to" ]
    }, {
      "required" : [ "type", "eu", "apiKey", "domain", "to" ]
    }, {
      "required" : [ "type", "apiKeyPublic", "apiKeyPrivate", "to" ]
    }, {
      "required" : [ "type" ]
    }, {
      "required" : [ "type", "apiKey", "to" ]
    } ],
    "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" : {
          "properties" : {
            "name" : {
              "type" : "string",
              "description" : "Destination name"
            },
            "email" : {
              "type" : "string",
              "description" : "Email address"
            }
          },
          "type" : "object"
        },
        "description" : "Destination email address"
      },
      "eu" : {
        "type" : "boolean",
        "description" : "European tenant"
      },
      "apiKey" : {
        "type" : "string",
        "description" : "Sendgrid apikey"
      },
      "domain" : {
        "type" : "string",
        "description" : "Mailgun domain"
      },
      "apiKeyPublic" : {
        "type" : "string",
        "description" : "Public key"
      },
      "apiKeyPrivate" : {
        "type" : "string",
        "description" : "Private key"
      }
    }
  },
  "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" : {
          "properties" : {
            "rights" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "tenant" : {
                    "description" : "Access rights on organizations",
                    "properties" : {
                      "canWrite" : {
                        "type" : "boolean",
                        "description" : "Can this access right write data"
                      },
                      "value" : {
                        "type" : "string",
                        "description" : "Access pattern"
                      },
                      "canRead" : {
                        "type" : "boolean",
                        "description" : "Can this access right read data"
                      }
                    },
                    "type" : "object"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "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"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Access rights on teams"
                  }
                },
                "type" : "object"
              },
              "description" : "Access rights of a user"
            }
          },
          "type" : "object"
        },
        "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" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "userValidators" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "requestTokenURL" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "consumerSecret" : {
        "type" : "string",
        "description" : "???"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "sessionCookieValues" : {
        "description" : "???",
        "properties" : {
          "httpOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.NgJwtVerificationOnlyConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "verifier" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "fail_if_absent" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.JsonToXmlRequest" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "filter" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "otoroshi.plugins.defer.DeferPlugin" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.StaticResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "headers" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "body" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.OverrideHost" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgPublicPrivatePathsConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "strict" : {
        "type" : "boolean",
        "description" : "???"
      },
      "public_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "private_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.models.InQueryParam" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of location",
        "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
      },
      "name" : {
        "type" : "string",
        "description" : "Query param name"
      }
    },
    "type" : "object",
    "description" : "JWT token location (query param)"
  },
  "otoroshi.plugins.clientcert.ClientCertChainHeader" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.security.SecurityTxt" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.EntityLocation" : {
    "type" : "object",
    "description" : "Location of any entity (teams and organization)",
    "properties" : {
      "tenant" : {
        "description" : "Organization of the current entity",
        "type" : "string"
      },
      "teams" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "Teams of the current entity"
      }
    }
  },
  "otoroshi.next.plugins.RoutingRestrictions" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allow_last" : {
        "type" : "boolean",
        "description" : "???"
      },
      "allowed" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "forbidden" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "not_found" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "method" : {
              "type" : "string",
              "description" : "???"
            },
            "path" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.GlobalPerIpAddressThrottling" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.MissingMockResponsesException" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "message" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgDiscoverySelfRegistrationTransformer" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "raw" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.events.AuditEvent" : {
    "type" : "object",
    "description" : "Audit trail event"
  },
  "otoroshi.plugins.izanami.IzanamiProxy" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "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" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "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.next.plugins.NgLegacyApikeyCall" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "public_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "private_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "mandatory" : {
            "type" : "boolean",
            "description" : "???"
          },
          "extractors" : {
            "description" : "???",
            "properties" : {
              "basic" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "query_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "custom_headers" : {
                "description" : "???",
                "properties" : {
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "client_id_header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "client_secret_header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              },
              "client_id" : {
                "description" : "???",
                "properties" : {
                  "header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "query_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "jwt" : {
                "description" : "???",
                "properties" : {
                  "cookie_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "key_pair_signed" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "query_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  },
                  "secret_signed" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "enabled" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "include_request_attrs" : {
                    "type" : "boolean",
                    "description" : "???"
                  },
                  "header_name" : {
                    "description" : "null type",
                    "type" : "string",
                    "nullable" : true
                  }
                },
                "type" : "object"
              }
            },
            "type" : "object"
          },
          "pass_with_user" : {
            "type" : "boolean",
            "description" : "???"
          },
          "wipe_backend_request" : {
            "type" : "boolean",
            "description" : "???"
          },
          "validate" : {
            "type" : "boolean",
            "description" : "???"
          },
          "routing" : {
            "description" : "???",
            "properties" : {
              "none_meta_keys_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "all_meta_keys_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "all_meta_in" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "none_meta_in" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "one_tag_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "one_meta_in" : {
                "type" : "object",
                "additionalProperties" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "all_tags_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "one_meta_key_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "none_tag_in" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "update_quotas" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "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"
  },
  "otoroshi.next.plugins.MockField" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "field_name" : {
        "type" : "string",
        "description" : "???"
      },
      "field_type" : {
        "type" : "string",
        "description" : "???"
      },
      "value" : {
        "type" : "object",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.EndlessHttpResponse" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "finger" : {
        "type" : "boolean",
        "description" : "???"
      },
      "addresses" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.models.SecComInfoTokenVersion" : {
    "type" : "string",
    "enum" : [ "Legacy", "Latest" ],
    "description" : "Version of the info token"
  },
  "otoroshi.next.plugins.S3Backend" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "writeEvery" : {
        "type" : "number",
        "description" : "???"
      },
      "chunkSize" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "bucket" : {
        "type" : "string",
        "description" : "???"
      },
      "key" : {
        "type" : "string",
        "description" : "???"
      },
      "endpoint" : {
        "type" : "string",
        "description" : "???"
      },
      "v4auth" : {
        "type" : "boolean",
        "description" : "???"
      },
      "access" : {
        "type" : "string",
        "description" : "???"
      },
      "secret" : {
        "type" : "string",
        "description" : "???"
      },
      "region" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.biscuit.BiscuitHelper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "BulkPatchBody" : {
    "type" : "object",
    "description" : "BulkPatchBody object"
  },
  "otoroshi.next.plugins.FakeWasmContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "config" : {
        "type" : "object",
        "description" : "???"
      },
      "idx" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.W3CTracing" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "kind" : {
        "description" : "Configuration for W3CTracing",
        "type" : "string",
        "enum" : [ "jaeger", "zipkin", "logger", "noop" ]
      },
      "endpoint" : {
        "type" : "string",
        "description" : "???"
      },
      "timeout" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "baggage" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.models.NgSelectedBackendTarget" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "target" : {
        "description" : "???",
        "properties" : {
          "ip_address" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "protocol" : {
            "type" : "string",
            "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
            "description" : "Protocol for the target"
          },
          "predicate" : {
            "description" : "Predicate to choose this target",
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "the kind of predicate",
                "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
              },
              "dc" : {
                "type" : "string",
                "description" : "???"
              },
              "positions" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "latitude" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "???"
                    },
                    "longitude" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "???"
                    },
                    "radius" : {
                      "type" : "number",
                      "format" : "double",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "provider" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "dataCenter" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "rack" : {
                "type" : "string",
                "description" : "???"
              },
              "region" : {
                "type" : "string",
                "description" : "???"
              },
              "zone" : {
                "type" : "string",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "tls_config" : {
            "description" : "TLS settings to contact this target",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "Enabled"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Trusted cert. ids"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "Loose verification"
              },
              "trust_all" : {
                "type" : "boolean",
                "description" : "Trust any certificate"
              },
              "trusted_certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Trusted cert. ids"
              }
            },
            "type" : "object"
          },
          "tls" : {
            "type" : "boolean",
            "description" : "Does the target uses TLS"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "port of the target"
          },
          "id" : {
            "type" : "string",
            "description" : "id of the target"
          },
          "weight" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The weight of the target when choosing"
          },
          "hostname" : {
            "type" : "string",
            "description" : "hostname of the target"
          }
        },
        "type" : "object"
      },
      "attempts" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "cb_start" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.WasmRequestHandler" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "GlobalConfigImportBody" : {
    "type" : "object",
    "description" : ""
  },
  "otoroshi.auth.AuthModuleConfig" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "desc", "name", "clientSideSessionEnabled", "basicAuth", "tags", "users", "sessionMaxAge", "webauthn", "userValidators", "id", "_loc", "metadata", "sessionCookieValues" ]
    }, {
      "required" : [ "type", "extraMetadata", "desc", "name", "rightsOverride", "clientId", "otoroshiRightsField", "clientSideSessionEnabled", "scope", "tags", "accessTokenField", "superAdmins", "sessionMaxAge", "refreshTokens", "loginUrl", "apiKeyTagsField", "otoroshiDataField", "userValidators", "emailField", "mtlsConfig", "tokenUrl", "useCookie", "id", "pkce", "authorizeUrl", "_loc", "callbackUrl", "proxy", "apiKeyMetaField", "clientSecret", "useJson", "oidConfig", "claims", "metadata", "noWildcardRedirectURI", "nameField", "introspectionUrl", "logoutUrl", "dataOverride", "userInfoUrl", "jwtVerifier", "readProfileFromToken", "sessionCookieValues" ]
    }, {
      "required" : [ "type", "extraMetadata", "desc", "name", "allowEmptyPassword", "groupFilters", "rightsOverride", "serverUrls", "clientSideSessionEnabled", "basicAuth", "searchBase", "groupRights", "tags", "superAdmins", "sessionMaxAge", "metadataField", "searchFilter", "adminUsername", "userValidators", "emailField", "extractProfileFilter", "userBase", "id", "_loc", "adminPassword", "metadata", "extractProfileFilterNot", "nameField", "extractProfile", "dataOverride", "sessionCookieValues" ]
    }, {
      "required" : [ "type", "accessTokenURL", "desc", "name", "authorizeURL", "rightsOverride", "consumerKey", "callbackURL", "profileURL", "clientSideSessionEnabled", "tags", "sessionMaxAge", "httpMethod", "userValidators", "id", "requestTokenURL", "_loc", "consumerSecret", "metadata", "sessionCookieValues" ]
    }, {
      "required" : [ "type", "desc", "name", "ssoProtocolBinding", "clientSideSessionEnabled", "emailAttributeName", "validatingCertificates", "tags", "singleLogoutProtocolBinding", "sessionMaxAge", "issuer", "signature", "userValidators", "singleLogoutUrl", "id", "_loc", "usedNameIDAsEmail", "singleSignOnUrl", "metadata", "validateAssertions", "nameIDFormat", "validateSignature", "credentials", "sessionCookieValues" ]
    } ],
    "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" : {
          "properties" : {
            "metadata" : {
              "type" : "object",
              "description" : "???"
            },
            "password" : {
              "type" : "string",
              "description" : "???"
            },
            "tags" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "email" : {
              "type" : "string",
              "description" : "???"
            },
            "webauthn" : {
              "description" : "???",
              "type" : "object",
              "properties" : {
                "handle" : {
                  "type" : "string",
                  "description" : "???"
                },
                "credentials" : {
                  "type" : "object",
                  "additionalProperties" : {
                    "type" : "object"
                  },
                  "description" : "???"
                }
              }
            },
            "rights" : {
              "description" : "???",
              "properties" : {
                "rights" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "tenant" : {
                        "description" : "Access rights on organizations",
                        "properties" : {
                          "canWrite" : {
                            "type" : "boolean",
                            "description" : "Can this access right write data"
                          },
                          "value" : {
                            "type" : "string",
                            "description" : "Access pattern"
                          },
                          "canRead" : {
                            "type" : "boolean",
                            "description" : "Can this access right read data"
                          }
                        },
                        "type" : "object"
                      },
                      "teams" : {
                        "type" : "array",
                        "items" : {
                          "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"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "Access rights on teams"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights of a user"
                }
              },
              "type" : "object"
            },
            "name" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "sessionMaxAge" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "webauthn" : {
        "type" : "boolean",
        "description" : "???"
      },
      "userValidators" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "path" : {
              "type" : "string",
              "description" : "???"
            },
            "value" : {
              "type" : "object",
              "description" : "???"
            },
            "error" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "id" : {
        "type" : "string",
        "description" : "???"
      },
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "sessionCookieValues" : {
        "description" : "???",
        "properties" : {
          "httpOnly" : {
            "type" : "boolean",
            "description" : "???"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "extraMetadata" : {
        "type" : "object",
        "description" : "???"
      },
      "rightsOverride" : {
        "type" : "object",
        "additionalProperties" : {
          "properties" : {
            "rights" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "tenant" : {
                    "description" : "Access rights on organizations",
                    "properties" : {
                      "canWrite" : {
                        "type" : "boolean",
                        "description" : "Can this access right write data"
                      },
                      "value" : {
                        "type" : "string",
                        "description" : "Access pattern"
                      },
                      "canRead" : {
                        "type" : "boolean",
                        "description" : "Can this access right read data"
                      }
                    },
                    "type" : "object"
                  },
                  "teams" : {
                    "type" : "array",
                    "items" : {
                      "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"
                        }
                      },
                      "type" : "object"
                    },
                    "description" : "Access rights on teams"
                  }
                },
                "type" : "object"
              },
              "description" : "Access rights of a user"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "clientId" : {
        "type" : "string",
        "description" : "???"
      },
      "otoroshiRightsField" : {
        "type" : "string",
        "description" : "???"
      },
      "scope" : {
        "type" : "string",
        "description" : "???"
      },
      "accessTokenField" : {
        "type" : "string",
        "description" : "???"
      },
      "superAdmins" : {
        "type" : "boolean",
        "description" : "???"
      },
      "refreshTokens" : {
        "type" : "boolean",
        "description" : "???"
      },
      "loginUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "apiKeyTagsField" : {
        "type" : "string",
        "description" : "???"
      },
      "otoroshiDataField" : {
        "type" : "string",
        "description" : "???"
      },
      "emailField" : {
        "type" : "string",
        "description" : "???"
      },
      "mtlsConfig" : {
        "description" : "???",
        "properties" : {
          "mtls" : {
            "type" : "boolean",
            "description" : "???"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustAll" : {
            "type" : "boolean",
            "description" : "???"
          },
          "trustedCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "tokenUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "useCookie" : {
        "type" : "boolean",
        "description" : "???"
      },
      "pkce" : {
        "description" : "???",
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "algorithm" : {
            "type" : "string",
            "description" : "???"
          }
        }
      },
      "authorizeUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "callbackUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "proxy" : {
        "description" : "???",
        "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"
          }
        }
      },
      "apiKeyMetaField" : {
        "type" : "string",
        "description" : "???"
      },
      "clientSecret" : {
        "type" : "string",
        "description" : "???"
      },
      "useJson" : {
        "type" : "boolean",
        "description" : "???"
      },
      "oidConfig" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "claims" : {
        "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" : {
        "description" : "???",
        "type" : "object",
        "oneOfConstraints" : [ {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "secret", "base64" ]
        }, {
          "required" : [ "type", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout" ]
        }, {
          "required" : [ "type", "onlyExposedCerts" ]
        }, {
          "required" : [ "type", "size", "certId" ]
        }, {
          "required" : [ "type", "size", "publicKey", "privateKey" ]
        } ],
        "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "certId" : {
            "type" : "string",
            "description" : "Certificate id"
          },
          "secret" : {
            "type" : "string",
            "description" : "HMAC secret"
          },
          "base64" : {
            "type" : "boolean",
            "description" : "The secret is base64 encoded"
          },
          "url" : {
            "type" : "string",
            "description" : "JWKS url"
          },
          "tlsConfig" : {
            "description" : "TLS config",
            "properties" : {
              "mtls" : {
                "type" : "boolean",
                "description" : "???"
              },
              "loose" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustAll" : {
                "type" : "boolean",
                "description" : "???"
              },
              "trustedCerts" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              },
              "certs" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "kty" : {
            "type" : "string",
            "description" : "Key type"
          },
          "proxy" : {
            "description" : "Web proxy for http client",
            "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"
              }
            }
          },
          "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"
          },
          "onlyExposedCerts" : {
            "type" : "boolean",
            "description" : "Use only exposed certs"
          }
        }
      },
      "readProfileFromToken" : {
        "type" : "boolean",
        "description" : "???"
      },
      "allowEmptyPassword" : {
        "type" : "boolean",
        "description" : "???"
      },
      "groupFilters" : {
        "type" : "array",
        "items" : {
          "properties" : {
            "group" : {
              "type" : "string",
              "description" : "???"
            },
            "tenant" : {
              "description" : "???",
              "properties" : {
                "canWrite" : {
                  "type" : "boolean",
                  "description" : "Can this access right write data"
                },
                "value" : {
                  "type" : "string",
                  "description" : "Access pattern"
                },
                "canRead" : {
                  "type" : "boolean",
                  "description" : "Can this access right read data"
                }
              },
              "type" : "object"
            },
            "team" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "serverUrls" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "searchBase" : {
        "type" : "string",
        "description" : "???"
      },
      "groupRights" : {
        "type" : "object",
        "additionalProperties" : {
          "properties" : {
            "userRights" : {
              "description" : "???",
              "properties" : {
                "rights" : {
                  "type" : "array",
                  "items" : {
                    "properties" : {
                      "tenant" : {
                        "description" : "Access rights on organizations",
                        "properties" : {
                          "canWrite" : {
                            "type" : "boolean",
                            "description" : "Can this access right write data"
                          },
                          "value" : {
                            "type" : "string",
                            "description" : "Access pattern"
                          },
                          "canRead" : {
                            "type" : "boolean",
                            "description" : "Can this access right read data"
                          }
                        },
                        "type" : "object"
                      },
                      "teams" : {
                        "type" : "array",
                        "items" : {
                          "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"
                            }
                          },
                          "type" : "object"
                        },
                        "description" : "Access rights on teams"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights of a user"
                }
              },
              "type" : "object"
            },
            "users" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "description" : "???"
      },
      "metadataField" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "searchFilter" : {
        "type" : "string",
        "description" : "???"
      },
      "adminUsername" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "extractProfileFilter" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "userBase" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "adminPassword" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "extractProfileFilterNot" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "extractProfile" : {
        "type" : "boolean",
        "description" : "???"
      },
      "accessTokenURL" : {
        "type" : "string",
        "description" : "???"
      },
      "authorizeURL" : {
        "type" : "string",
        "description" : "???"
      },
      "consumerKey" : {
        "type" : "string",
        "description" : "???"
      },
      "callbackURL" : {
        "type" : "string",
        "description" : "???"
      },
      "profileURL" : {
        "type" : "string",
        "description" : "???"
      },
      "httpMethod" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "requestTokenURL" : {
        "type" : "string",
        "description" : "???"
      },
      "consumerSecret" : {
        "type" : "string",
        "description" : "???"
      },
      "ssoProtocolBinding" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "emailAttributeName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "validatingCertificates" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "singleLogoutProtocolBinding" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "issuer" : {
        "type" : "string",
        "description" : "???"
      },
      "signature" : {
        "description" : "???",
        "properties" : {
          "algorithm" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          },
          "canocalizationMethod" : {
            "description" : "???",
            "properties" : { },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "singleLogoutUrl" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "usedNameIDAsEmail" : {
        "type" : "boolean",
        "description" : "???"
      },
      "singleSignOnUrl" : {
        "type" : "string",
        "description" : "???"
      },
      "validateAssertions" : {
        "type" : "boolean",
        "description" : "???"
      },
      "nameIDFormat" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "validateSignature" : {
        "type" : "boolean",
        "description" : "???"
      },
      "credentials" : {
        "description" : "???",
        "properties" : {
          "signingKey" : {
            "description" : "???",
            "properties" : {
              "certificate" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "privateKey" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "useOtoroshiCertificate" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "encryptionKey" : {
            "description" : "???",
            "properties" : {
              "certificate" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "privateKey" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "certId" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "useOtoroshiCertificate" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "signedDocuments" : {
            "type" : "boolean",
            "description" : "???"
          },
          "encryptedAssertions" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.Robots" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "robot_txt_content" : {
        "type" : "string",
        "description" : "???"
      },
      "meta_content" : {
        "type" : "string",
        "description" : "???"
      },
      "robot_enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "header_content" : {
        "type" : "string",
        "description" : "???"
      },
      "header_enabled" : {
        "type" : "boolean",
        "description" : "???"
      },
      "meta_enabled" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.ExternalEurekaTargetConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "service_url_default_zone" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "eureka_app" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "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" : {
          "properties" : {
            "name" : {
              "type" : "string",
              "description" : "Destination name"
            },
            "email" : {
              "type" : "string",
              "description" : "Email address"
            }
          },
          "type" : "object"
        },
        "description" : "Destination email address"
      }
    },
    "type" : "object",
    "description" : "Settings for the generic mailer (http requests)"
  },
  "otoroshi.models.GoReplayFileSettings" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of exporter",
        "enum" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
      },
      "path" : {
        "type" : "string",
        "description" : "???"
      },
      "methods" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "captureResponses" : {
        "type" : "boolean",
        "description" : "???"
      },
      "preferBackendResponse" : {
        "type" : "boolean",
        "description" : "???"
      },
      "maxFileSize" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "captureRequests" : {
        "type" : "boolean",
        "description" : "???"
      },
      "preferBackendRequest" : {
        "type" : "boolean",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "Null" : {
    "type" : "object",
    "description" : "no value object, used to represent a None option value"
  },
  "otoroshi.next.plugins.NgApikeyExtractors" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "basic" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "header_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "query_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "custom_headers" : {
        "description" : "???",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "client_id_header_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "client_secret_header_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      },
      "client_id" : {
        "description" : "???",
        "properties" : {
          "header_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "query_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "jwt" : {
        "description" : "???",
        "properties" : {
          "cookie_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "key_pair_signed" : {
            "type" : "boolean",
            "description" : "???"
          },
          "query_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "secret_signed" : {
            "type" : "boolean",
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "include_request_attrs" : {
            "type" : "boolean",
            "description" : "???"
          },
          "header_name" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          }
        },
        "type" : "object"
      }
    }
  },
  "TargetsList" : {
    "type" : "array",
    "items" : {
      "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" : {
          "description" : "???",
          "properties" : {
            "type" : {
              "type" : "string",
              "description" : "the kind of predicate",
              "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
            },
            "dc" : {
              "type" : "string",
              "description" : "???"
            },
            "positions" : {
              "type" : "array",
              "items" : {
                "properties" : {
                  "latitude" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "???"
                  },
                  "longitude" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "???"
                  },
                  "radius" : {
                    "type" : "number",
                    "format" : "double",
                    "description" : "???"
                  }
                },
                "type" : "object"
              },
              "description" : "???"
            },
            "provider" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "dataCenter" : {
              "description" : "null type",
              "type" : "string",
              "nullable" : true
            },
            "rack" : {
              "type" : "string",
              "description" : "???"
            },
            "region" : {
              "type" : "string",
              "description" : "???"
            },
            "zone" : {
              "type" : "string",
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "ipAddress" : {
          "description" : "null type",
          "type" : "string",
          "nullable" : true
        },
        "mtlsConfig" : {
          "description" : "???",
          "properties" : {
            "mtls" : {
              "type" : "boolean",
              "description" : "???"
            },
            "loose" : {
              "type" : "boolean",
              "description" : "???"
            },
            "trustAll" : {
              "type" : "boolean",
              "description" : "???"
            },
            "trustedCerts" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            },
            "certs" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              },
              "description" : "???"
            }
          },
          "type" : "object"
        },
        "scheme" : {
          "type" : "string",
          "description" : "???"
        }
      },
      "type" : "object"
    }
  },
  "otoroshi.auth.Credential" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "certificate" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "privateKey" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "certId" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "useOtoroshiCertificate" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.Http3Switch" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ma" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "domain" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "protocols" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgCertificateAsApikeyConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "daily_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "monthly_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "tags" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "read_only" : {
        "type" : "boolean",
        "description" : "???"
      },
      "allow_client_id_only" : {
        "type" : "boolean",
        "description" : "???"
      },
      "throttling_quota" : {
        "type" : "integer",
        "format" : "int64",
        "description" : "???"
      },
      "constrained_services_only" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  },
  "otoroshi.next.plugins.NgRedirectionSettings" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "code" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "to" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "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" : {
        "description" : "Entity location",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      },
      "typ" : {
        "description" : "Admin kind",
        "type" : "string",
        "enum" : [ "SIMPLE", "WEBAUTHN" ]
      },
      "createdAt" : {
        "type" : "number",
        "description" : "User creation date"
      },
      "metadata" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "Entity metadata"
      },
      "rights" : {
        "description" : "User rights",
        "properties" : {
          "rights" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "tenant" : {
                  "description" : "Access rights on organizations",
                  "properties" : {
                    "canWrite" : {
                      "type" : "boolean",
                      "description" : "Can this access right write data"
                    },
                    "value" : {
                      "type" : "string",
                      "description" : "Access pattern"
                    },
                    "canRead" : {
                      "type" : "boolean",
                      "description" : "Can this access right read data"
                    }
                  },
                  "type" : "object"
                },
                "teams" : {
                  "type" : "array",
                  "items" : {
                    "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"
                      }
                    },
                    "type" : "object"
                  },
                  "description" : "Access rights on teams"
                }
              },
              "type" : "object"
            },
            "description" : "Access rights of a user"
          }
        },
        "type" : "object"
      },
      "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"
  },
  "otoroshi.next.plugins.TailscaleCertError" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "status" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "body" : {
        "type" : "string",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.OtoroshiToKubernetesCertSyncJob" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.plugins.biscuit.BiscuitExtractor" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "PatchBody" : {
    "type" : "array",
    "items" : { }
  },
  "otoroshi.next.plugins.PreRoutingVerifierContext" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "ctx" : {
        "description" : "???",
        "properties" : { },
        "type" : "object"
      },
      "apk" : {
        "description" : "???",
        "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" : {
            "description" : "The location of the apikey",
            "properties" : {
              "tenant" : {
                "description" : "Organization of the current entity",
                "type" : "string"
              },
              "teams" : {
                "type" : "array",
                "items" : {
                  "type" : "string"
                },
                "description" : "Teams of the current entity"
              }
            },
            "type" : "object"
          },
          "restrictions" : {
            "description" : "Apikey restrictions settings",
            "properties" : {
              "forbidden" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowed" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "notFound" : {
                "type" : "array",
                "items" : {
                  "properties" : {
                    "method" : {
                      "type" : "string",
                      "description" : "???"
                    },
                    "path" : {
                      "type" : "string",
                      "description" : "???"
                    }
                  },
                  "type" : "object"
                },
                "description" : "???"
              },
              "allowLast" : {
                "type" : "boolean",
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "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" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "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" : {
            "description" : "Apikey rotation settings",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "Rotation enabled"
              },
              "rotationEvery" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "Rotate every n hours"
              },
              "gracePeriod" : {
                "type" : "integer",
                "format" : "int64",
                "description" : "period (in hours) during which both secrets works"
              },
              "nextSecret" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "authorizedEntities" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "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"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.plugins.jobs.kubernetes.OtoAnnotationConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "annotations" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.accesslog.AccessLog" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.models.DataCenterMatch" : {
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of predicate",
        "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
      },
      "dc" : {
        "type" : "string",
        "description" : "???"
      }
    },
    "type" : "object",
    "description" : "???"
  },
  "otoroshi.next.plugins.NgLegacyAuthModuleCall" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "public_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "private_patterns" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "config" : {
        "description" : "???",
        "properties" : {
          "module" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "pass_with_apikey" : {
            "type" : "boolean",
            "description" : "???"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.models.JwtTokenLocation" : {
    "type" : "object",
    "oneOfConstraints" : [ {
      "required" : [ "type", "name" ]
    }, {
      "required" : [ "type", "name", "remove" ]
    }, {
      "required" : [ "type", "name" ]
    } ],
    "properties" : {
      "type" : {
        "type" : "string",
        "description" : "the kind of location",
        "enum" : [ "InQueryParam", "InHeader", "InCookie" ]
      },
      "name" : {
        "type" : "string",
        "description" : "Query param name"
      },
      "remove" : {
        "type" : "string",
        "description" : "Remove from value"
      }
    }
  },
  "otoroshi.models.FakeEntityLocationSupport" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "_loc" : {
        "description" : "???",
        "properties" : {
          "tenant" : {
            "description" : "Organization of the current entity",
            "type" : "string"
          },
          "teams" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Teams of the current entity"
          }
        },
        "type" : "object"
      }
    }
  },
  "otoroshi.next.plugins.WasmAccessValidator" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "allowedHosts" : {
        "type" : "array",
        "items" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "memoryPages" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "allowedPaths" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "instances" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "config" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "string"
        },
        "description" : "???"
      },
      "authorizations" : {
        "description" : "???",
        "properties" : {
          "proxyStateAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "httpAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "pluginMapAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "proxyHttpCallTimeout" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "???"
          },
          "configurationAccess" : {
            "type" : "boolean",
            "description" : "???"
          },
          "globalDataStoreAccess" : {
            "description" : "???",
            "properties" : {
              "read" : {
                "type" : "boolean",
                "description" : "???"
              },
              "write" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "opa" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wasi" : {
        "type" : "boolean",
        "description" : "???"
      },
      "functionName" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      }
    }
  },
  "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"
  },
  "otoroshi.next.models.NgTarget" : {
    "type" : "object",
    "description" : "A target where incoming requests will be forwarded",
    "properties" : {
      "ip_address" : {
        "description" : "null type",
        "type" : "string",
        "nullable" : true
      },
      "protocol" : {
        "type" : "string",
        "enum" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ],
        "description" : "Protocol for the target"
      },
      "predicate" : {
        "description" : "Predicate to choose this target",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "the kind of predicate",
            "enum" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
          },
          "dc" : {
            "type" : "string",
            "description" : "???"
          },
          "positions" : {
            "type" : "array",
            "items" : {
              "properties" : {
                "latitude" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "???"
                },
                "longitude" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "???"
                },
                "radius" : {
                  "type" : "number",
                  "format" : "double",
                  "description" : "???"
                }
              },
              "type" : "object"
            },
            "description" : "???"
          },
          "provider" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "dataCenter" : {
            "description" : "null type",
            "type" : "string",
            "nullable" : true
          },
          "rack" : {
            "type" : "string",
            "description" : "???"
          },
          "region" : {
            "type" : "string",
            "description" : "???"
          },
          "zone" : {
            "type" : "string",
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "tls_config" : {
        "description" : "TLS settings to contact this target",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enabled"
          },
          "certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          },
          "loose" : {
            "type" : "boolean",
            "description" : "Loose verification"
          },
          "trust_all" : {
            "type" : "boolean",
            "description" : "Trust any certificate"
          },
          "trusted_certs" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "Trusted cert. ids"
          }
        },
        "type" : "object"
      },
      "tls" : {
        "type" : "boolean",
        "description" : "Does the target uses TLS"
      },
      "port" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "port of the target"
      },
      "id" : {
        "type" : "string",
        "description" : "id of the target"
      },
      "weight" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "The weight of the target when choosing"
      },
      "hostname" : {
        "type" : "string",
        "description" : "hostname of the target"
      }
    }
  },
  "otoroshi.models.UserAgentSettings" : {
    "type" : "object",
    "description" : "Settings to extract informations about user agent (for otoroshi events)",
    "properties" : {
      "enabled" : {
        "type" : "boolean",
        "description" : "User agent extraction enabled"
      }
    }
  },
  "otoroshi.greenscore.TripleBounds" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "excellent" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "sufficient" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      },
      "poor" : {
        "type" : "integer",
        "format" : "int32",
        "description" : "???"
      }
    }
  },
  "otoroshi.plugins.useragent.UserAgentHelper" : {
    "type" : "object",
    "description" : "???",
    "properties" : { }
  },
  "otoroshi.next.plugins.NgApikeyCallsConfig" : {
    "type" : "object",
    "description" : "???",
    "properties" : {
      "mandatory" : {
        "type" : "boolean",
        "description" : "???"
      },
      "extractors" : {
        "description" : "???",
        "properties" : {
          "basic" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "query_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "custom_headers" : {
            "description" : "???",
            "properties" : {
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "client_id_header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "client_secret_header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          },
          "client_id" : {
            "description" : "???",
            "properties" : {
              "header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "query_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              }
            },
            "type" : "object"
          },
          "jwt" : {
            "description" : "???",
            "properties" : {
              "cookie_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "key_pair_signed" : {
                "type" : "boolean",
                "description" : "???"
              },
              "query_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              },
              "secret_signed" : {
                "type" : "boolean",
                "description" : "???"
              },
              "enabled" : {
                "type" : "boolean",
                "description" : "???"
              },
              "include_request_attrs" : {
                "type" : "boolean",
                "description" : "???"
              },
              "header_name" : {
                "description" : "null type",
                "type" : "string",
                "nullable" : true
              }
            },
            "type" : "object"
          }
        },
        "type" : "object"
      },
      "pass_with_user" : {
        "type" : "boolean",
        "description" : "???"
      },
      "wipe_backend_request" : {
        "type" : "boolean",
        "description" : "???"
      },
      "validate" : {
        "type" : "boolean",
        "description" : "???"
      },
      "routing" : {
        "description" : "???",
        "properties" : {
          "none_meta_keys_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "all_meta_keys_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "all_meta_in" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "none_meta_in" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "one_tag_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "???"
          },
          "one_meta_in" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "all_tags_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "one_meta_key_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          },
          "none_tag_in" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "description" : "???"
          }
        },
        "type" : "object"
      },
      "update_quotas" : {
        "type" : "boolean",
        "description" : "???"
      }
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy