{
  "repo": "tidbcloud/account",
  "binary": "admin-server",
  "binary_path": "admin/cmd/server/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "extensions": {
    "notes": [
      "The binary was previously skipped incorrectly; main() starts a real Gin HTTP server on ServerConfig.AdminListenAddr.",
      "All /api/v1/admin routes share MustHaveAdminPermissions middleware in normal runtime, while /swagger/*any, /ping, and /healthz stay public.",
      "The protected surface mixes CRUD handlers, reverse-proxy style billing forwarding, upload endpoints, partner workflows, and DB-user operations in one Gin engine."
    ]
  },
  "services": [
    {
      "name": "AdminServerLifecycle",
      "package": "admin/cmd/server",
      "methods": [
        {
          "name": "LoadFlags",
          "name_key": "AdminServerLifecycle.LoadFlags",
          "input": "config-path",
          "output": "parsed config path flag",
          "type": "local"
        },
        {
          "name": "InitConfig",
          "name_key": "AdminServerLifecycle.InitConfig",
          "input": "config-path",
          "output": "global config initialized",
          "type": "local"
        },
        {
          "name": "InitPortalAuth0Config",
          "name_key": "AdminServerLifecycle.InitPortalAuth0Config",
          "input": "management portal Auth0 config",
          "output": "portal auth0 validator config",
          "type": "local"
        },
        {
          "name": "InitMySQL",
          "name_key": "AdminServerLifecycle.InitMySQL",
          "input": "global mysql config",
          "output": "admin MySQL models initialized",
          "type": "local"
        },
        {
          "name": "InitTokenValidator",
          "name_key": "AdminServerLifecycle.InitTokenValidator",
          "input": "portal auth0 jwks and secrets",
          "output": "raw token validator ready for admin middleware",
          "type": "local"
        },
        {
          "name": "InitAdminModel",
          "name_key": "AdminServerLifecycle.InitAdminModel",
          "input": "admin model dependencies",
          "output": "admin model initialized",
          "type": "local"
        },
        {
          "name": "SetupLoggerAndSentry",
          "name_key": "AdminServerLifecycle.SetupLoggerAndSentry",
          "input": "global logging config",
          "output": "logger and sentry initialized",
          "type": "local"
        },
        {
          "name": "StartEventbus",
          "name_key": "AdminServerLifecycle.StartEventbus",
          "input": "event bus config",
          "output": "event bus running in non-local mode",
          "type": "local"
        },
        {
          "name": "InitJobQueueAndDeps",
          "name_key": "AdminServerLifecycle.InitJobQueueAndDeps",
          "input": "job queue config and Salesforce deps",
          "output": "job queue plus jobs dependencies initialized",
          "type": "local"
        },
        {
          "name": "InitJaeger",
          "name_key": "AdminServerLifecycle.InitJaeger",
          "input": "account-admin service name",
          "output": "trace provider initialized",
          "type": "local"
        },
        {
          "name": "BuildRouter",
          "name_key": "AdminServerLifecycle.BuildRouter",
          "input": "admin api route and middleware registration",
          "output": "gin engine with public and protected routes",
          "type": "local"
        },
        {
          "name": "RunHTTPServer",
          "name_key": "AdminServerLifecycle.RunHTTPServer",
          "input": "ServerConfig.AdminListenAddr",
          "output": "admin http server serving gin routes",
          "type": "local"
        }
      ]
    },
    {
      "name": "AdminPublicHTTP",
      "package": "admin/api",
      "type": "http",
      "methods": [
        {
          "name": "GET /swagger/*any",
          "name_key": "HTTP GET /swagger/*any",
          "path": "/swagger/*any",
          "http_method": "GET",
          "handler": "ginSwagger.WrapHandler",
          "type": "http"
        },
        {
          "name": "GET /ping",
          "name_key": "HTTP GET /ping",
          "path": "/ping",
          "http_method": "GET",
          "handler": "Ping",
          "type": "http"
        },
        {
          "name": "GET /healthz",
          "name_key": "HTTP GET /healthz",
          "path": "/healthz",
          "http_method": "GET",
          "handler": "Ping",
          "type": "http"
        }
      ]
    },
    {
      "name": "AdminProtectedHTTP",
      "package": "admin/api",
      "type": "http",
      "methods": [
        {
          "name": "GET /api/v1/admin/system-settings",
          "name_key": "HTTP GET /api/v1/admin/system-settings",
          "path": "/api/v1/admin/system-settings",
          "http_method": "GET",
          "handler": "GetSystemSettings",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/dashboard/stats",
          "name_key": "HTTP GET /api/v1/admin/dashboard/stats",
          "path": "/api/v1/admin/dashboard/stats",
          "http_method": "GET",
          "handler": "GetDashboardStats",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs",
          "name_key": "HTTP GET /api/v1/admin/orgs",
          "path": "/api/v1/admin/orgs",
          "http_method": "GET",
          "handler": "ListTenants",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs/:org_id",
          "name_key": "HTTP GET /api/v1/admin/orgs/:org_id",
          "path": "/api/v1/admin/orgs/:org_id",
          "http_method": "GET",
          "handler": "GetTenantById",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs/:org_id/data-resource",
          "name_key": "HTTP GET /api/v1/admin/orgs/:org_id/data-resource",
          "path": "/api/v1/admin/orgs/:org_id/data-resource",
          "http_method": "GET",
          "handler": "GetTenantResource",
          "type": "http"
        },
        {
          "name": "PATCH /api/v1/admin/orgs/:org_id",
          "name_key": "HTTP PATCH /api/v1/admin/orgs/:org_id",
          "path": "/api/v1/admin/orgs/:org_id",
          "http_method": "PATCH",
          "handler": "PatchTenant",
          "type": "http"
        },
        {
          "name": "DELETE /api/v1/admin/orgs/:org_id",
          "name_key": "HTTP DELETE /api/v1/admin/orgs/:org_id",
          "path": "/api/v1/admin/orgs/:org_id",
          "http_method": "DELETE",
          "handler": "DeleteTenant",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs/user-org",
          "name_key": "HTTP GET /api/v1/admin/orgs/user-org",
          "path": "/api/v1/admin/orgs/user-org",
          "http_method": "GET",
          "handler": "GetUserOrgs",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs/:org_id/users",
          "name_key": "HTTP GET /api/v1/admin/orgs/:org_id/users",
          "path": "/api/v1/admin/orgs/:org_id/users",
          "http_method": "GET",
          "handler": "GetOrgUsers",
          "type": "http"
        },
        {
          "name": "DELETE /api/v1/admin/orgs/:org_id/users/:user_id",
          "name_key": "HTTP DELETE /api/v1/admin/orgs/:org_id/users/:user_id",
          "path": "/api/v1/admin/orgs/:org_id/users/:user_id",
          "http_method": "DELETE",
          "handler": "RemoveUserFromOrg",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/orgs/:org_id/users/:user_id",
          "name_key": "HTTP POST /api/v1/admin/orgs/:org_id/users/:user_id",
          "path": "/api/v1/admin/orgs/:org_id/users/:user_id",
          "http_method": "POST",
          "handler": "AddUserToOrg",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/orgs/:org_id/impersonation",
          "name_key": "HTTP POST /api/v1/admin/orgs/:org_id/impersonation",
          "path": "/api/v1/admin/orgs/:org_id/impersonation",
          "http_method": "POST",
          "handler": "AddImpersonation",
          "type": "http"
        },
        {
          "name": "DELETE /api/v1/admin/orgs/:org_id/impersonation",
          "name_key": "HTTP DELETE /api/v1/admin/orgs/:org_id/impersonation",
          "path": "/api/v1/admin/orgs/:org_id/impersonation",
          "http_method": "DELETE",
          "handler": "DeleteImpersonation",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/orgs/:org_id/salesforce",
          "name_key": "HTTP POST /api/v1/admin/orgs/:org_id/salesforce",
          "path": "/api/v1/admin/orgs/:org_id/salesforce",
          "http_method": "POST",
          "handler": "SalesforceSyncLeads",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs/:org_id/projects",
          "name_key": "HTTP GET /api/v1/admin/orgs/:org_id/projects",
          "path": "/api/v1/admin/orgs/:org_id/projects",
          "http_method": "GET",
          "handler": "GetOrgProjects",
          "type": "http"
        },
        {
          "name": "DELETE /api/v1/admin/orgs/:org_id/projects/:project_id",
          "name_key": "HTTP DELETE /api/v1/admin/orgs/:org_id/projects/:project_id",
          "path": "/api/v1/admin/orgs/:org_id/projects/:project_id",
          "http_method": "DELETE",
          "handler": "DeleteProject",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs/:org_id/projects/:project_id/users",
          "name_key": "HTTP GET /api/v1/admin/orgs/:org_id/projects/:project_id/users",
          "path": "/api/v1/admin/orgs/:org_id/projects/:project_id/users",
          "http_method": "GET",
          "handler": "GetProjectUsers",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/orgs/:org_id/projects/:project_id/users/:user_id",
          "name_key": "HTTP POST /api/v1/admin/orgs/:org_id/projects/:project_id/users/:user_id",
          "path": "/api/v1/admin/orgs/:org_id/projects/:project_id/users/:user_id",
          "http_method": "POST",
          "handler": "AddUserToProject",
          "type": "http"
        },
        {
          "name": "DELETE /api/v1/admin/orgs/:org_id/projects/:project_id/users/:user_id",
          "name_key": "HTTP DELETE /api/v1/admin/orgs/:org_id/projects/:project_id/users/:user_id",
          "path": "/api/v1/admin/orgs/:org_id/projects/:project_id/users/:user_id",
          "http_method": "DELETE",
          "handler": "RemoveUserFromeProject",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs/:org_id/projects/:project_id/data-resource",
          "name_key": "HTTP GET /api/v1/admin/orgs/:org_id/projects/:project_id/data-resource",
          "path": "/api/v1/admin/orgs/:org_id/projects/:project_id/data-resource",
          "http_method": "GET",
          "handler": "GetProjectResource",
          "type": "http"
        },
        {
          "name": "DELETE /api/v1/admin/users/:user_id",
          "name_key": "HTTP DELETE /api/v1/admin/users/:user_id",
          "path": "/api/v1/admin/users/:user_id",
          "http_method": "DELETE",
          "handler": "DeleteUserFromAllOrg",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/users",
          "name_key": "HTTP GET /api/v1/admin/users",
          "path": "/api/v1/admin/users",
          "http_method": "GET",
          "handler": "ListUsers",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/access-logs",
          "name_key": "HTTP GET /api/v1/admin/access-logs",
          "path": "/api/v1/admin/access-logs",
          "http_method": "GET",
          "handler": "ListAccessLogs",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/orgs/:org_id/access-logs",
          "name_key": "HTTP GET /api/v1/admin/orgs/:org_id/access-logs",
          "path": "/api/v1/admin/orgs/:org_id/access-logs",
          "http_method": "GET",
          "handler": "TenantAccessLogs",
          "type": "http"
        },
        {
          "name": "Any /api/v1/admin/api_proxy/billing/*any",
          "name_key": "Runtime AdminBillingProxy.Proxy",
          "path": "/api/v1/admin/api_proxy/billing/*any",
          "http_method": "Any",
          "handler": "BillingProxy",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/role/create",
          "name_key": "HTTP POST /api/v1/admin/rbac/role/create",
          "path": "/api/v1/admin/rbac/role/create",
          "http_method": "POST",
          "handler": "CreateRbacRole",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/rbac/role/list",
          "name_key": "HTTP GET /api/v1/admin/rbac/role/list",
          "path": "/api/v1/admin/rbac/role/list",
          "http_method": "GET",
          "handler": "ListRbacRoles",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/rbac/role/get/:id",
          "name_key": "HTTP GET /api/v1/admin/rbac/role/get/:id",
          "path": "/api/v1/admin/rbac/role/get/:id",
          "http_method": "GET",
          "handler": "GetRbacRoleById",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/role/update",
          "name_key": "HTTP POST /api/v1/admin/rbac/role/update",
          "path": "/api/v1/admin/rbac/role/update",
          "http_method": "POST",
          "handler": "UpdateRbacRole",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/role/delete/:id",
          "name_key": "HTTP POST /api/v1/admin/rbac/role/delete/:id",
          "path": "/api/v1/admin/rbac/role/delete/:id",
          "http_method": "POST",
          "handler": "DeleteRbacRole",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/privilege/create",
          "name_key": "HTTP POST /api/v1/admin/rbac/privilege/create",
          "path": "/api/v1/admin/rbac/privilege/create",
          "http_method": "POST",
          "handler": "CreateRbacPrivilege",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/rbac/privilege/list",
          "name_key": "HTTP GET /api/v1/admin/rbac/privilege/list",
          "path": "/api/v1/admin/rbac/privilege/list",
          "http_method": "GET",
          "handler": "ListRbacPrivileges",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/rbac/privilege/get/:id",
          "name_key": "HTTP GET /api/v1/admin/rbac/privilege/get/:id",
          "path": "/api/v1/admin/rbac/privilege/get/:id",
          "http_method": "GET",
          "handler": "GetRbacPrivilegeById",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/privilege/update",
          "name_key": "HTTP POST /api/v1/admin/rbac/privilege/update",
          "path": "/api/v1/admin/rbac/privilege/update",
          "http_method": "POST",
          "handler": "UpdateRbacPrivilege",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/privilege/delete/:id",
          "name_key": "HTTP POST /api/v1/admin/rbac/privilege/delete/:id",
          "path": "/api/v1/admin/rbac/privilege/delete/:id",
          "http_method": "POST",
          "handler": "DeleteRbacPrivilege",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/rbac/privilege/system-list",
          "name_key": "HTTP GET /api/v1/admin/rbac/privilege/system-list",
          "path": "/api/v1/admin/rbac/privilege/system-list",
          "http_method": "GET",
          "handler": "ListPrivilegeSystems",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/role-privilege/create",
          "name_key": "HTTP POST /api/v1/admin/rbac/role-privilege/create",
          "path": "/api/v1/admin/rbac/role-privilege/create",
          "http_method": "POST",
          "handler": "CreateRbacRolePrivilege",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/role-privilege/add",
          "name_key": "HTTP POST /api/v1/admin/rbac/role-privilege/add",
          "path": "/api/v1/admin/rbac/role-privilege/add",
          "http_method": "POST",
          "handler": "AddRbacRolePrivilege",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/role-privilege/delete",
          "name_key": "HTTP POST /api/v1/admin/rbac/role-privilege/delete",
          "path": "/api/v1/admin/rbac/role-privilege/delete",
          "http_method": "POST",
          "handler": "DeleteRbacRolePrivilege",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/rbac/role-privilege/list/:role_id",
          "name_key": "HTTP GET /api/v1/admin/rbac/role-privilege/list/:role_id",
          "path": "/api/v1/admin/rbac/role-privilege/list/:role_id",
          "http_method": "GET",
          "handler": "ListRbacRoleRelatePrivileges",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/role-binding/create",
          "name_key": "HTTP POST /api/v1/admin/rbac/role-binding/create",
          "path": "/api/v1/admin/rbac/role-binding/create",
          "http_method": "POST",
          "handler": "CreateRbacRoleBinding",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/rbac/role-binding/delete",
          "name_key": "HTTP POST /api/v1/admin/rbac/role-binding/delete",
          "path": "/api/v1/admin/rbac/role-binding/delete",
          "http_method": "POST",
          "handler": "DeleteRbacRoleBinding",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/upload",
          "name_key": "HTTP POST /api/v1/admin/upload",
          "path": "/api/v1/admin/upload",
          "http_method": "POST",
          "handler": "UploadFile",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/uploaded/*file_path",
          "name_key": "HTTP GET /api/v1/admin/uploaded/*file_path",
          "path": "/api/v1/admin/uploaded/*file_path",
          "http_method": "GET",
          "handler": "DownloadFile",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/msp/upload-logo",
          "name_key": "HTTP POST /api/v1/admin/partner/msp/upload-logo",
          "path": "/api/v1/admin/partner/msp/upload-logo",
          "http_method": "POST",
          "handler": "UploadMspLogo",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/msp/create",
          "name_key": "HTTP POST /api/v1/admin/partner/msp/create",
          "path": "/api/v1/admin/partner/msp/create",
          "http_method": "POST",
          "handler": "CreateMspOrg",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/msp/update",
          "name_key": "HTTP POST /api/v1/admin/partner/msp/update",
          "path": "/api/v1/admin/partner/msp/update",
          "http_method": "POST",
          "handler": "UpdateMspOrg",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/partner/msp/:org_id",
          "name_key": "HTTP GET /api/v1/admin/partner/msp/:org_id",
          "path": "/api/v1/admin/partner/msp/:org_id",
          "http_method": "GET",
          "handler": "GetMspByOrgId",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/partner/msp/:org_id/signup-url",
          "name_key": "HTTP GET /api/v1/admin/partner/msp/:org_id/signup-url",
          "path": "/api/v1/admin/partner/msp/:org_id/signup-url",
          "http_method": "GET",
          "handler": "GetSignupUrl",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/msp/:org_id/create-apikey",
          "name_key": "HTTP POST /api/v1/admin/partner/msp/:org_id/create-apikey",
          "path": "/api/v1/admin/partner/msp/:org_id/create-apikey",
          "http_method": "POST",
          "handler": "CreateMspApiKey",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/resale/create",
          "name_key": "HTTP POST /api/v1/admin/partner/resale/create",
          "path": "/api/v1/admin/partner/resale/create",
          "http_method": "POST",
          "handler": "CreateResalePartnerOrg",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/partner/resale/:org_id/signup-url",
          "name_key": "HTTP GET /api/v1/admin/partner/resale/:org_id/signup-url",
          "path": "/api/v1/admin/partner/resale/:org_id/signup-url",
          "http_method": "GET",
          "handler": "GetResaleCustomerSignupUrl",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/partner/:org_id/customers",
          "name_key": "HTTP GET /api/v1/admin/partner/:org_id/customers",
          "path": "/api/v1/admin/partner/:org_id/customers",
          "http_method": "GET",
          "handler": "GetCustomersByPartnerId",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/partner-customer/create",
          "name_key": "HTTP POST /api/v1/admin/partner/partner-customer/create",
          "path": "/api/v1/admin/partner/partner-customer/create",
          "http_method": "POST",
          "handler": "CreateCustomer",
          "type": "http"
        },
        {
          "name": "DELETE /api/v1/admin/partner/partner-customer/delete",
          "name_key": "HTTP DELETE /api/v1/admin/partner/partner-customer/delete",
          "path": "/api/v1/admin/partner/partner-customer/delete",
          "http_method": "DELETE",
          "handler": "DeleteCustomer",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/partner-customer/cancel",
          "name_key": "HTTP POST /api/v1/admin/partner/partner-customer/cancel",
          "path": "/api/v1/admin/partner/partner-customer/cancel",
          "http_method": "POST",
          "handler": "CancelCustomer",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/partner/partner-customer/:org_id",
          "name_key": "HTTP GET /api/v1/admin/partner/partner-customer/:org_id",
          "path": "/api/v1/admin/partner/partner-customer/:org_id",
          "http_method": "GET",
          "handler": "GetCustomerByCustomerOrgId",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/cppo/create",
          "name_key": "HTTP POST /api/v1/admin/partner/cppo/create",
          "path": "/api/v1/admin/partner/cppo/create",
          "http_method": "POST",
          "handler": "CreateCppoOrg",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/partner/mcpo/create",
          "name_key": "HTTP POST /api/v1/admin/partner/mcpo/create",
          "path": "/api/v1/admin/partner/mcpo/create",
          "http_method": "POST",
          "handler": "CreateMCPOResellerOrg",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/db-users/:cluster_id/list",
          "name_key": "HTTP GET /api/v1/admin/db-users/:cluster_id/list",
          "path": "/api/v1/admin/db-users/:cluster_id/list",
          "http_method": "GET",
          "handler": "ListDbUsers",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/db-users/:cluster_id/test",
          "name_key": "HTTP POST /api/v1/admin/db-users/:cluster_id/test",
          "path": "/api/v1/admin/db-users/:cluster_id/test",
          "http_method": "POST",
          "handler": "TestDbUser",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/db-users/:cluster_id/jwt",
          "name_key": "HTTP POST /api/v1/admin/db-users/:cluster_id/jwt",
          "path": "/api/v1/admin/db-users/:cluster_id/jwt",
          "http_method": "POST",
          "handler": "TestDbUserJwt",
          "type": "http"
        },
        {
          "name": "GET /api/v1/admin/db-users/:cluster_id/jwt",
          "name_key": "HTTP GET /api/v1/admin/db-users/:cluster_id/jwt",
          "path": "/api/v1/admin/db-users/:cluster_id/jwt",
          "http_method": "GET",
          "handler": "GetDbUserJwt",
          "type": "http"
        },
        {
          "name": "POST /api/v1/admin/db-users/feature/whitelist",
          "name_key": "HTTP POST /api/v1/admin/db-users/feature/whitelist",
          "path": "/api/v1/admin/db-users/feature/whitelist",
          "http_method": "POST",
          "handler": "ConfigFeatureWhitelist",
          "type": "http"
        }
      ]
    }
  ]
}
