Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. “SELECT 1”) to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.
Config is the candidate federation configuration to test. Required.
Carries the plaintext admin_credentials_json the resolver will use to
authenticate; the value never reaches persistence on this endpoint.
Connection is the candidate connection the probe runs against.
Required. The endpoint does NOT look up a persisted connection by
name/id — the caller supplies the agent, command, script and envs
directly so a wizard draft can be exercised before persistence.
Error is the human-readable failure reason when Success=false.
Populated for federation-resolve failures; probe-side failures are
reported via ProbeStatus + ProbeOutput.
ProbeStatus reports the agent-side outcome. "success" when exit
code was 0; "failed" otherwise; "skipped" when federation resolve
failed and the probe was not dispatched.
SupersededEnvVars lists the candidate connection's static env var
names that the provider's output supersedes and that were therefore
stripped from the probe (and would be stripped from a real session).
Lets the admin UI show "these legacy credentials were ignored" so
the operator can confidently remove them from the persisted
connection. Example: gcp_iam supersedes GOOGLE_APPLICATION_CREDENTIALS.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Hoop.dev - Automated Access and Data Protection","colors":{"primary":"#3E63DD","light":"#8DA2EF","dark":"#3E63DD"},"logo":{"light":"https://mintcdn.com/hoopdev/ndV-rRL4ZXZJLXJY/logo/light.svg?fit=max\u0026auto=format\u0026n=ndV-rRL4ZXZJLXJY\u0026q=85\u0026s=0091927110c2d4309aac8b7862009f98","dark":"https://mintcdn.com/hoopdev/ndV-rRL4ZXZJLXJY/logo/dark.svg?fit=max\u0026auto=format\u0026n=ndV-rRL4ZXZJLXJY\u0026q=85\u0026s=97a884bf002c59bb6af3ddd2b6f3c39f","href":"https://hoop.dev"},"favicon":"https://mintcdn.com/hoopdev/sPLs9WFJMpxuZaYG/favicon.svg?fit=max\u0026auto=format\u0026n=sPLs9WFJMpxuZaYG\u0026q=85\u0026s=de046db57ba72a7e5d7c005a63e5a0c8","appearance":{"default":"light"},"navbar":{"links":[{"href":"https://use.hoop.dev","label":"Sign In"}],"primary":{"type":"button","label":"Get started","href":"https://hoop.dev/start"}},"footer":{"socials":{"x":"https://x.com/hoopdotdev","github":"https://github.com/hoophq","linkedin":"https://www.linkedin.com/company/hoopdev"},"links":[{"header":"Legacy","items":[{"label":"Hoop Gateway","href":"https://hoop.dev/docs/gateway/overview"}]}]},"fonts":{"heading":{"family":"Inter","weight":700},"body":{"family":"Inter"}},"styling":{"codeblocks":"dark","latex":false},"errors":{"404":{"redirect":true}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hoopdev","hasAudioNarration":false,"actualSubdomain":"hoopdev","customDomains":["mintlify.hoop.dev"],"gitSource":{"type":"github","owner":"hoophq","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4d4c5a3796f569fcccad9","collectionId":"2babc989-86f4-4a46-9d06-7f34cfa3e0bb","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4d4c5a3796f569fcccad9"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4d4c5a3796f569fcccad9","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":262},{"language":"default","tag":"Documentation","count":58},{"language":"default","tag":"Sidecar","count":44},{"language":"default","tag":"Reference","count":40},{"language":"default","tag":"Sidecars","count":30},{"language":"default","tag":"Connections","count":25},{"language":"default","tag":"Server Management","count":21},{"language":"default","tag":"Protocols","count":19},{"language":"default","tag":"Runbooks","count":16},{"language":"default","tag":"Sessions","count":15}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--hoop-heading:#0F1631;--hoop-body:#1A1A1A;--hoop-muted:#6E6E6E;--hoop-indigo:#3E63DD;--hoop-indigo-text:#3A5BC7;--hoop-indigo-soft:#E6EDFE;--hoop-indigo-dark:#9EB1FF;--hoop-gray-100:#F7F7F7;--hoop-gray-200:#EBEBEB;--hoop-gray-300:#DEDEDE;--hoop-gray-400:#C4C4C4;--hoop-sans:'Inter', system-ui, -apple-system, sans-serif;--hoop-mono:'JetBrains Mono', 'SF Mono', monospace;--sand-100:#F7F7F7;--sand-100-rgb:247, 247, 247;--sand-200:#EBEBEB;--sand-300:#DEDEDE;--sand-400:#C4C4C4;--sand-500:#8E8E8E;--sand-500-rgb:142, 142, 142;--warm-gold:#8DA2EF;--warm-gold-rgb:141, 162, 239;--bronze:#5A5A5A;--bronze-rgb:90, 90, 90;--bronze-dark:#333333;--bronze-dark-rgb:51, 51, 51;--espresso:#0F1631;--espresso-rgb:15, 22, 49;--error:#6E6E6E;--error-rgb:110, 110, 110;--success:#30A46C;--success-rgb:48, 164, 108;--prompt:#8DA2EF;--gradient-dark-start:#0F1631;--gradient-dark-start-rgb:15, 22, 49;--gradient-dark-mid:#141B38;--gradient-dark-end:#1A2142;--mono:'JetBrains Mono', 'SF Mono', monospace;--sans:'Inter', system-ui, -apple-system, sans-serif;--display:'Inter', system-ui, sans-serif}:root:not(.dark) #body-content,:root:not(.dark) #body-content blockquote,:root:not(.dark) #body-content dd,:root:not(.dark) #body-content li,:root:not(.dark) #body-content p,:root:not(.dark) #body-content span,:root:not(.dark) #body-content td{color:var(--hoop-body)!important}:root:not(.dark) #body-content h1,:root:not(.dark) #body-content h2,:root:not(.dark) #body-content h3,:root:not(.dark) #body-content h4,:root:not(.dark) #body-content h5,:root:not(.dark) #body-content h6,:root:not(.dark) #body-content strong{color:var(--hoop-heading)!important;letter-spacing:-.03em}.prose strong{font-weight:600}:root:not(.dark) #header #page-title,:root:not(.dark) #header h1{color:var(--hoop-heading)!important;font-weight:700!important;font-size:2.75rem!important;line-height:1.04!important;letter-spacing:-.04em!important}:root.dark #header #page-title,:root.dark #header h1{font-weight:700!important;font-size:2.75rem!important;line-height:1.04!important;letter-spacing:-.04em!important}#header #page-title~p,#header p:first-of-type{font-size:1.2rem!important;line-height:1.5!important;color:#5a6178!important}:root.dark #header #page-title~p,:root.dark #header p:first-of-type{color:#9ba1b8!important}#page-title{margin-bottom:.75rem!important}#header{padding-bottom:.5rem}:root.dark #body-content h2,:root:not(.dark) #body-content h2{margin-top:2.75rem!important;margin-bottom:1rem!important}:root.dark #body-content h3,:root:not(.dark) #body-content h3{margin-top:2rem!important}html[data-current-path=\"/introduction/getting-started\"] #header #page-title{font-size:3.25rem!important;line-height:1!important;letter-spacing:-.045em!important}html[data-current-path=\"/introduction/getting-started\"] #header #page-title~p,html[data-current-path=\"/introduction/getting-started\"] #header p:first-of-type{font-size:1.35rem!important;max-width:40ch}html[data-current-path=\"/introduction/getting-started\"] #header{padding-bottom:1rem}:root:not(.dark) #body-content a{color:var(--hoop-indigo-text)!important;text-decoration-color:transparent;text-underline-offset:2px;transition:text-decoration-color .15s ease}:root:not(.dark) #body-content a:hover{text-decoration-color:var(--hoop-indigo-text)}:root:not(.dark) #body-content :not(pre)>code{background:var(--hoop-indigo-soft);color:var(--hoop-indigo-text)!important;border-radius:4px;padding:2px 6px;font-size:.875em}:root:not(.dark) #body-content table thead th{color:var(--hoop-heading)!important;font-weight:600}:root:not(.dark) #sidebar a{color:#333;transition:color .15s ease}#sidebar a,.card{border-radius:0!important}:root:not(.dark) #sidebar a:hover{color:var(--hoop-heading)}:root:not(.dark) #sidebar a[data-active=true]{color:var(--hoop-indigo-text);font-weight:500}:root:not(.dark) #navbar{border-bottom:1px solid var(--hoop-gray-200)}:root:not(.dark) .card{border:1px solid var(--hoop-gray-200);transition:border-color .15s ease}:root:not(.dark) .card:hover{border-color:var(--hoop-indigo)}:root:not(.dark) .code-block{border-radius:8px;border:1px solid var(--hoop-gray-200)}:root:not(.dark) #footer{border-top:1px solid var(--hoop-gray-200)}:root:not(.dark) .tabs [data-active=true]{color:var(--hoop-indigo-text);border-color:var(--hoop-indigo)}:root.dark #body-content a{color:var(--hoop-indigo-dark)!important}:root.dark #sidebar a[data-active=true]{color:var(--hoop-indigo-dark);font-weight:500}:root.dark .card:hover{border-color:var(--hoop-indigo)}[class*=rounded-]:not([class*=rounded-full]){border-radius:0!important}#body-content input:not([type=checkbox]):not([type=radio]),#navbar [class~=\"group/search\"],input[type=email],input[type=password],input[type=search],input[type=text],input[type=url]{border-radius:9999px!important}#navbar a [class*=rounded-],#navbar a[class*=rounded-],#navbar button,#navbar button [class*=rounded-],#sidebar a div[class~=rounded-md],.feedback-toolbar a[class*=rounded-],[class*=chat-assistant] div[class*=rounded-],button[class][class*=rounded-]{border-radius:9999px!important}[data-badge]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}::selection{background:rgba(62,99,221,.15)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--hoop-gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--hoop-gray-400)}"}],"page":{"pagePath":"api-reference/federation/test-a-federation-configuration-end-to-end","slug":"/api-reference/federation/test-a-federation-configuration-end-to-end","pageMetadata":{"title":"Test a Federation Configuration End-to-End","description":"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. \"SELECT 1\") to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /federation/test","href":"/api-reference/federation/test-a-federation-configuration-end-to-end","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. “SELECT 1”) to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Test a Federation Configuration End-to-End","description":"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. \"SELECT 1\") to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /federation/test","href":"/api-reference/federation/test-a-federation-configuration-end-to-end","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/hoopdev/0abad469b68aca32/scripts.js","/docs/_mintlify/custom/hoopdev/8b86904971d4ca88/scripts/process-connections.js"],"openApiReferenceData":{"operation":{"description":"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. \"SELECT 1\") to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.","requestBody":"1fe8efed-2f80-40df-a762-e2d313a84777","responses":{"200":"b46ee736-3369-499c-9caa-7c8cc5e6d01f","400":"01c21e58-7eef-4ff8-888e-cc8b0f88a4ac","500":"9064e98c-7896-4373-816c-340cdd9171f9"},"summary":"Test a Federation Configuration End-to-End","tags":["Federation"],"method":"post","type":"path","servers":["c5efafea-4145-40ab-80dd-addab83f0f79"],"security":[],"path":"/federation/test","baseUrlOptions":["https://use.hoop.dev/api"],"title":"Test a Federation Configuration End-to-End","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"config":{"type":"object","description":"Config is the candidate federation configuration to test. Required.\nCarries the plaintext admin_credentials_json the resolver will use to\nauthenticate; the value never reaches persistence on this endpoint.","required":["hook_source"],"properties":{"hook_source":{"description":"HookSource selects which resolver category the gateway runs. Only the\nbuilt-in resolver category ships today; the field is preserved so new\nsources can be added without breaking existing configurations.","enum":["builtin"],"example":"builtin","type":"string","isRequired":true,"uniqueKey":"config.hook_source","typeLabel":"enum\u003cstring>"},"admin_credentials_json":{"description":"AdminCredentialsJSON is the plaintext admin credential blob. Its shape is\nprovider-specific: for gcp_iam it is the admin service-account JSON; for\ngcp_oauth it is the OAuth client config JSON ({\"client_id\":\"...\",\n\"client_secret\":\"...\"}). Write-only — never returned on GET. Required on\nthe initial POST when HookSource=builtin; optional on PUT (omitting it\nleaves the stored value unchanged).","type":"string","uniqueKey":"config.admin_credentials_json","typeLabel":"string"},"builtin_provider":{"description":"BuiltinProvider is required when HookSource=builtin. \"gcp_iam\"\nimpersonates a per-user service account via an admin SA key; \"gcp_oauth\"\nmints tokens from a per-user Google OAuth refresh token (no service\naccounts).","enum":["gcp_iam","gcp_oauth"],"example":"gcp_iam","type":"string","uniqueKey":"config.builtin_provider","typeLabel":"enum\u003cstring>"},"connection_id":{"description":"ConnectionID is the connection this federation config applies to.\nPopulated by the server from the URL path on writes.","example":"15B5A2FD-0706-4A47-B1CF-B93CCFC5B3D7","type":"string","uniqueKey":"config.connection_id","typeLabel":"string"},"created_at":{"description":"CreatedAt / UpdatedAt are server-set audit timestamps.","example":"2025-05-25T17:00:00Z","type":"string","uniqueKey":"config.created_at","typeLabel":"string"},"extra_config":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"config.extra_config.additionalProperties","typeLabel":"any"},"description":"ExtraConfig is provider-specific freeform JSON (e.g. {\"project_id\":\n\"my-gcp-proj\"}). The gateway does not interpret unknown keys.","type":"object","uniqueKey":"config.extra_config","typeLabel":"object"},"fallback_policy":{"description":"FallbackPolicy controls behavior when resolution fails. \"deny\" aborts\nthe session; \"static\" skips federation and lets the session run on the\nconnection's existing static credentials.","enum":["deny","static"],"example":"deny","type":"string","uniqueKey":"config.fallback_policy","typeLabel":"enum\u003cstring>"},"has_admin_credentials":{"description":"HasAdminCredentials is server-set on GET responses to let the UI know\nwhether a credential is stored without exposing its value.","example":true,"type":"boolean","uniqueKey":"config.has_admin_credentials","typeLabel":"boolean"},"id":{"description":"ID is the federation row's UUID. Empty on POST requests; populated on\nGET/PUT responses.","example":"15B5A2FD-0706-4A47-B1CF-B93CCFC5B3D7","type":"string","uniqueKey":"config.id","typeLabel":"string"},"identity_source_attribute":{"description":"IdentitySourceAttribute is a JSONPath-like accessor into the Hoop user\n(defaults to $.user.email).","example":"$.user.email","type":"string","uniqueKey":"config.identity_source_attribute","typeLabel":"string"},"identity_target_template":{"description":"IdentityTargetTemplate is the principal template the source attribute\nsubstitutes into (defaults to \"{user.email}\").","example":"{user.email}","type":"string","uniqueKey":"config.identity_target_template","typeLabel":"string"},"token_ttl_seconds":{"description":"TokenTTLSeconds caps the lifetime of generated credentials (default\n3600, max 43200). Built-in providers may clamp lower based on cloud\nAPI limits.","example":3600,"type":"integer","uniqueKey":"config.token_ttl_seconds","typeLabel":"integer"},"updated_at":{"example":"2025-05-25T17:00:00Z","type":"string","uniqueKey":"config.updated_at","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config","typeLabel":"object"},"connection":{"type":"object","description":"Connection is the candidate connection the probe runs against.\nRequired. The endpoint does NOT look up a persisted connection by\nname/id — the caller supplies the agent, command, script and envs\ndirectly so a wizard draft can be exercised before persistence.","required":["agent_id","command","test_script"],"properties":{"agent_id":{"description":"AgentID is the agent the probe will run on. Required. Must be the\nid of an agent currently connected to the gateway.","example":"15B5A2FD-0706-4A47-B1CF-B93CCFC5B3D7","type":"string","isRequired":true,"uniqueKey":"connection.agent_id","typeLabel":"string"},"command":{"description":"Command is the argv the agent invokes. args[0] is the binary,\nargs[1:] are flags. Required: keeping it caller-supplied avoids\nshipping connection-type-specific defaults inside the gateway that\nmay drift from real connections.","example":["bq","query","--use_legacy_sql=false"],"items":{"type":"string","uniqueKey":"connection.command.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"connection.command","typeLabel":"string[]"},"test_script":{"description":"TestScript is the payload fed to the spawned process on stdin (and\nrendered through text/template by the agent). For SQL connections\nthis is the smoke query (e.g. \"SELECT 1\"). Required for the same\nreason as Command: the gateway does not infer it.","example":"SELECT 1","type":"string","isRequired":true,"uniqueKey":"connection.test_script","typeLabel":"string"},"envs":{"additionalProperties":{"type":"string","uniqueKey":"connection.envs.additionalProperties","typeLabel":"string"},"description":"Envs are the candidate connection's static env vars (host, port,\nproject id, etc.). The federation-produced env vars are merged on\ntop; on conflict the federated value wins.","type":"object","uniqueKey":"connection.envs","typeLabel":"object"},"subtype":{"example":"bigquery","type":"string","uniqueKey":"connection.subtype","typeLabel":"string"},"type":{"description":"Type and SubType mirror the persisted connection's type+subtype.\nInformational only: the gateway does not derive any behaviour from\nthem today — the probe binary is taken from Command. They are\nsurfaced in the response to make audit-trail correlation easier and\nto give future versions a structured place to plug in\ntype-aware defaults without breaking the wire contract.","example":"database","type":"string","uniqueKey":"connection.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"connection","typeLabel":"object"},"user_email":{"description":"UserEmail is the synthetic user to resolve. Required.","example":"alice@example.com","type":"string","isRequired":true,"uniqueKey":"user_email","typeLabel":"string"},"user_id":{"description":"UserID is the synthetic user ID. Optional; defaults to a deterministic\nUUID derived from UserEmail.","example":"00000000-0000-0000-0000-000000000001","type":"string","uniqueKey":"user_id","typeLabel":"string"}},"required":["config","connection","user_email"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"config":{"hook_source":"builtin","admin_credentials_json":"\u003cstring>","builtin_provider":"gcp_iam","connection_id":"15B5A2FD-0706-4A47-B1CF-B93CCFC5B3D7","created_at":"2025-05-25T17:00:00Z","extra_config":{},"fallback_policy":"deny","has_admin_credentials":true,"id":"15B5A2FD-0706-4A47-B1CF-B93CCFC5B3D7","identity_source_attribute":"$.user.email","identity_target_template":"{user.email}","token_ttl_seconds":3600,"updated_at":"2025-05-25T17:00:00Z"},"connection":{"agent_id":"15B5A2FD-0706-4A47-B1CF-B93CCFC5B3D7","command":["bq","query","--use_legacy_sql=false"],"test_script":"SELECT 1","envs":{},"subtype":"bigquery","type":"database"},"user_email":"alice@example.com","user_id":"00000000-0000-0000-0000-000000000001"}}},"exampleType":"generated"}},"description":"The request body resource","required":true,"x-originalParamName":"request","exampleType":"generated"},"responses":{"b46ee736-3369-499c-9caa-7c8cc5e6d01f":{"content":{"application/json":{"schema":{"properties":{"admin_principal":{"description":"AdminPrincipal is the impersonator identity (e.g. admin SA email).","example":"hoop-admin@proj.iam.gserviceaccount.com","type":"string","uniqueKey":"admin_principal","typeLabel":"string"},"env_var_keys":{"description":"EnvVarKeys lists the env vars the resolver injected into the probe.\nValues are never returned.","example":["HOOP_GCP_ACCESS_TOKEN","HOOP_GCP_TOKEN_EXPIRES_AT"],"items":{"type":"string","uniqueKey":"env_var_keys.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"env_var_keys","typeLabel":"string[]"},"error":{"description":"Error is the human-readable failure reason when Success=false.\nPopulated for federation-resolve failures; probe-side failures are\nreported via ProbeStatus + ProbeOutput.","example":"failed minting access token: permission denied","type":"string","uniqueKey":"error","typeLabel":"string"},"probe_output":{"description":"ProbeOutput is the agent's merged stdout+stderr from the smoke\nprobe. Empty when ProbeStatus=\"skipped\".","example":"+---+\n| f0_ |\n+---+\n| 1 |\n+---+","type":"string","uniqueKey":"probe_output","typeLabel":"string"},"probe_status":{"description":"ProbeStatus reports the agent-side outcome. \"success\" when exit\ncode was 0; \"failed\" otherwise; \"skipped\" when federation resolve\nfailed and the probe was not dispatched.","enum":["success","failed","skipped"],"example":"success","type":"string","uniqueKey":"probe_status","typeLabel":"enum\u003cstring>"},"resolved_principal":{"description":"ResolvedPrincipal is the principal the resolver impersonated.","example":"alice@example.com","type":"string","uniqueKey":"resolved_principal","typeLabel":"string"},"success":{"description":"Success is true only when federation resolved AND the agent probe\nreturned exit code 0.","example":true,"type":"boolean","uniqueKey":"success","typeLabel":"boolean"},"superseded_env_vars":{"description":"SupersededEnvVars lists the candidate connection's static env var\nnames that the provider's output supersedes and that were therefore\nstripped from the probe (and would be stripped from a real session).\nLets the admin UI show \"these legacy credentials were ignored\" so\nthe operator can confidently remove them from the persisted\nconnection. Example: gcp_iam supersedes GOOGLE_APPLICATION_CREDENTIALS.","example":["GOOGLE_APPLICATION_CREDENTIALS"],"items":{"type":"string","uniqueKey":"superseded_env_vars.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"superseded_env_vars","typeLabel":"string[]"},"token_expires_at":{"description":"TokenExpiresAt is the would-be credential expiry.","example":"2025-05-25T18:00:00Z","type":"string","uniqueKey":"token_expires_at","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"admin_principal":"hoop-admin@proj.iam.gserviceaccount.com","env_var_keys":["HOOP_GCP_ACCESS_TOKEN","HOOP_GCP_TOKEN_EXPIRES_AT"],"error":"failed minting access token: permission denied","probe_output":"+---+\n| f0_ |\n+---+\n| 1 |\n+---+","probe_status":"success","resolved_principal":"alice@example.com","success":true,"superseded_env_vars":["GOOGLE_APPLICATION_CREDENTIALS"],"token_expires_at":"2025-05-25T18:00:00Z"}}},"exampleType":"generated"}},"description":"OK","exampleType":"generated"},"01c21e58-7eef-4ff8-888e-cc8b0f88a4ac":{"content":{"application/json":{"schema":{"properties":{"message":{"example":"the error description","type":"string","uniqueKey":"message","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"the error description"}}},"exampleType":"generated"}},"description":"Bad Request","exampleType":"generated"},"9064e98c-7896-4373-816c-340cdd9171f9":{"content":{"application/json":{"schema":{"properties":{"message":{"example":"the error description","type":"string","uniqueKey":"message","typeLabel":"string"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"the error description"}}},"exampleType":"generated"}},"description":"Internal Server Error","exampleType":"generated"}},"security":{},"servers":{"c5efafea-4145-40ab-80dd-addab83f0f79":{"url":"https://use.hoop.dev/api"}}},"originalFileLocation":"https://use.hoop.dev/api/openapiv3.json"},"subdomain":"hoopdev","siteName":"Hoop.dev - Automated Access and Data Protection","title":"Test a Federation Configuration End-to-End - Hoop.dev - Automated Access and Data Protection","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T13:08:50.223Z","originalFileLocation":"api-reference/federation/test-a-federation-configuration-end-to-end.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. \u0026quot;SELECT 1\u0026quot;) to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hoop.dev - Automated Access and Data Protection\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Test a Federation Configuration End-to-End - Hoop.dev - Automated Access and Data Protection\">\u003cmeta data-mint-head property=\"og:description\" content=\"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. \u0026quot;SELECT 1\u0026quot;) to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hoop.dev - Automated Access and Data Protection\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hoopdev.mintlify.app/_mintlify/api/og/v2?division=Federation\u0026amp;title=Test+a+Federation+Configuration+End-to-End\u0026amp;description=Resolves+the+candidate+federation+configuration+against+a+synthetic+user+AND+dispatches+a+one-shot+smoke+probe+%28the+caller-supplied+test_script%2C+e.g.+%22SELECT+1%22\u0026amp;theme=cd9e830ca75131fdfc692d5c\u0026amp;signature=29abcb0fa5789bede730f8701356d5a0dd1cce01eace30b055fe5612ca768a4f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Test a Federation Configuration End-to-End - Hoop.dev - Automated Access and Data Protection\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. \u0026quot;SELECT 1\u0026quot;) to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hoopdev.mintlify.app/_mintlify/api/og/v2?division=Federation\u0026amp;title=Test+a+Federation+Configuration+End-to-End\u0026amp;description=Resolves+the+candidate+federation+configuration+against+a+synthetic+user+AND+dispatches+a+one-shot+smoke+probe+%28the+caller-supplied+test_script%2C+e.g.+%22SELECT+1%22\u0026amp;theme=cd9e830ca75131fdfc692d5c\u0026amp;signature=29abcb0fa5789bede730f8701356d5a0dd1cce01eace30b055fe5612ca768a4f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/hoopdev/jvt1FQ1AzCynh7ga/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hoop.dev - Automated Access and Data Protection\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3E63DD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/federation/test-a-federation-configuration-end-to-end.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://mintlify.hoop.dev/#organization\",\"name\":\"Hoop.dev - Automated Access and Data Protection\",\"url\":\"https://mintlify.hoop.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hoopdev/ndV-rRL4ZXZJLXJY/logo/light.svg?fit=max\u0026auto=format\u0026n=ndV-rRL4ZXZJLXJY\u0026q=85\u0026s=0091927110c2d4309aac8b7862009f98\"}},{\"@type\":\"WebSite\",\"@id\":\"https://mintlify.hoop.dev/docs#website\",\"name\":\"Hoop.dev - Automated Access and Data Protection\",\"url\":\"https://mintlify.hoop.dev/docs\",\"publisher\":{\"@id\":\"https://mintlify.hoop.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end#webpage\",\"url\":\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end\",\"name\":\"Test a Federation Configuration End-to-End\",\"description\":\"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. \\\"SELECT 1\\\") to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.\",\"dateModified\":\"2026-10-30T13:08:50.223Z\",\"isPartOf\":{\"@id\":\"https://mintlify.hoop.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Federation\",\"item\":\"https://mintlify.hoop.dev/docs/api-reference/federation/report-the-users-per-user-federation-connection-status\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Test a Federation Configuration End-to-End\",\"item\":\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end#apireference\",\"headline\":\"Test a Federation Configuration End-to-End\",\"name\":\"Test a Federation Configuration End-to-End\",\"description\":\"Resolves the candidate federation configuration against a synthetic user AND dispatches a one-shot smoke probe (the caller-supplied test_script, e.g. \\\"SELECT 1\\\") to the agent identified in the request body. Persisted state is never read or written: the entire candidate connection + federation pair lives in the body. Returns the resolved principal, the env-var keys that were injected (values are never returned), and the agent-side stdout/stderr of the probe. Success requires both phases to succeed.\",\"url\":\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end\",\"mainEntityOfPage\":{\"@id\":\"https://mintlify.hoop.dev/docs/api-reference/federation/test-a-federation-configuration-end-to-end#webpage\"},\"dateModified\":\"2026-10-30T13:08:50.223Z\",\"publisher\":{\"@id\":\"https://mintlify.hoop.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://mintlify.hoop.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hoop.dev - Automated Access and Data Protection\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hoop.dev - Automated Access and Data Protection","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/introduction/getting-started"}]},{"anchor":"Hoop Gateway","icon":"server","hidden":true,"pages":[{"title":"Hoop Gateway","href":"/gateway/overview"}]},{"anchor":"Community","icon":"github","href":"https://github.com/hoophq/hoop/discussions"},{"anchor":"Blog","icon":"newspaper","href":"https://hoop.dev/blog"},{"anchor":"API Reference","icon":"square-terminal","groups":[{"group":"Server Management","pages":[{"title":"Get MCP OAuth Authorization Server Metadata","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /.well-known/oauth-authorization-server","href":"/api-reference/server-management/get-mcp-oauth-authorization-server-metadata"},{"title":"HealthCheck","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /healthz","href":"/api-reference/server-management/healthcheck"},{"title":"Register MCP OAuth Client","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /mcp/oauth/register","href":"/api-reference/server-management/register-mcp-oauth-client"},{"title":"Get Organization Analytics Mode","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /orgs/analytics-mode","href":"/api-reference/server-management/get-organization-analytics-mode"},{"title":"Update Organization Analytics Mode","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /orgs/analytics-mode","href":"/api-reference/server-management/update-organization-analytics-mode"},{"title":"Get Organization Hide Role Info","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /orgs/hide-role-info","href":"/api-reference/server-management/get-organization-hide-role-info"},{"title":"Update Organization Hide Role Info","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /orgs/hide-role-info","href":"/api-reference/server-management/update-organization-hide-role-info"},{"title":"Update Org License","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /orgs/license","href":"/api-reference/server-management/update-org-license"},{"title":"Sign License","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /orgs/license/sign","href":"/api-reference/server-management/sign-license"},{"title":"Get Organization Onboarding Status","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /orgs/onboarding","href":"/api-reference/server-management/get-organization-onboarding-status"},{"title":"Get Organization Protection Profile","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /orgs/protection-profile","href":"/api-reference/server-management/get-organization-protection-profile"},{"title":"Update Organization Protection Profile","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /orgs/protection-profile","href":"/api-reference/server-management/update-organization-protection-profile"},{"title":"Get Public Server Info","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /publicserverinfo","href":"/api-reference/server-management/get-public-server-info"},{"title":"Get Authentication Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /serverconfig/auth","href":"/api-reference/server-management/get-authentication-configuration"},{"title":"Update Authentication Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /serverconfig/auth","href":"/api-reference/server-management/update-authentication-configuration"},{"title":"Generate API Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /serverconfig/auth/apikey","href":"/api-reference/server-management/generate-api-key"},{"title":"Get MCP OAuth 2.1 Resource Server Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /serverconfig/mcp-auth","href":"/api-reference/server-management/get-mcp-oauth-21-resource-server-configuration"},{"title":"Update MCP OAuth 2.1 Resource Server Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /serverconfig/mcp-auth","href":"/api-reference/server-management/update-mcp-oauth-21-resource-server-configuration"},{"title":"Get Server Miscellaneous Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /serverconfig/misc","href":"/api-reference/server-management/get-server-miscellaneous-configuration"},{"title":"Update Server Miscellaneous Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /serverconfig/misc","href":"/api-reference/server-management/update-server-miscellaneous-configuration"},{"title":"Get Server Info","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /serverinfo","href":"/api-reference/server-management/get-server-info"}]},{"group":"Access Request Rules","pages":[{"title":"List Access Request Rules","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /access-requests/rules","href":"/api-reference/access-request-rules/list-access-request-rules"},{"title":"Create Access Request Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /access-requests/rules","href":"/api-reference/access-request-rules/create-access-request-rule"},{"title":"Get Access Request Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /access-requests/rules/{name}","href":"/api-reference/access-request-rules/get-access-request-rule"},{"title":"Update Access Request Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /access-requests/rules/{name}","href":"/api-reference/access-request-rules/update-access-request-rule"},{"title":"Delete Access Request Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /access-requests/rules/{name}","href":"/api-reference/access-request-rules/delete-access-request-rule"}]},{"group":"Agents","pages":[{"title":"List Agent Tags","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /agent-tags","href":"/api-reference/agents/list-agent-tags"},{"title":"List Agent Keys","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /agents","href":"/api-reference/agents/list-agent-keys"},{"title":"Create Agent Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /agents","href":"/api-reference/agents/create-agent-key"},{"title":"Get Agent Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /agents/{nameOrID}","href":"/api-reference/agents/get-agent-key"},{"title":"Delete Agent Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /agents/{nameOrID}","href":"/api-reference/agents/delete-agent-key"},{"title":"Update Agent Tags","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /agents/{nameOrID}/tags","href":"/api-reference/agents/update-agent-tags"}]},{"group":"AI Agents","pages":[{"title":"List AI Agents","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /ai-agents","href":"/api-reference/ai-agents/list-ai-agents"},{"title":"Create AI Agent","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /ai-agents","href":"/api-reference/ai-agents/create-ai-agent"},{"title":"Get AI Agent","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /ai-agents/{nameOrID}","href":"/api-reference/ai-agents/get-ai-agent"},{"title":"Update AI Agent","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /ai-agents/{nameOrID}","href":"/api-reference/ai-agents/update-ai-agent"},{"title":"Revoke AI Agent","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /ai-agents/{nameOrID}","href":"/api-reference/ai-agents/revoke-ai-agent"},{"title":"Reactivate AI Agent","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /ai-agents/{nameOrID}/reactivate","href":"/api-reference/ai-agents/reactivate-ai-agent"}]},{"group":"AI","pages":[{"title":"Get AI Session Analyzer Provider","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /ai/session-analyzer/providers","href":"/api-reference/ai/get-ai-session-analyzer-provider"},{"title":"Upsert AI Session Analyzer Provider","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /ai/session-analyzer/providers","href":"/api-reference/ai/upsert-ai-session-analyzer-provider"},{"title":"Delete AI Session Analyzer Provider","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /ai/session-analyzer/providers","href":"/api-reference/ai/delete-ai-session-analyzer-provider"},{"title":"List AI Session Analyzer Rules","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /ai/session-analyzer/rules","href":"/api-reference/ai/list-ai-session-analyzer-rules"},{"title":"Create AI Session Analyzer Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /ai/session-analyzer/rules","href":"/api-reference/ai/create-ai-session-analyzer-rule"},{"title":"Get AI Session Analyzer Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /ai/session-analyzer/rules/{name}","href":"/api-reference/ai/get-ai-session-analyzer-rule"},{"title":"Update AI Session Analyzer Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /ai/session-analyzer/rules/{name}","href":"/api-reference/ai/update-ai-session-analyzer-rule"},{"title":"Delete AI Session Analyzer Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /ai/session-analyzer/rules/{name}","href":"/api-reference/ai/delete-ai-session-analyzer-rule"},{"title":"Get AI Session Analyzer System Prompt","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /ai/session-analyzer/system-prompt","href":"/api-reference/ai/get-ai-session-analyzer-system-prompt"},{"title":"Get AI Session Analyzer Rule by Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrId}/ai-session-analyzer-rule","href":"/api-reference/ai/get-ai-session-analyzer-rule-by-connection"}]},{"group":"API Keys","pages":[{"title":"List API Keys","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /api-keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Create API Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /api-keys","href":"/api-reference/api-keys/create-api-key"},{"title":"Get API Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /api-keys/{nameOrID}","href":"/api-reference/api-keys/get-api-key"},{"title":"Update API Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /api-keys/{nameOrID}","href":"/api-reference/api-keys/update-api-key"},{"title":"Revoke API Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /api-keys/{nameOrID}","href":"/api-reference/api-keys/revoke-api-key"},{"title":"Reactivate API Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /api-keys/{nameOrID}/reactivate","href":"/api-reference/api-keys/reactivate-api-key"}]},{"group":"Approvals","pages":[{"title":"Get Approval List","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /approvals","href":"/api-reference/approvals/get-approval-list"},{"title":"Count Approvals","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /approvals/count","href":"/api-reference/approvals/count-approvals"},{"title":"Get Approval","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /approvals/{id}","href":"/api-reference/approvals/get-approval"},{"title":"Update Approval Status","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /approvals/{id}","href":"/api-reference/approvals/update-approval-status"},{"title":"Get Approval List","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /reviews","href":"/api-reference/approvals/get-approval-list-1"},{"title":"Get Approval","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /reviews/{id}","href":"/api-reference/approvals/get-approval-1"},{"title":"Update Approval Status","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /reviews/{id}","href":"/api-reference/approvals/update-approval-status-1"},{"title":"Update Approval Status By Sid","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /sessions/{session_id}/approval","href":"/api-reference/approvals/update-approval-status-by-sid"},{"title":"Update Approval Status By Sid","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /sessions/{session_id}/review","href":"/api-reference/approvals/update-approval-status-by-sid-1"}]},{"group":"Attributes","pages":[{"title":"List Attributes","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /attributes","href":"/api-reference/attributes/list-attributes"},{"title":"Create Attribute","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /attributes","href":"/api-reference/attributes/create-attribute"},{"title":"Get Attribute","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /attributes/{name}","href":"/api-reference/attributes/get-attribute"},{"title":"Update Attribute","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /attributes/{name}","href":"/api-reference/attributes/update-attribute"},{"title":"Delete Attribute","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /attributes/{name}","href":"/api-reference/attributes/delete-attribute"}]},{"group":"Audit Logs","pages":[{"title":"List security audit logs","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /audit/logs","href":"/api-reference/audit-logs/list-security-audit-logs"}]},{"group":"Authentication","pages":[{"title":"OIDC | Login Callback","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /callback","href":"/api-reference/authentication/oidc-|-login-callback"},{"title":"Local | Login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /localauth/login","href":"/api-reference/authentication/local-|-login"},{"title":"Local | Register User","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /localauth/register","href":"/api-reference/authentication/local-|-register-user"},{"title":"OIDC | Login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /login","href":"/api-reference/authentication/oidc-|-login"},{"title":"SAML | Login Callback","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /saml/callback","href":"/api-reference/authentication/saml-|-login-callback"},{"title":"SAML | Login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /saml/login","href":"/api-reference/authentication/saml-|-login"},{"title":"OIDC | Signup","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /signup","href":"/api-reference/authentication/oidc-|-signup"}]},{"group":"Connections","pages":[{"title":"List Active Connection Credentials","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connection-credentials","href":"/api-reference/connections/list-active-connection-credentials"},{"title":"List Connections","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections","href":"/api-reference/connections/list-connections"},{"title":"Create Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /connections","href":"/api-reference/connections/create-connection"},{"title":"List Connection Tags","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections-tags","href":"/api-reference/connections/list-connection-tags"},{"title":"Get Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}","href":"/api-reference/connections/get-connection"},{"title":"Update Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /connections/{nameOrID}","href":"/api-reference/connections/update-connection"},{"title":"Delete Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /connections/{nameOrID}","href":"/api-reference/connections/delete-connection"},{"title":"Patch Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json patch /connections/{nameOrID}","href":"/api-reference/connections/patch-connection"},{"title":"Get Table Columns","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}/columns","href":"/api-reference/connections/get-table-columns"},{"title":"Get Active Connection Credentials","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}/credentials","href":"/api-reference/connections/get-active-connection-credentials"},{"title":"Create Connection Credentials","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /connections/{nameOrID}/credentials","href":"/api-reference/connections/create-connection-credentials"},{"title":"Close Connection Credentials Session","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /connections/{nameOrID}/credentials/{credentialID}/close","href":"/api-reference/connections/close-connection-credentials-session"},{"title":"Revoke Connection Credentials","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /connections/{nameOrID}/credentials/{credentialID}/revoke","href":"/api-reference/connections/revoke-connection-credentials"},{"title":"Resume Connection Credentials Request","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /connections/{nameOrID}/credentials/{sessionID}","href":"/api-reference/connections/resume-connection-credentials-request"},{"title":"List Databases","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}/databases","href":"/api-reference/connections/list-databases"},{"title":"Update Data Masking Rule Connections","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /connections/{nameOrID}/datamasking-rules","href":"/api-reference/connections/update-data-masking-rule-connections"},{"title":"Get Federation Configuration for a Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}/federation","href":"/api-reference/connections/get-federation-configuration-for-a-connection"},{"title":"Upsert Federation Configuration for a Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /connections/{nameOrID}/federation","href":"/api-reference/connections/upsert-federation-configuration-for-a-connection"},{"title":"Delete Federation Configuration for a Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /connections/{nameOrID}/federation","href":"/api-reference/connections/delete-federation-configuration-for-a-connection"},{"title":"List Database Tables","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}/tables","href":"/api-reference/connections/list-database-tables"},{"title":"Test Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}/test","href":"/api-reference/connections/test-connection"},{"title":"List MCP Server Catalog","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /mcp-catalog","href":"/api-reference/connections/list-mcp-server-catalog"},{"title":"Start the OAuth login flow for an MCP connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /mcp-oauth/authorize","href":"/api-reference/connections/start-the-oauth-login-flow-for-an-mcp-connection"},{"title":"OAuth callback for MCP connection login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /mcp-oauth/callback","href":"/api-reference/connections/oauth-callback-for-mcp-connection-login"},{"title":"Retrieve the token obtained by an MCP OAuth login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /mcp-oauth/token/{flowID}","href":"/api-reference/connections/retrieve-the-token-obtained-by-an-mcp-oauth-login"}]},{"group":"Federation","pages":[{"title":"Report the user's per-user federation connection status","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}/federation/oauth","href":"/api-reference/federation/report-the-users-per-user-federation-connection-status"},{"title":"Disconnect a user's Google account from a connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /connections/{nameOrID}/federation/oauth","href":"/api-reference/federation/disconnect-a-users-google-account-from-a-connection"},{"title":"Start the Google OAuth consent flow for a connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /connections/{nameOrID}/federation/oauth/authorize","href":"/api-reference/federation/start-the-google-oauth-consent-flow-for-a-connection"},{"title":"Google OAuth callback for connection federation","description":"Google's OAuth redirect target. Validates the state issued by the authorize endpoint, exchanges the authorization code for a refresh token, stores it for the user/connection, and redirects the browser back to the application with federation_oauth=success|error. This endpoint is unauthenticated but state-validated, and is not called directly by clients.","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /federation/oauth/callback","href":"/api-reference/federation/google-oauth-callback-for-connection-federation"},{"title":"Test a Federation Configuration End-to-End","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /federation/test","href":"/api-reference/federation/test-a-federation-configuration-end-to-end"}]},{"group":"Data Masking Rules","pages":[{"title":"List Data Masking Rules","description":"List Data Masking Rules","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /datamasking-rules","href":"/api-reference/data-masking-rules/list-data-masking-rules"},{"title":"Create Data Masking Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /datamasking-rules","href":"/api-reference/data-masking-rules/create-data-masking-rule"},{"title":"Get Data Masking Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /datamasking-rules/{id}","href":"/api-reference/data-masking-rules/get-data-masking-rule"},{"title":"Update Data Masking Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /datamasking-rules/{id}","href":"/api-reference/data-masking-rules/update-data-masking-rule"},{"title":"Delete Data Masking Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /datamasking-rules/{id}","href":"/api-reference/data-masking-rules/delete-data-masking-rule"}]},{"group":"AWS","pages":[{"title":"List DB Role Jobs","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /dbroles/jobs","href":"/api-reference/aws/list-db-role-jobs"},{"title":"Create Database Role Job","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /dbroles/jobs","href":"/api-reference/aws/create-database-role-job"},{"title":"Get DB Role Job","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /dbroles/jobs/{id}","href":"/api-reference/aws/get-db-role-job"},{"title":"Update IAM Access Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /integrations/aws/iam/accesskeys","href":"/api-reference/aws/update-iam-access-key"},{"title":"Delete IAM Access Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /integrations/aws/iam/accesskeys","href":"/api-reference/aws/delete-iam-access-key"},{"title":"Get Caller Identity","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /integrations/aws/iam/userinfo","href":"/api-reference/aws/get-caller-identity"},{"title":"List AWS Accounts","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /integrations/aws/organizations","href":"/api-reference/aws/list-aws-accounts"},{"title":"Create RDS Root Password","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /integrations/aws/rds/credentials","href":"/api-reference/aws/create-rds-root-password"},{"title":"List Database Instances","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /integrations/aws/rds/describe-db-instances","href":"/api-reference/aws/list-database-instances"}]},{"group":"Live Events","pages":[{"title":"Stream Live Events","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /events/stream","href":"/api-reference/live-events/stream-live-events"}]},{"group":"Feature Flags","pages":[{"title":"List Feature Flags","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /feature-flags","href":"/api-reference/feature-flags/list-feature-flags"},{"title":"Update Feature Flag","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /feature-flags/{name}","href":"/api-reference/feature-flags/update-feature-flag"}]},{"group":"Features","pages":[{"title":"OpenAI Chat Completions","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /features/ask-ai/v1/chat/completions","href":"/api-reference/features/openai-chat-completions"},{"title":"Feature Update","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /orgs/features","href":"/api-reference/features/feature-update"},{"title":"Get Webhooks Dashboard","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /webhooks-dashboard","href":"/api-reference/features/get-webhooks-dashboard"}]},{"group":"Guard Rails","pages":[{"title":"List Guard Rail Rules","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /guardrails","href":"/api-reference/guard-rails/list-guard-rail-rules"},{"title":"Create Guard Rail Rules","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /guardrails","href":"/api-reference/guard-rails/create-guard-rail-rules"},{"title":"Get Guard Rail Rules","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /guardrails/{id}","href":"/api-reference/guard-rails/get-guard-rail-rules"},{"title":"Update Guard Rail Rules","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /guardrails/{id}","href":"/api-reference/guard-rails/update-guard-rail-rules"},{"title":"Delete a Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /guardrails/{id}","href":"/api-reference/guard-rails/delete-a-rule"}]},{"group":"Jira","pages":[{"title":"Get Jira Integration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /integrations/jira","href":"/api-reference/jira/get-jira-integration"},{"title":"Update Jira Integration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /integrations/jira","href":"/api-reference/jira/update-jira-integration"},{"title":"Create Jira Integration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /integrations/jira","href":"/api-reference/jira/create-jira-integration"},{"title":"Get Asset Field Configurations","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /integrations/jira/assets/fieldconfigs","href":"/api-reference/jira/get-asset-field-configurations"},{"title":"Get Asset Objects","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /integrations/jira/assets/objects","href":"/api-reference/jira/get-asset-objects"},{"title":"List Issue Templates","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /integrations/jira/issuetemplates","href":"/api-reference/jira/list-issue-templates"},{"title":"Create Issue Templates","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /integrations/jira/issuetemplates","href":"/api-reference/jira/create-issue-templates"},{"title":"Get Issue Templates","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /integrations/jira/issuetemplates/{id}","href":"/api-reference/jira/get-issue-templates"},{"title":"Update Issue Templates","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /integrations/jira/issuetemplates/{id}","href":"/api-reference/jira/update-issue-templates"},{"title":"Delete Issue Templates","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /integrations/jira/issuetemplates/{id}","href":"/api-reference/jira/delete-issue-templates"}]},{"group":"Machine Identities","pages":[{"title":"List Machine Identities","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /machineidentities","href":"/api-reference/machine-identities/list-machine-identities"},{"title":"Create Machine Identity","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /machineidentities","href":"/api-reference/machine-identities/create-machine-identity"},{"title":"Get Machine Identity","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /machineidentities/{name}","href":"/api-reference/machine-identities/get-machine-identity"},{"title":"Update Machine Identity","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /machineidentities/{name}","href":"/api-reference/machine-identities/update-machine-identity"},{"title":"Delete Machine Identity","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /machineidentities/{name}","href":"/api-reference/machine-identities/delete-machine-identity"},{"title":"List Machine Identity Credentials","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /machineidentities/{name}/credentials","href":"/api-reference/machine-identities/list-machine-identity-credentials"},{"title":"Rotate Machine Identity Credential","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /machineidentities/{name}/credentials/{connectionName}/rotate","href":"/api-reference/machine-identities/rotate-machine-identity-credential"}]},{"group":"Session Metrics","pages":[{"title":"Get Session Metrics","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /metrics/sessions","href":"/api-reference/session-metrics/get-session-metrics"}]},{"group":"User Management","pages":[{"title":"Handle Organization Invitation","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /orgs/invitations","href":"/api-reference/user-management/handle-organization-invitation"},{"title":"List Service Accounts","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /serviceaccounts","href":"/api-reference/user-management/list-service-accounts"},{"title":"Create Service Account","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /serviceaccounts","href":"/api-reference/user-management/create-service-account"},{"title":"Update Service Account","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /serviceaccounts/{subject}","href":"/api-reference/user-management/update-service-account"},{"title":"Get UserInfo","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /userinfo","href":"/api-reference/user-management/get-userinfo"},{"title":"List Users","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /users","href":"/api-reference/user-management/list-users"},{"title":"Create User","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /users","href":"/api-reference/user-management/create-user"},{"title":"List User Groups","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /users/groups","href":"/api-reference/user-management/list-user-groups"},{"title":"Create User Group","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /users/groups","href":"/api-reference/user-management/create-user-group"},{"title":"Delete User Group","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /users/groups/{name}","href":"/api-reference/user-management/delete-user-group"},{"title":"Answer Signup Origin Survey","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /users/self/signup-origin","href":"/api-reference/user-management/answer-signup-origin-survey"},{"title":"Patch User Slack ID","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json patch /users/self/slack","href":"/api-reference/user-management/patch-user-slack-id"},{"title":"Get User","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /users/{emailOrID}","href":"/api-reference/user-management/get-user"},{"title":"Update User","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /users/{emailOrID}","href":"/api-reference/user-management/update-user"},{"title":"Delete User","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /users/{emailOrID}","href":"/api-reference/user-management/delete-user"}]},{"group":"Organization Management","pages":[{"title":"Get Org Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /orgs/keys","href":"/api-reference/organization-management/get-org-key"},{"title":"Create Org Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /orgs/keys","href":"/api-reference/organization-management/create-org-key"},{"title":"Revoke Org Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /orgs/keys","href":"/api-reference/organization-management/revoke-org-key"}]},{"group":"Plugins","pages":[{"title":"List Plugins","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /plugins","href":"/api-reference/plugins/list-plugins"},{"title":"Create Plugin","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /plugins","href":"/api-reference/plugins/create-plugin"},{"title":"Get Plugin","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /plugins/{name}","href":"/api-reference/plugins/get-plugin"},{"title":"Update Plugin","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /plugins/{name}","href":"/api-reference/plugins/update-plugin"},{"title":"Update Plugin Config","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /plugins/{name}/config","href":"/api-reference/plugins/update-plugin-config"},{"title":"Get Plugin Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /plugins/{name}/conn/{id}","href":"/api-reference/plugins/get-plugin-connection"},{"title":"Upsert Plugin Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /plugins/{name}/conn/{id}","href":"/api-reference/plugins/upsert-plugin-connection"},{"title":"Delete Plugin Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /plugins/{name}/conn/{id}","href":"/api-reference/plugins/delete-plugin-connection"}]},{"group":"Runbooks","pages":[{"title":"Runbook Exec","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /plugins/runbooks/connections/{name}/exec","href":"/api-reference/runbooks/runbook-exec"},{"title":"List Runbooks By Connection","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /plugins/runbooks/connections/{name}/templates","href":"/api-reference/runbooks/list-runbooks-by-connection"},{"title":"List Runbooks","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /plugins/runbooks/templates","href":"/api-reference/runbooks/list-runbooks"},{"title":"List Runbooks","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /runbooks","href":"/api-reference/runbooks/list-runbooks-1"},{"title":"Get Runbook Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /runbooks/configurations","href":"/api-reference/runbooks/get-runbook-configuration"},{"title":"Update Runbook Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /runbooks/configurations","href":"/api-reference/runbooks/update-runbook-configuration"},{"title":"Create Runbook Configuration Entry","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /runbooks/configurations","href":"/api-reference/runbooks/create-runbook-configuration-entry"},{"title":"Update Runbook Configuration Entry","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /runbooks/configurations/{id}","href":"/api-reference/runbooks/update-runbook-configuration-entry"},{"title":"Delete Runbook Configuration Entry","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /runbooks/configurations/{id}","href":"/api-reference/runbooks/delete-runbook-configuration-entry"},{"title":"Create Runbook File","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /runbooks/configurations/{id}/files","href":"/api-reference/runbooks/create-runbook-file"},{"title":"Runbook Exec","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /runbooks/exec","href":"/api-reference/runbooks/runbook-exec-1"},{"title":"List Runbook Rules","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /runbooks/rules","href":"/api-reference/runbooks/list-runbook-rules"},{"title":"Create Runbook Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /runbooks/rules","href":"/api-reference/runbooks/create-runbook-rule"},{"title":"Get Runbook Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /runbooks/rules/{id}","href":"/api-reference/runbooks/get-runbook-rule"},{"title":"Update Runbook Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /runbooks/rules/{id}","href":"/api-reference/runbooks/update-runbook-rule"},{"title":"Delete Runbook Rule","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /runbooks/rules/{id}","href":"/api-reference/runbooks/delete-runbook-rule"}]},{"group":"Proxy Manager","pages":[{"title":"ProxyManager Connect","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /proxymanager/connect","href":"/api-reference/proxy-manager/proxymanager-connect"},{"title":"ProxyManager Disconnect","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /proxymanager/disconnect","href":"/api-reference/proxy-manager/proxymanager-disconnect"},{"title":"ProxyManager Status","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /proxymanager/status","href":"/api-reference/proxy-manager/proxymanager-status"}]},{"group":"Reports","pages":[{"title":"Get Compliance Report","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /reports/compliance","href":"/api-reference/reports/get-compliance-report"},{"title":"Session Reports","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /reports/sessions","href":"/api-reference/reports/session-reports"}]},{"group":"Resources","pages":[{"title":"Lists resources","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /resources","href":"/api-reference/resources/lists-resources"},{"title":"Creates a resource","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /resources","href":"/api-reference/resources/creates-a-resource"},{"title":"Applies a batch of resource plans","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /resources/apply","href":"/api-reference/resources/applies-a-batch-of-resource-plans"},{"title":"Tests connectivity for multiple resources","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /resources/health","href":"/api-reference/resources/tests-connectivity-for-multiple-resources"},{"title":"Creates a batch of resource plans","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /resources/plan","href":"/api-reference/resources/creates-a-batch-of-resource-plans"},{"title":"Gets a resource","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /resources/{name}","href":"/api-reference/resources/gets-a-resource"},{"title":"Updates a resource","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /resources/{name}","href":"/api-reference/resources/updates-a-resource"},{"title":"Deletes a resource","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /resources/{name}","href":"/api-reference/resources/deletes-a-resource"},{"title":"Applies a resource plan","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /resources/{name}/apply","href":"/api-reference/resources/applies-a-resource-plan"},{"title":"Tests connectivity for a resource","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /resources/{name}/health","href":"/api-reference/resources/tests-connectivity-for-a-resource"},{"title":"Creates a resource plan","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /resources/{name}/plan","href":"/api-reference/resources/creates-a-resource-plan"}]},{"group":"Rulepacks","pages":[{"title":"List Rulepacks","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /rulepacks","href":"/api-reference/rulepacks/list-rulepacks"},{"title":"Get Rulepack","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /rulepacks/{id}","href":"/api-reference/rulepacks/get-rulepack"},{"title":"Apply Rulepack to Connections","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /rulepacks/{id}/apply","href":"/api-reference/rulepacks/apply-rulepack-to-connections"}]},{"group":"Search","pages":[{"title":"Search","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /search","href":"/api-reference/search/search"}]},{"group":"Server Logs","pages":[{"title":"List Server Logs","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /server-logs","href":"/api-reference/server-logs/list-server-logs"},{"title":"Stream Server Logs","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /server-logs/stream","href":"/api-reference/server-logs/stream-server-logs"}]},{"group":"Sessions","pages":[{"title":"List Sessions","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sessions","href":"/api-reference/sessions/list-sessions"},{"title":"Exec","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sessions","href":"/api-reference/sessions/exec"},{"title":"Analyze an exec before the run forms","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sessions/analyze","href":"/api-reference/sessions/analyze-an-exec-before-the-run-forms"},{"title":"Create a provisioned session using API Key","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sessions/provision","href":"/api-reference/sessions/create-a-provisioned-session-using-api-key"},{"title":"Retry RDP PII analysis","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sessions/{id}/rdp-detections/retry","href":"/api-reference/sessions/retry-rdp-pii-analysis"},{"title":"Get Session","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sessions/{session_id}","href":"/api-reference/sessions/get-session"},{"title":"Download Session","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sessions/{session_id}/download","href":"/api-reference/sessions/download-session"},{"title":"Download Session Input Command","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sessions/{session_id}/download/input","href":"/api-reference/sessions/download-session-input-command"},{"title":"Approved Exec","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sessions/{session_id}/exec","href":"/api-reference/sessions/approved-exec"},{"title":"Kill Session","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sessions/{session_id}/kill","href":"/api-reference/sessions/kill-session"},{"title":"Update Session Metadata","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json patch /sessions/{session_id}/metadata","href":"/api-reference/sessions/update-session-metadata"},{"title":"Get RDP session PII detections","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sessions/{session_id}/rdp-detections","href":"/api-reference/sessions/get-rdp-session-pii-detections"},{"title":"Get RDP session frames","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sessions/{session_id}/rdp-frames","href":"/api-reference/sessions/get-rdp-session-frames"},{"title":"Stream Session Result","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sessions/{session_id}/result/stream","href":"/api-reference/sessions/stream-session-result"},{"title":"Stream Session Events","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sessions/{session_id}/stream","href":"/api-reference/sessions/stream-session-events"}]},{"group":"Sidecars","pages":[{"title":"List Sidecar Deleted Names","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecar-deleted-names","href":"/api-reference/sidecars/list-sidecar-deleted-names"},{"title":"Clear Sidecar Deleted Name","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /sidecar-deleted-names/{name}","href":"/api-reference/sidecars/clear-sidecar-deleted-name"},{"title":"List Sidecar Service Accounts","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecar-service-accounts","href":"/api-reference/sidecars/list-sidecar-service-accounts"},{"title":"Create Sidecar Service Account","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecar-service-accounts","href":"/api-reference/sidecars/create-sidecar-service-account"},{"title":"Get Sidecar Service Account","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecar-service-accounts/{id}","href":"/api-reference/sidecars/get-sidecar-service-account"},{"title":"Update Sidecar Service Account","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /sidecar-service-accounts/{id}","href":"/api-reference/sidecars/update-sidecar-service-account"},{"title":"Delete Sidecar Service Account","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /sidecar-service-accounts/{id}","href":"/api-reference/sidecars/delete-sidecar-service-account"},{"title":"List Sidecars","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecars","href":"/api-reference/sidecars/list-sidecars"},{"title":"Create Sidecar","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars","href":"/api-reference/sidecars/create-sidecar"},{"title":"Sidecar Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecars/configuration","href":"/api-reference/sidecars/sidecar-configuration"},{"title":"Import Sidecar Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /sidecars/configuration","href":"/api-reference/sidecars/import-sidecar-configuration"},{"title":"Record Sidecar Session Events","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/events","href":"/api-reference/sidecars/record-sidecar-session-events"},{"title":"Sidecar Handshake","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/handshake","href":"/api-reference/sidecars/sidecar-handshake"},{"title":"Start a sidecar login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/login","href":"/api-reference/sidecars/start-a-sidecar-login"},{"title":"Poll a sidecar login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/login/poll","href":"/api-reference/sidecars/poll-a-sidecar-login"},{"title":"Get a sidecar login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecars/login/{code}","href":"/api-reference/sidecars/get-a-sidecar-login"},{"title":"Approve a sidecar login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/login/{code}/approve","href":"/api-reference/sidecars/approve-a-sidecar-login"},{"title":"Deny a sidecar login","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/login/{code}/deny","href":"/api-reference/sidecars/deny-a-sidecar-login"},{"title":"List Sidecar Approval Requests","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecars/reviews","href":"/api-reference/sidecars/list-sidecar-approval-requests"},{"title":"Create Sidecar Approval Request","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/reviews","href":"/api-reference/sidecars/create-sidecar-approval-request"},{"title":"Get Sidecar Approval Status","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecars/reviews/{id}","href":"/api-reference/sidecars/get-sidecar-approval-status"},{"title":"Claim Sidecar Approval Request","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/reviews/{id}/claim","href":"/api-reference/sidecars/claim-sidecar-approval-request"},{"title":"Settle Sidecar Approval Request","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /sidecars/reviews/{id}/settle","href":"/api-reference/sidecars/settle-sidecar-approval-request"},{"title":"Get Sidecar","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecars/{nameOrID}","href":"/api-reference/sidecars/get-sidecar"},{"title":"Update Sidecar","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /sidecars/{nameOrID}","href":"/api-reference/sidecars/update-sidecar"},{"title":"Delete Sidecar","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /sidecars/{nameOrID}","href":"/api-reference/sidecars/delete-sidecar"},{"title":"Patch Sidecar Configuration","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json patch /sidecars/{nameOrID}","href":"/api-reference/sidecars/patch-sidecar-configuration"},{"title":"Clear Sidecar Identity","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /sidecars/{nameOrID}/identity","href":"/api-reference/sidecars/clear-sidecar-identity"},{"title":"Get Sidecar Slack Channels","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /sidecars/{nameOrID}/slack-channels","href":"/api-reference/sidecars/get-sidecar-slack-channels"},{"title":"Set Sidecar Slack Channels","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /sidecars/{nameOrID}/slack-channels","href":"/api-reference/sidecars/set-sidecar-slack-channels"}]},{"group":"SPIFFE","pages":[{"title":"List SPIFFE Mappings","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json get /spiffe-mappings","href":"/api-reference/spiffe/list-spiffe-mappings"},{"title":"Create SPIFFE Mapping","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json post /spiffe-mappings","href":"/api-reference/spiffe/create-spiffe-mapping"},{"title":"Update SPIFFE Mapping","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json put /spiffe-mappings/{id}","href":"/api-reference/spiffe/update-spiffe-mapping"},{"title":"Delete SPIFFE Mapping","deprecated":null,"version":null,"openapi":"https://use.hoop.dev/api/openapiv3.json delete /spiffe-mappings/{id}","href":"/api-reference/spiffe/delete-spiffe-mapping"}]}]}]},"basePath":"","title":"Test a Federation Configuration End-to-End - Hoop.dev - Automated Access and Data Protection","buildId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","deploymentId":"dpl_4RHMRqtvdHvKgaEfTTjFqjzja3B6","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-D_4Sesi0.js","utils-DRHeK26p.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C6d-DUc2.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dex7slho.js","snippetPresets-BcCEBp0Z.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CufowNTX.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-A4lJSCIe.js","shallow-DqoHP7zn.js","getApiPlaygroundDisplay-Cku8AmtL.js","CodeSnippet-CtHQbNqc.js","CodeSnippets-CGo5Cslf.js","Page-BoJxk0m8.js","getPastedJson-M-bKdue4.js","icon-DEqCU4st.js","MethodPill-DnfSSXiJ.js","DuplicateIcon-BHu2PE8M.js","createIcon-BPsE5X7c.js","DynamicMarkdown-Dnt6YhtR.js","SectionHeading-6CtFWqMQ.js","axios-vUo_bRtp.js","Markdown-BoKe_1fI.js","clsx-DM5-sUNJ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CkIdkovK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-B3e6Nh_r.js"]}