Partially update an existing MCP gateway. The servers_config body is deep-merged onto the persisted config — fields you don’t send are left untouched. Semantics:
null at any level means “delete this key” (RFC 7396 / JSON Merge Patch). Examples: common_overrides.input_guardrails_config: null removes that policy; common_overrides: null clears the whole object; servers: null clears the whole array.
The servers array is keyed by (saved_name, server_version). Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved.
To remove a server entry, send it with _delete: true (idempotent — removing a missing server is a no-op).
Inside a guardrails policy, additional_config is deep-merged; arrays (block) and primitives (enabled, guardrail_name) are replaced wholesale.
Partial-update payload. servers_config is deep-merged onto the persisted config — keys you don't send are left untouched. See the /mcp-gateway/modify-gateway operation description for full semantics (null means delete; the servers array is keyed by saved_name + server_version with _delete: true for removal; guardrails policies replace as a unit while additional_config deep-merges).
Partial servers_config. Keys not present are left untouched. null at any level deletes that key. The servers array is upserted by (saved_name, server_version); send _delete: true on an entry to remove it. Per-server entries in this PATCH context additionally accept _delete: true (boolean), which is not part of the persisted shape.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Enkrypt AI","colors":{"primary":"#ff6b6b","light":"#ff8a80","dark":"#ee5a24"},"logo":{"light":"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/light-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=3e4d5072cef08dc6b8885a03a7821b72","dark":"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/dark-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=2134a9f8208236db09c1727430559527"},"favicon":"https://mintcdn.com/enkryptai-42/rjcjkOmgLVUKmbck/favicon.svg?fit=max\u0026auto=format\u0026n=rjcjkOmgLVUKmbck\u0026q=85\u0026s=89efba126b5f4577a46794f171d766f0","appearance":{"default":"light","strict":false},"background":{"decoration":"gradient","color":{"light":"#fff5f5","dark":"#1a0f0f"}},"navbar":{"links":[{"href":"https://app.enkryptai.com/login","label":"Login"},{"href":"https://www.enkryptai.com/request-a-demo","label":"Schedule Demo"}],"primary":{"type":"button","label":"Learn More","href":"https://enkryptai.com"}},"footer":{"socials":{"x":"https://x.com/enkryptai","linkedin":"https://www.linkedin.com/company/enkryptai","website":"https://enkryptai.com"}},"styling":{"codeblocks":"system","latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"enkryptai-42","hasAudioNarration":false,"actualSubdomain":"enkryptai-42","customDomains":["docs.enkryptai.com"],"gitSource":{"type":"github","owner":"enkryptai","repo":"sentry","deployBranch":"docs-wip","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1c016d6a250fd1db8d8b2","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":340},{"language":"default","tag":"Get Started","count":65},{"language":"default","tag":"🗃️ Archived","count":48},{"language":"default","tag":"Get Started for Guardrails","count":39},{"language":"default","tag":"Examples","count":35},{"language":"default","tag":"🔴 Red Team API","count":30},{"language":"default","tag":"🛡️ Guardrails API Endpoints","count":24},{"language":"default","tag":"Red Team (Legacy)","count":22},{"language":"default","tag":"Guardrails Policy (Legacy)","count":11},{"language":"default","tag":"Get Started for Red Team","count":11}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/mcp-gateways-api-reference/endpoint/modify-gateway","slug":"/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway","pageMetadata":{"openapi":"PATCH /mcp-gateway/modify-gateway","title":"Update MCP Gateway","description":"Partially update an existing MCP gateway. The `servers_config` body is **deep-merged** onto the persisted config — fields you don't send are left untouched. Semantics:\n\n- Top-level keys (`common_overrides`, `servers`) update independently.\n- `null` at any level means \"delete this key\" (RFC 7396 / JSON Merge Patch). Examples: `common_overrides.input_guardrails_config: null` removes that policy; `common_overrides: null` clears the whole object; `servers: null` clears the whole array.\n- The `servers` array is keyed by `(saved_name, server_version)`. Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved.\n- To remove a server entry, send it with `_delete: true` (idempotent — removing a missing server is a no-op).\n- Inside a guardrails policy, `additional_config` is deep-merged; arrays (`block`) and primitives (`enabled`, `guardrail_name`) are replaced wholesale.\n\nRequires X-Enkrypt-MCP-Gateway header.","href":"/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Partially update an existing MCP gateway. The \", _jsx(_components.code, {\n children: \"servers_config\"\n }), \" body is \", _jsx(_components.strong, {\n children: \"deep-merged\"\n }), \" onto the persisted config — fields you don’t send are left untouched. Semantics:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"Top-level keys (\", _jsx(_components.code, {\n children: \"common_overrides\"\n }), \", \", _jsx(_components.code, {\n children: \"servers\"\n }), \") update independently.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"null\"\n }), \" at any level means “delete this key” (RFC 7396 / JSON Merge Patch). Examples: \", _jsx(_components.code, {\n children: \"common_overrides.input_guardrails_config: null\"\n }), \" removes that policy; \", _jsx(_components.code, {\n children: \"common_overrides: null\"\n }), \" clears the whole object; \", _jsx(_components.code, {\n children: \"servers: null\"\n }), \" clears the whole array.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"The \", _jsx(_components.code, {\n children: \"servers\"\n }), \" array is keyed by \", _jsx(_components.code, {\n children: \"(saved_name, server_version)\"\n }), \". Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"To remove a server entry, send it with \", _jsx(_components.code, {\n children: \"_delete: true\"\n }), \" (idempotent — removing a missing server is a no-op).\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Inside a guardrails policy, \", _jsx(_components.code, {\n children: \"additional_config\"\n }), \" is deep-merged; arrays (\", _jsx(_components.code, {\n children: \"block\"\n }), \") and primitives (\", _jsx(_components.code, {\n children: \"enabled\"\n }), \", \", _jsx(_components.code, {\n children: \"guardrail_name\"\n }), \") are replaced wholesale.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Requires X-Enkrypt-MCP-Gateway header.\"\n })]\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":"system","config":{},"pageMetadata":{"openapi":"PATCH /mcp-gateway/modify-gateway","title":"Update MCP Gateway","description":"Partially update an existing MCP gateway. The `servers_config` body is **deep-merged** onto the persisted config — fields you don't send are left untouched. Semantics:\n\n- Top-level keys (`common_overrides`, `servers`) update independently.\n- `null` at any level means \"delete this key\" (RFC 7396 / JSON Merge Patch). Examples: `common_overrides.input_guardrails_config: null` removes that policy; `common_overrides: null` clears the whole object; `servers: null` clears the whole array.\n- The `servers` array is keyed by `(saved_name, server_version)`. Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved.\n- To remove a server entry, send it with `_delete: true` (idempotent — removing a missing server is a no-op).\n- Inside a guardrails policy, `additional_config` is deep-merged; arrays (`block`) and primitives (`enabled`, `guardrail_name`) are replaced wholesale.\n\nRequires X-Enkrypt-MCP-Gateway header.","href":"/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Update MCP Gateway","operationId":"modifyGateway","tags":["MCP Gateways"],"description":"Partially update an existing MCP gateway. The `servers_config` body is **deep-merged** onto the persisted config — fields you don't send are left untouched. Semantics:\n\n- Top-level keys (`common_overrides`, `servers`) update independently.\n- `null` at any level means \"delete this key\" (RFC 7396 / JSON Merge Patch). Examples: `common_overrides.input_guardrails_config: null` removes that policy; `common_overrides: null` clears the whole object; `servers: null` clears the whole array.\n- The `servers` array is keyed by `(saved_name, server_version)`. Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved.\n- To remove a server entry, send it with `_delete: true` (idempotent — removing a missing server is a no-op).\n- Inside a guardrails policy, `additional_config` is deep-merged; arrays (`block`) and primitives (`enabled`, `guardrail_name`) are replaced wholesale.\n\nRequires X-Enkrypt-MCP-Gateway header.","parameters":["3d1f6cd3-ecf2-48f4-a81f-a2dd7df62a26","03f76979-1442-4bac-8cf7-32779425027d"],"requestBody":"7abccfbb-81de-44f7-9c0c-63f7174c9879","responses":{"200":"03e585ff-61ae-4cc9-b9b2-5db3f4c4586d","400":"8d0a3da2-524a-463f-a6d5-e640141cc301","401":"99307a86-473e-4f39-ab9b-6842cc1560b3","403":"e84c6859-2046-468f-b7bb-f5a813329767","404":"be45d455-600f-4578-8f34-37f83ef05a2c","500":"6b152170-3ea5-4d5c-913d-7719afbe1215"},"method":"patch","type":"path","servers":["46d259d2-9225-46ce-aca1-4e05427371e5"],"security":["8565320a-4e60-418d-8700-2d1d509f0638"],"path":"/mcp-gateway/modify-gateway","baseUrlOptions":["https://api.enkryptai.com"],"title":"Update MCP Gateway","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3d1f6cd3-ecf2-48f4-a81f-a2dd7df62a26":{"name":"X-Enkrypt-MCP-Gateway","in":"header","required":true,"description":"Gateway saved_name","schema":{"type":"string","maxLength":32,"example":"my-dev-gateway","isRequired":true,"description":"Gateway saved_name","uniqueKey":"","typeLabel":"string"}},"03f76979-1442-4bac-8cf7-32779425027d":{"name":"X-Enkrypt-MCP-Gateway-Version","in":"header","required":false,"description":"Gateway version (defaults to \"v1\")","schema":{"type":"string","default":"v1","example":"v1","isRequired":false,"description":"Gateway version (defaults to \"v1\")","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Partial-update payload. `servers_config` is **deep-merged** onto the persisted config — keys you don't send are left untouched. See the `/mcp-gateway/modify-gateway` operation description for full semantics (null means delete; the `servers` array is keyed by `saved_name + server_version` with `_delete: true` for removal; guardrails policies replace as a unit while `additional_config` deep-merges).","properties":{"servers_config":{"type":"object","description":"Partial servers_config. Keys not present are left untouched. `null` at any level deletes that key. The `servers` array is upserted by `(saved_name, server_version)`; send `_delete: true` on an entry to remove it. Per-server entries in this PATCH context additionally accept `_delete: true` (boolean), which is not part of the persisted shape.","properties":{"common_overrides":{"type":"object","description":"Gateway-wide overrides applied to every server in this gateway. **`common_overrides` always wins** — for any key set here, the same key on a per-server entry in `servers` is ignored at expansion time. Common and per-server can both be persisted, but for any given key common takes precedence.","properties":{"input_guardrails_config":{"type":"object","description":"Gateway-wide override for every server's `input_guardrails_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"servers_config.common_overrides.input_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"servers_config.common_overrides.input_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"servers_config.common_overrides.input_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"servers_config.common_overrides.input_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"servers_config.common_overrides.input_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"servers_config.common_overrides.input_guardrails_config","typeLabel":"object"},"output_guardrails_config":{"type":"object","description":"Gateway-wide override for every server's `output_guardrails_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"servers_config.common_overrides.output_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"servers_config.common_overrides.output_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"servers_config.common_overrides.output_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"servers_config.common_overrides.output_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"servers_config.common_overrides.output_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"servers_config.common_overrides.output_guardrails_config","typeLabel":"object"},"server_tools_guardrails_config":{"type":"object","description":"Gateway-wide guardrails policy applied by the MCP Gateway when it checks server info and tool listings for guardrails violations. The `input` section of the configured guardrail is what is evaluated, with `X-Enkrypt-Mode: prompt`. This field is only supported in `common_overrides` — it has no per-server equivalent and is not a field on the registry server's base `mcp_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"servers_config.common_overrides.server_tools_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"servers_config.common_overrides.server_tools_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"servers_config.common_overrides.server_tools_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"servers_config.common_overrides.server_tools_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"servers_config.common_overrides.server_tools_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"servers_config.common_overrides.server_tools_guardrails_config","typeLabel":"object"}},"uniqueKey":"servers_config.common_overrides","typeLabel":"object"},"servers":{"type":"array","items":{"type":"object","required":["saved_name"],"description":"Reference to a registry server with optional per-server overrides. `input_guardrails_config` or `output_guardrails_config` set here override the corresponding fields on the registry server's base `mcp_config` for this server only — **unless** the same key is also set in `servers_config.common_overrides`, in which case the common value wins and the per-server value is ignored. The gateway-wide `server_tools_guardrails_config` may only be set in `common_overrides`.","properties":{"saved_name":{"type":"string","description":"Reference to registry server saved_name","isRequired":true,"uniqueKey":"servers_config.servers.items.[INDEX].saved_name","typeLabel":"string"},"server_version":{"type":"string","default":"v1","description":"Server version to reference","uniqueKey":"servers_config.servers.items.[INDEX].server_version","typeLabel":"string"},"input_guardrails_config":{"type":"object","description":"Override for the registry server's `input_guardrails_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"servers_config.servers.items.[INDEX].input_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"servers_config.servers.items.[INDEX].input_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"servers_config.servers.items.[INDEX].input_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"servers_config.servers.items.[INDEX].input_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"servers_config.servers.items.[INDEX].input_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"servers_config.servers.items.[INDEX].input_guardrails_config","typeLabel":"object"},"output_guardrails_config":{"type":"object","description":"Override for the registry server's `output_guardrails_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"servers_config.servers.items.[INDEX].output_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"servers_config.servers.items.[INDEX].output_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"servers_config.servers.items.[INDEX].output_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"servers_config.servers.items.[INDEX].output_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"servers_config.servers.items.[INDEX].output_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"servers_config.servers.items.[INDEX].output_guardrails_config","typeLabel":"object"}},"uniqueKey":"servers_config.servers.items.[INDEX]","typeLabel":"object"},"description":"Array of server references with optional per-server overrides. A per-server override is only effective for keys that `servers_config.common_overrides` does not also set; common always wins on conflict.","uniqueKey":"servers_config.servers","typeLabel":"object[]"}},"uniqueKey":"servers_config","typeLabel":"object"},"is_active":{"type":"boolean","description":"Toggle the gateway's active state.","uniqueKey":"is_active","typeLabel":"boolean"},"is_sample":{"type":"boolean","description":"Mark this gateway as a sample.","uniqueKey":"is_sample","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"upsert-server":{"title":"upsert-server","value":{"servers_config":{"servers":[{"saved_name":"my-filesystem-server","server_version":"v1","input_guardrails_config":{"enabled":true,"guardrail_name":"Updated Guardrail","block":["topic_detector","nsfw","keyword_detector"]}}]}}},"update-common-only":{"title":"update-common-only","value":{"servers_config":{"common_overrides":{"input_guardrails_config":{"enabled":false}}}}},"update-common-overrides":{"title":"update-common-overrides","value":{"servers_config":{"common_overrides":{"input_guardrails_config":{"enabled":true,"guardrail_name":"Org Input Guardrail v2","block":["injection_attack","pii","keyword_detector"]},"server_tools_guardrails_config":{"enabled":true,"guardrail_name":"Org Server/Tools Guardrail v2","block":["policy_violation","injection_attack","pii"]}}}}},"remove-server":{"title":"remove-server","value":{"servers_config":{"servers":[{"saved_name":"my-filesystem-server","server_version":"v1","_delete":true}]}}},"clear-policy-via-null":{"title":"clear-policy-via-null","value":{"servers_config":{"common_overrides":{"input_guardrails_config":null}}}},"toggle-active":{"title":"toggle-active","value":{"is_active":false}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"03e585ff-61ae-4cc9-b9b2-5db3f4c4586d":{"description":"Gateway updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Response message","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","properties":{"gateway_saved_name":{"type":"string","description":"User-given name for the gateway","uniqueKey":"data.gateway_saved_name","typeLabel":"string"},"gateway_version":{"type":"string","description":"Gateway version","uniqueKey":"data.gateway_version","typeLabel":"string"},"servers_config":{"type":"object","properties":{"common_overrides":{"type":"object","description":"Gateway-wide overrides applied to every server in this gateway. **`common_overrides` always wins** — for any key set here, the same key on a per-server entry in `servers` is ignored at expansion time. Common and per-server can both be persisted, but for any given key common takes precedence.","properties":{"input_guardrails_config":{"type":"object","description":"Gateway-wide override for every server's `input_guardrails_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"data.servers_config.common_overrides.input_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"data.servers_config.common_overrides.input_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"data.servers_config.common_overrides.input_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"data.servers_config.common_overrides.input_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"data.servers_config.common_overrides.input_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data.servers_config.common_overrides.input_guardrails_config","typeLabel":"object"},"output_guardrails_config":{"type":"object","description":"Gateway-wide override for every server's `output_guardrails_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"data.servers_config.common_overrides.output_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"data.servers_config.common_overrides.output_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"data.servers_config.common_overrides.output_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"data.servers_config.common_overrides.output_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"data.servers_config.common_overrides.output_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data.servers_config.common_overrides.output_guardrails_config","typeLabel":"object"},"server_tools_guardrails_config":{"type":"object","description":"Gateway-wide guardrails policy applied by the MCP Gateway when it checks server info and tool listings for guardrails violations. The `input` section of the configured guardrail is what is evaluated, with `X-Enkrypt-Mode: prompt`. This field is only supported in `common_overrides` — it has no per-server equivalent and is not a field on the registry server's base `mcp_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"data.servers_config.common_overrides.server_tools_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"data.servers_config.common_overrides.server_tools_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"data.servers_config.common_overrides.server_tools_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"data.servers_config.common_overrides.server_tools_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"data.servers_config.common_overrides.server_tools_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data.servers_config.common_overrides.server_tools_guardrails_config","typeLabel":"object"}},"uniqueKey":"data.servers_config.common_overrides","typeLabel":"object"},"servers":{"type":"array","items":{"type":"object","required":["saved_name"],"description":"Reference to a registry server with optional per-server overrides. `input_guardrails_config` or `output_guardrails_config` set here override the corresponding fields on the registry server's base `mcp_config` for this server only — **unless** the same key is also set in `servers_config.common_overrides`, in which case the common value wins and the per-server value is ignored. The gateway-wide `server_tools_guardrails_config` may only be set in `common_overrides`.","properties":{"saved_name":{"type":"string","description":"Reference to registry server saved_name","isRequired":true,"uniqueKey":"data.servers_config.servers.items.[INDEX].saved_name","typeLabel":"string"},"server_version":{"type":"string","default":"v1","description":"Server version to reference","uniqueKey":"data.servers_config.servers.items.[INDEX].server_version","typeLabel":"string"},"input_guardrails_config":{"type":"object","description":"Override for the registry server's `input_guardrails_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"data.servers_config.servers.items.[INDEX].input_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"data.servers_config.servers.items.[INDEX].input_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"data.servers_config.servers.items.[INDEX].input_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"data.servers_config.servers.items.[INDEX].input_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"data.servers_config.servers.items.[INDEX].input_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data.servers_config.servers.items.[INDEX].input_guardrails_config","typeLabel":"object"},"output_guardrails_config":{"type":"object","description":"Override for the registry server's `output_guardrails_config`.","properties":{"enabled":{"type":"boolean","description":"Enable guardrails enforcement","uniqueKey":"data.servers_config.servers.items.[INDEX].output_guardrails_config.enabled","typeLabel":"boolean"},"guardrail_name":{"type":"string","description":"Guardrail identifier","uniqueKey":"data.servers_config.servers.items.[INDEX].output_guardrails_config.guardrail_name","typeLabel":"string"},"additional_config":{"type":"object","additionalProperties":true,"description":"Detector-specific settings","uniqueKey":"data.servers_config.servers.items.[INDEX].output_guardrails_config.additional_config","typeLabel":"object"},"block":{"type":"array","items":{"type":"string","enum":["policy_violation","injection_attack","topic_detector","nsfw","toxicity","pii","keyword_detector","bias","sponge_attack","adherence","relevancy","hallucination"],"uniqueKey":"data.servers_config.servers.items.[INDEX].output_guardrails_config.block.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Violation types triggering rejection. Note - adherence, relevancy, and hallucination are typically used for output guardrails only.","uniqueKey":"data.servers_config.servers.items.[INDEX].output_guardrails_config.block","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"data.servers_config.servers.items.[INDEX].output_guardrails_config","typeLabel":"object"}},"uniqueKey":"data.servers_config.servers.items.[INDEX]","typeLabel":"object"},"description":"Array of server references with optional per-server overrides. A per-server override is only effective for keys that `servers_config.common_overrides` does not also set; common always wins on conflict.","uniqueKey":"data.servers_config.servers","typeLabel":"object[]"}},"uniqueKey":"data.servers_config","typeLabel":"object"},"gateway_id":{"type":"string","description":"Hashed gateway ID","uniqueKey":"data.gateway_id","typeLabel":"string"},"project_name":{"type":"string","description":"Project name","uniqueKey":"data.project_name","typeLabel":"string"},"is_active":{"type":"boolean","description":"Whether the gateway is enabled (distinct from is_deleted)","uniqueKey":"data.is_active","typeLabel":"boolean"},"is_sample":{"type":"boolean","description":"Whether this is a sample gateway","uniqueKey":"data.is_sample","typeLabel":"boolean"},"created_at":{"type":"string","format":"date-time","description":"Creation timestamp","uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Last update timestamp","uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"},"created_by":{"oneOf":[{"type":"string","format":"uuid","description":"User ID who created this gateway","uniqueKey":"data.created_by.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"User ID who created this gateway","uniqueKey":"data.created_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.created_by","typeLabel":"string\u003cuuid> | null"},"updated_by":{"oneOf":[{"type":"string","format":"uuid","description":"User ID who last updated this gateway","uniqueKey":"data.updated_by.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"User ID who last updated this gateway","uniqueKey":"data.updated_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.updated_by","typeLabel":"string\u003cuuid> | null"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","data":{"gateway_saved_name":"\u003cstring>","gateway_version":"\u003cstring>","servers_config":{"common_overrides":{"input_guardrails_config":{"enabled":true,"guardrail_name":"\u003cstring>","additional_config":{},"block":["policy_violation"]},"output_guardrails_config":{"enabled":true,"guardrail_name":"\u003cstring>","additional_config":{},"block":["policy_violation"]},"server_tools_guardrails_config":{"enabled":true,"guardrail_name":"\u003cstring>","additional_config":{},"block":["policy_violation"]}},"servers":[{"saved_name":"\u003cstring>","server_version":"v1","input_guardrails_config":{"enabled":true,"guardrail_name":"\u003cstring>","additional_config":{},"block":["policy_violation"]},"output_guardrails_config":{"enabled":true,"guardrail_name":"\u003cstring>","additional_config":{},"block":["policy_violation"]}}]},"gateway_id":"\u003cstring>","project_name":"\u003cstring>","is_active":true,"is_sample":true,"created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","created_by":"3c90c3cc-0d44-4b50-8888-8dd25736052a","updated_by":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"8d0a3da2-524a-463f-a6d5-e640141cc301":{"description":"Bad request - invalid input","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"99307a86-473e-4f39-ab9b-6842cc1560b3":{"description":"Unauthorized - invalid or missing API key","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e84c6859-2046-468f-b7bb-f5a813329767":{"description":"Forbidden - insufficient permissions","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"be45d455-600f-4578-8f34-37f83ef05a2c":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6b152170-3ea5-4d5c-913d-7719afbe1215":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8565320a-4e60-418d-8700-2d1d509f0638":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"apikey","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"46d259d2-9225-46ce-aca1-4e05427371e5":{"url":"https://api.enkryptai.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"apikey","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"apikey","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"apikey"}],"title":"apiKeyAuth"}]},"originalFileLocation":"enkrypt-openapi.json"},"subdomain":"enkryptai-42","siteName":"Enkrypt AI","title":"Update MCP Gateway - Enkrypt AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-01T11:41:33.265Z","originalFileLocation":"api-reference/mcp-gateways-api-reference/endpoint/modify-gateway.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=\"Partially update an existing MCP gateway. The servers_config body is deep-merged onto the persisted config — fields you don\u0026#x27;t send are left untouched. Semantics: - Top-level keys (common_overrides, servers) update independently. - null at any level means \u0026quot;delete this key\u0026quot; (RFC 7396 / JSON Merge Patch). Examples: common_overrides.input_guardrails_config: null removes that policy; common_overrides: null clears the whole object; servers: null clears the whole array. - The servers array is keyed by (saved_name, server_version). Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved. - To remove a server entry, send it with _delete: true (idempotent — removing a missing server is a no-op). - Inside a guardrails policy, additional_config is deep-merged; arrays (block) and primitives (enabled, guardrail_name) are replaced wholesale. Requires X-Enkrypt-MCP-Gateway header.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Enkrypt AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_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=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update MCP Gateway - Enkrypt AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Partially update an existing MCP gateway. The servers_config body is deep-merged onto the persisted config — fields you don\u0026#x27;t send are left untouched. Semantics: - Top-level keys (common_overrides, servers) update independently. - null at any level means \u0026quot;delete this key\u0026quot; (RFC 7396 / JSON Merge Patch). Examples: common_overrides.input_guardrails_config: null removes that policy; common_overrides: null clears the whole object; servers: null clears the whole array. - The servers array is keyed by (saved_name, server_version). Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved. - To remove a server entry, send it with _delete: true (idempotent — removing a missing server is a no-op). - Inside a guardrails policy, additional_config is deep-merged; arrays (block) and primitives (enabled, guardrail_name) are replaced wholesale. Requires X-Enkrypt-MCP-Gateway header.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Enkrypt AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://enkryptai-42.mintlify.site/_mintlify/api/og/v2?division=%F0%9F%9A%AA+MCP+Gateways+API\u0026amp;title=Update+MCP+Gateway\u0026amp;description=Partially+update+an+existing+MCP+gateway.+The+%60servers_config%60+body+is+**deep-merged**+onto+the+persisted+config+%E2%80%94+fields+you+don%27t+send+are+left+untouched.+Sem\u0026amp;theme=5c5765592b2aa2fed5d07d28\u0026amp;signature=4108f0e69056e696f3c16670f7196e3630274c57694e8a7110b68aadd59de0b0\">\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=\"Update MCP Gateway - Enkrypt AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Partially update an existing MCP gateway. The servers_config body is deep-merged onto the persisted config — fields you don\u0026#x27;t send are left untouched. Semantics: - Top-level keys (common_overrides, servers) update independently. - null at any level means \u0026quot;delete this key\u0026quot; (RFC 7396 / JSON Merge Patch). Examples: common_overrides.input_guardrails_config: null removes that policy; common_overrides: null clears the whole object; servers: null clears the whole array. - The servers array is keyed by (saved_name, server_version). Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved. - To remove a server entry, send it with _delete: true (idempotent — removing a missing server is a no-op). - Inside a guardrails policy, additional_config is deep-merged; arrays (block) and primitives (enabled, guardrail_name) are replaced wholesale. Requires X-Enkrypt-MCP-Gateway header.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://enkryptai-42.mintlify.site/_mintlify/api/og/v2?division=%F0%9F%9A%AA+MCP+Gateways+API\u0026amp;title=Update+MCP+Gateway\u0026amp;description=Partially+update+an+existing+MCP+gateway.+The+%60servers_config%60+body+is+**deep-merged**+onto+the+persisted+config+%E2%80%94+fields+you+don%27t+send+are+left+untouched.+Sem\u0026amp;theme=5c5765592b2aa2fed5d07d28\u0026amp;signature=4108f0e69056e696f3c16670f7196e3630274c57694e8a7110b68aadd59de0b0\">\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=\"/mintlify-assets/_mintlify/favicons/enkryptai-42/zTk8P2FqD4OFror7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Enkrypt AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6b6b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.enkryptai.com/#organization\",\"name\":\"Enkrypt AI\",\"url\":\"https://docs.enkryptai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/enkryptai-42/7kWxrBaXsO0YvXjU/logo/light-logo.png?fit=max\u0026auto=format\u0026n=7kWxrBaXsO0YvXjU\u0026q=85\u0026s=3e4d5072cef08dc6b8885a03a7821b72\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.enkryptai.com#website\",\"name\":\"Enkrypt AI\",\"url\":\"https://docs.enkryptai.com\",\"publisher\":{\"@id\":\"https://docs.enkryptai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway#webpage\",\"url\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway\",\"name\":\"Update MCP Gateway\",\"description\":\"Partially update an existing MCP gateway. The servers_config body is deep-merged onto the persisted config — fields you don't send are left untouched. Semantics: - Top-level keys (common_overrides, servers) update independently. - null at any level means \\\"delete this key\\\" (RFC 7396 / JSON Merge Patch). Examples: common_overrides.input_guardrails_config: null removes that policy; common_overrides: null clears the whole object; servers: null clears the whole array. - The servers array is keyed by (saved_name, server_version). Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved. - To remove a server entry, send it with _delete: true (idempotent — removing a missing server is a no-op). - Inside a guardrails policy, additional_config is deep-merged; arrays (block) and primitives (enabled, guardrail_name) are replaced wholesale. Requires X-Enkrypt-MCP-Gateway header.\",\"dateModified\":\"2026-09-01T11:41:33.265Z\",\"isPartOf\":{\"@id\":\"https://docs.enkryptai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.enkryptai.com/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"🚪 MCP Gateways API\",\"item\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/add-gateway\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update MCP Gateway\",\"item\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway#apireference\",\"headline\":\"Update MCP Gateway\",\"name\":\"Update MCP Gateway\",\"description\":\"Partially update an existing MCP gateway. The servers_config body is deep-merged onto the persisted config — fields you don't send are left untouched. Semantics: - Top-level keys (common_overrides, servers) update independently. - null at any level means \\\"delete this key\\\" (RFC 7396 / JSON Merge Patch). Examples: common_overrides.input_guardrails_config: null removes that policy; common_overrides: null clears the whole object; servers: null clears the whole array. - The servers array is keyed by (saved_name, server_version). Each entry in the patch matches an existing entry by that key — found entries are deep-merged; new ones are appended. Existing entries not referenced in the patch are preserved. - To remove a server entry, send it with _delete: true (idempotent — removing a missing server is a no-op). - Inside a guardrails policy, additional_config is deep-merged; arrays (block) and primitives (enabled, guardrail_name) are replaced wholesale. Requires X-Enkrypt-MCP-Gateway header.\",\"url\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway\",\"mainEntityOfPage\":{\"@id\":\"https://docs.enkryptai.com/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway#webpage\"},\"dateModified\":\"2026-09-01T11:41:33.265Z\",\"publisher\":{\"@id\":\"https://docs.enkryptai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.enkryptai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Enkrypt AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Enkrypt AI","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home/introduction"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Overview","href":"/api-reference/introduction"},{"group":"📋 Code of Conduct API","pages":[{"title":"Infer Document","openapi":"POST /guardrails/policy-wizard/infer-document","href":"/api-reference/coc-api-reference/endpoint/infer-document"},{"title":"Generate Rules","openapi":"POST /guardrails/policy-wizard/generate-rules","href":"/api-reference/coc-api-reference/endpoint/generate-rules"},{"title":"Add Policy","openapi":"POST /code-of-conduct/add-policy","href":"/api-reference/coc-api-reference/endpoint/add-policy"},{"title":"Get Policy","openapi":"GET /code-of-conduct/get-policy","href":"/api-reference/coc-api-reference/endpoint/get-policy"},{"title":"Modify Policy","openapi":"PATCH /code-of-conduct/modify-policy","href":"/api-reference/coc-api-reference/endpoint/modify-policy"},{"title":"Delete Policy","openapi":"DELETE /code-of-conduct/delete-policy","href":"/api-reference/coc-api-reference/endpoint/delete-policy"},{"title":"List Policies","openapi":"GET /code-of-conduct/list-policies","href":"/api-reference/coc-api-reference/endpoint/list-policies"}]},{"group":"🛡️ Guardrails API Endpoints","pages":[{"openapi":"GET /guardrails/health","title":"Health Check","href":"/api-reference/guardrails-api-reference/endpoint/health-check"},{"openapi":"GET /guardrails/status","title":"Status Check","href":"/api-reference/guardrails-api-reference/endpoint/status"},{"openapi":"GET /guardrails/models","title":"Models Loaded","href":"/api-reference/guardrails-api-reference/endpoint/models"},{"openapi":"POST /guardrails/detect","title":"Guardrails Detect","href":"/api-reference/guardrails-api-reference/endpoint/detect"},{"openapi":"POST /guardrails/batch/detect","title":"Guardrails Batch Detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect"},{"title":"Scan URL","openapi":"POST /guardrails/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/scan-url"},{"title":"Scan PDF","openapi":"POST /guardrails/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/scan-pdf"},{"title":"Detect Image","openapi":"POST /guardrails/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/detect-image"},{"title":"Detect Audio","openapi":"POST /guardrails/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/detect-audio"},{"title":"Guardrail Detect Image","openapi":"POST /guardrails/guardrail/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-detect-image"},{"title":"Guardrail Detect Audio","openapi":"POST /guardrails/guardrail/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-detect-audio"},{"openapi":"POST /guardrails/pii","title":"PII anonymization and de-anonymization","href":"/api-reference/guardrails-api-reference/endpoint/pii"},{"openapi":"POST /guardrails/hallucination","title":"Detect Hallucination","href":"/api-reference/guardrails-api-reference/endpoint/hallucination"},{"openapi":"POST /guardrails/adherence","title":"Guardrails Adherence","href":"/api-reference/guardrails-api-reference/endpoint/adherence"},{"openapi":"POST /guardrails/relevancy","title":"Guardrails Relevancy","href":"/api-reference/guardrails-api-reference/endpoint/relevancy"},{"title":"Add Guardrail","openapi":"POST /guardrails/add-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/add-guardrail"},{"title":"Get Guardrail","openapi":"GET /guardrails/get-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/get-guardrail"},{"title":"Modify Guardrail","openapi":"PATCH /guardrails/modify-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/modify-guardrail"},{"title":"Delete Guardrail","openapi":"DELETE /guardrails/delete-guardrail","href":"/api-reference/guardrails-api-reference/endpoint/delete-guardrail"},{"title":"List Guardrails","openapi":"GET /guardrails/list-guardrails","href":"/api-reference/guardrails-api-reference/endpoint/list-guardrails"},{"title":"Detect with Guardrail","openapi":"POST /guardrails/guardrail/detect","href":"/api-reference/guardrails-api-reference/endpoint/detect-using-guardrail"},{"title":"Batch Detect with Guardrail","openapi":"POST /guardrails/guardrail/batch/detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect-using-guardrail"},{"title":"Guardrail Scan URL","openapi":"POST /guardrails/guardrail/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-scan-url"},{"title":"Guardrail Scan PDF","openapi":"POST /guardrails/guardrail/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/guardrail-scan-pdf"}]},{"group":"🤖 Models API (Endpoints)","pages":[{"openapi":"POST /models/add-model","title":"Create Model","href":"/api-reference/models-api-reference/endpoint/add-model"},{"openapi":"GET /models/get-model","title":"Get Model","href":"/api-reference/models-api-reference/endpoint/get-model"},{"openapi":"PATCH /models/modify-model","title":"Modify Model","href":"/api-reference/models-api-reference/endpoint/modify-model"},{"openapi":"DELETE /models/delete-model","title":"Delete Model","href":"/api-reference/models-api-reference/endpoint/delete-model"},{"title":"List Models","openapi":"GET /models/list-models","href":"/api-reference/models-api-reference/endpoint/list-models"},{"openapi":"GET /models/get-defaults","title":"Get Defaults","href":"/api-reference/models-api-reference/endpoint/get-defaults"}]},{"group":"🔴 Red Team API","pages":[{"openapi":"POST /rt/redteam","title":"Run Redteam","href":"/api-reference/redteam-v2-api-reference/endpoint/run-redteam"},{"openapi":"POST /rt/model/redteam","title":"Run Redteam with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-redteam-saved-model"},{"openapi":"POST /rt/redteam/jailbreak","title":"Run Jailbreak Benchmark","href":"/api-reference/redteam-v2-api-reference/endpoint/run-jailbreak"},{"openapi":"POST /rt/model/redteam/jailbreak","title":"Run Jailbreak Benchmark with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-jailbreak-saved-model"},{"openapi":"POST /rt/threat-modeling","title":"Run Threat Modeling","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling"},{"openapi":"POST /rt/threat-modeling/categories","title":"Run Threat Modeling Categories","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling-categories"},{"openapi":"POST /rt/threat-modeling/data","title":"Run Threat Modeling Data","href":"/api-reference/redteam-v2-api-reference/endpoint/run-threat-modeling-data"},{"openapi":"POST /rt/playground","title":"Run Playground","href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground"},{"openapi":"POST /rt/model/playground","title":"Run Playground with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-playground-saved-model"},{"openapi":"POST /rt/eval","title":"Submit Eval Batch","href":"/api-reference/redteam-v2-api-reference/endpoint/submit-eval"},{"openapi":"POST /rt/leaderboard","title":"Run Leaderboard","href":"/api-reference/redteam-v2-api-reference/endpoint/run-leaderboard"},{"openapi":"POST /rt/model/leaderboard","title":"Run Leaderboard with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/run-leaderboard-saved-model"},{"openapi":"GET /rt/runs/{run_id}","title":"Get Run Status","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-status"},{"openapi":"GET /rt/runs/{run_id}/records","title":"Get Run Records","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-records"},{"openapi":"GET /rt/runs/{run_id}/results","title":"Get Run Results","href":"/api-reference/redteam-v2-api-reference/endpoint/get-run-results"},{"openapi":"GET /rt/runs/{run_id}/compliance/{framework_id}","title":"Get Compliance Report","href":"/api-reference/redteam-v2-api-reference/endpoint/get-compliance-report"},{"openapi":"POST /rt/runs/{run_id}/signal/{name}","title":"Send Signal","href":"/api-reference/redteam-v2-api-reference/endpoint/send-signal"},{"openapi":"POST /rt/runs/{run_id}/resume","title":"Resume Run","href":"/api-reference/redteam-v2-api-reference/endpoint/resume-run"},{"openapi":"GET /rt/runs/{run_id}/stream","title":"Stream Run Events","href":"/api-reference/redteam-v2-api-reference/endpoint/stream-run-events"},{"openapi":"GET /wss/redteam/v1/logs/tasks/{owner_id}/{job_id}/{model_folder}/app.log","playground":"none","title":"Stream Run Logs (WebSocket)","href":"/api-reference/redteam-v2-api-reference/endpoint/stream-run-logs"},{"openapi":"GET /rt/datasets/{dataset_id}","title":"Get Dataset","href":"/api-reference/redteam-v2-api-reference/endpoint/get-dataset"},{"openapi":"POST /rt/model-health","title":"Model Health","href":"/api-reference/redteam-v2-api-reference/endpoint/model-health"},{"openapi":"POST /rt/model/model-health","title":"Model Health with saved model","href":"/api-reference/redteam-v2-api-reference/endpoint/model-health-saved"},{"openapi":"GET /redteam/relay/v1/relay/bridge","playground":"none","title":"Connect a relay bridge (WebSocket)","href":"/api-reference/redteam-v2-api-reference/endpoint/relay-bridge-connect"},{"openapi":"GET /redteam/relay/v1/relay/bridges/{bridge_id}/status","title":"Relay bridge status","href":"/api-reference/redteam-v2-api-reference/endpoint/relay-bridge-status"},{"openapi":"POST /rt/findings","title":"Get findings based on summary","href":"/api-reference/redteam-v2-api-reference/endpoint/get-findings"},{"openapi":"POST /rt/risk-mitigation/system-prompt","title":"Generate a system prompt for risk mitigation based on red teaming test results","href":"/api-reference/redteam-v2-api-reference/endpoint/risk-mitigation-system-prompt"},{"openapi":"POST /rt/risk-mitigation/guardrails-policy","title":"Generate a guardrail and policy for risk mitigation based on summary","href":"/api-reference/redteam-v2-api-reference/endpoint/risk-mitigation-guardrails-policy"},{"openapi":"GET /rt/health","title":"Red Team Health","href":"/api-reference/redteam-v2-api-reference/endpoint/health"},{"openapi":"GET /rt/status-check","title":"Red Team Status Check","href":"/api-reference/redteam-v2-api-reference/endpoint/status-check"}]},{"group":"🚀 Deployments API","pages":[{"openapi":"POST /deployments/add-deployment","title":"Create Deployment","href":"/api-reference/deployments-api-reference/endpoint/add-deployment"},{"openapi":"GET /deployments/get-deployment","title":"Get Deployment","href":"/api-reference/deployments-api-reference/endpoint/get-deployment"},{"openapi":"PATCH /deployments/modify-deployment","title":"Modify Deployment","href":"/api-reference/deployments-api-reference/endpoint/modify-deployment"},{"openapi":"DELETE /deployments/delete-deployment","title":"Delete Deployment","href":"/api-reference/deployments-api-reference/endpoint/delete-deployment"},{"title":"List Deployments","openapi":"GET /deployments/list-deployments","href":"/api-reference/deployments-api-reference/endpoint/list-deployments"},{"openapi":"GET /deployments/get-allowed-config","title":"Get Allowed Config","href":"/api-reference/deployments-api-reference/endpoint/get-allowed-config"}]},{"group":"🔌 AI Proxy API","pages":[{"openapi":"POST /ai-proxy/chat/completions","title":"AI Chat Completions Proxy Endpoint","href":"/api-reference/ai-proxy-api-reference/endpoint/chat-completions"},{"openapi":"POST /ai-proxy/completions","title":"AI Completions Proxy Endpoint","href":"/api-reference/ai-proxy-api-reference/endpoint/completions"}]},{"group":"🔒 MCP Hub API","pages":[{"openapi":"POST /mcp-hub/scan","title":"Start a New Vulnerability Scan","href":"/api-reference/mcp-hub-api-reference/endpoint/scan"},{"openapi":"POST /mcp-hub/scan/hosted","title":"Scan a Hosted MCP Server","href":"/api-reference/mcp-hub-api-reference/endpoint/hosted-scan"},{"openapi":"POST /mcp-hub/scan/hosted/config","title":"Scan MCP Servers from Config JSON","href":"/api-reference/mcp-hub-api-reference/endpoint/hosted-scan-from-config"},{"openapi":"GET /mcp-hub/scan/{job_id}/status","title":"Get Scan Job Status","href":"/api-reference/mcp-hub-api-reference/endpoint/get-status"},{"openapi":"GET /mcp-hub/scan/{job_id}/results","title":"Get Complete Scan Results","href":"/api-reference/mcp-hub-api-reference/endpoint/get-results"},{"openapi":"GET /mcp-hub/scans","title":"List Scans","href":"/api-reference/mcp-hub-api-reference/endpoint/list-scans"},{"openapi":"GET /mcp-hub/dashboard-stats","title":"Get MCP Hub Scan Statistics","href":"/api-reference/mcp-hub-api-reference/endpoint/dashboard-stats"},{"openapi":"GET /mcp-hub/usage","title":"Get MCP Hub API Usage Summary","href":"/api-reference/mcp-hub-api-reference/endpoint/usage"}]},{"group":"🗂️ MCP Registry Servers API","pages":[{"openapi":"POST /mcp-registry/add-server","title":"Create MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/add-server"},{"openapi":"POST /mcp-registry/bulk-add-servers","title":"Bulk-create MCP Registry Servers (atomic)","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/bulk-add-servers"},{"openapi":"GET /mcp-registry/get-server","title":"Get MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/get-server"},{"openapi":"PATCH /mcp-registry/modify-server","title":"Update MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/modify-server"},{"openapi":"DELETE /mcp-registry/delete-server","title":"Delete MCP Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/delete-server"},{"openapi":"GET /mcp-registry/list-servers","title":"List MCP Registry Servers","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/list-servers"},{"openapi":"GET /mcp-registry/list-gateways-by-server","title":"List Gateways by Registry Server","href":"/api-reference/mcp-registry-servers-api-reference/endpoint/list-gateways-by-server"}]},{"group":"🚪 MCP Gateways API","pages":[{"openapi":"POST /mcp-gateway/add-gateway","title":"Create MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/add-gateway"},{"openapi":"GET /mcp-gateway/get-gateway","title":"Get MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/get-gateway"},{"openapi":"GET /mcp-gateway/get-gateway-config","title":"Get Expanded MCP Gateway Configuration","description":"Retrieve the complete expanded MCP gateway configuration. Each entry in `expanded_servers[]` carries `mcp_config` = registry server's base `mcp_config` merged with that entry's per-server overrides. **Gateway-wide `servers_config.common_overrides` always wins**: for any override key (`input_guardrails_config`, `output_guardrails_config`, `server_tools_guardrails_config`) that `common_overrides` sets, the key is **omitted** from every server's `mcp_config` (even if a per-server entry also set the same input/output key — the per-server value is dropped). Read those values once from the top-level `common_overrides` in the response. Requires X-Enkrypt-MCP-Gateway header.","href":"/api-reference/mcp-gateways-api-reference/endpoint/get-gateway-config"},{"openapi":"PATCH /mcp-gateway/modify-gateway","title":"Update MCP Gateway","href":"/api-reference/mcp-gateways-api-reference/endpoint/modify-gateway"},{"openapi":"DELETE /mcp-gateway/delete-gateway","title":"Delete MCP Gateway","description":"Soft delete an MCP gateway (sets is_deleted flag). Requires X-Enkrypt-MCP-Gateway header.","href":"/api-reference/mcp-gateways-api-reference/endpoint/delete-gateway"},{"openapi":"GET /mcp-gateway/list-gateways","title":"List MCP Gateways","href":"/api-reference/mcp-gateways-api-reference/endpoint/list-gateways"}]},{"group":"🧪 MCP Playground API","pages":[{"openapi":"POST /mcp-playground/test-server","title":"Test MCP Server Connectivity","href":"/api-reference/mcp-playground-api-reference/endpoint/test-server"},{"openapi":"GET /mcp-playground/get-tools","title":"Get MCP Server Tools","href":"/api-reference/mcp-playground-api-reference/endpoint/get-tools"},{"openapi":"POST /mcp-playground/call-tool","title":"Call MCP Server Tool","href":"/api-reference/mcp-playground-api-reference/endpoint/call-tool"}]},{"group":"📜 Skill Scanner API","pages":[{"openapi":"POST /skill-hub/scan","title":"Submit a Skill Scan","href":"/api-reference/skill-scanner-api-reference/endpoint/scan"},{"openapi":"GET /skill-hub/scans/{scan_id}","title":"Get Skill Scan","href":"/api-reference/skill-scanner-api-reference/endpoint/get-scan"},{"openapi":"GET /skill-hub/scans/{scan_id}/report","title":"Get Skill Scan Report","href":"/api-reference/skill-scanner-api-reference/endpoint/get-report"},{"openapi":"GET /skill-hub/scans","title":"List Skill Scans","href":"/api-reference/skill-scanner-api-reference/endpoint/list-scans"},{"openapi":"GET /skill-hub/healthz","title":"Skill Scanner Health","href":"/api-reference/skill-scanner-api-reference/endpoint/health"}]},{"group":"⚖️ Compliance API","pages":[{"openapi":"POST /compliance/test-connection","title":"Test Compliance Connection","href":"/api-reference/compliance-api-reference/endpoint/test-connection"},{"openapi":"POST /compliance/add-scan","title":"Add Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/add-scan"},{"openapi":"GET /compliance/get-scan","title":"Get Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/get-scan"},{"openapi":"PATCH /compliance/modify-scan","title":"Modify Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/modify-scan"},{"openapi":"DELETE /compliance/delete-scan","title":"Delete Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/delete-scan"},{"openapi":"GET /compliance/list-scans","title":"List Compliance Scans","href":"/api-reference/compliance-api-reference/endpoint/list-scans"},{"openapi":"POST /compliance/start-scan","title":"Start Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/start-scan"},{"openapi":"POST /compliance/pause-scan","title":"Pause Compliance Scan","href":"/api-reference/compliance-api-reference/endpoint/pause-scan"},{"openapi":"GET /compliance/list-log-files","title":"List Compliance Log Files","href":"/api-reference/compliance-api-reference/endpoint/list-log-files"},{"openapi":"GET /compliance/get-message","title":"Get Compliance Message","href":"/api-reference/compliance-api-reference/endpoint/get-message"}]},{"group":"🏆 Leaderboard API","pages":[{"openapi":"GET /leaderboard/v2/models-list","title":"v2 Models List","href":"/api-reference/leaderboard-api-reference/endpoint/v2/models/models-list"},{"openapi":"GET /leaderboard/v2/scores","title":"v2 Scores list","href":"/api-reference/leaderboard-api-reference/endpoint/v2/scores/scores-list"},{"openapi":"GET /leaderboard/v2/scores/{modelName}","title":"v2 Model Score","href":"/api-reference/leaderboard-api-reference/endpoint/v2/scores/model-score"},{"openapi":"GET /leaderboard/v2/details/{modelName}","title":"v2 Model Detail","href":"/api-reference/leaderboard-api-reference/endpoint/v2/details/model-detail"},{"openapi":"GET /leaderboard/v2/summary/{modelName}","title":"v2 Model Summary","href":"/api-reference/leaderboard-api-reference/endpoint/v2/summary/model-summary"},{"openapi":"GET /leaderboard/v2/rank/{modelName}","title":"v2 Model Rank","href":"/api-reference/leaderboard-api-reference/endpoint/v2/rank/model-rank"},{"openapi":"GET /leaderboard/v2/percentiles","title":"v2 Models Risk Percentiles","href":"/api-reference/leaderboard-api-reference/endpoint/v2/percentiles/models-risk-percentiles"}]},{"group":"🗃️ Archived","pages":[{"group":"Datasets (Legacy)","pages":[{"openapi":"POST /datasets/add-task","title":"Datasets Add Task","href":"/api-reference/datasets-api-reference/endpoint/add-task"},{"openapi":"GET /datasets/task-status","title":"Datasets Get Task Status","href":"/api-reference/datasets-api-reference/endpoint/task-status"},{"openapi":"GET /datasets/get-task","title":"Datasets Get Task","href":"/api-reference/datasets-api-reference/endpoint/get-task"},{"openapi":"GET /datasets/get-datacard","title":"Datasets Get Datacard","href":"/api-reference/datasets-api-reference/endpoint/get-datacard"},{"openapi":"GET /datasets/get-dataset","title":"Datasets Get Dataset","href":"/api-reference/datasets-api-reference/endpoint/get-dataset"},{"openapi":"GET /datasets/get-summary","title":"Datasets Get Summary","href":"/api-reference/datasets-api-reference/endpoint/get-summary"},{"title":"List Tasks","openapi":"GET /datasets/list-tasks","href":"/api-reference/datasets-api-reference/endpoint/list-tasks"}]},{"group":"Guardrails Policy (Legacy)","pages":[{"title":"Add Policy (Legacy)","openapi":"POST /guardrails/add-policy","href":"/api-reference/guardrails-api-reference/endpoint/add-policy"},{"title":"Get Policy (Legacy)","openapi":"GET /guardrails/get-policy","href":"/api-reference/guardrails-api-reference/endpoint/get-policy"},{"title":"Modify Policy (Legacy)","openapi":"PATCH /guardrails/modify-policy","href":"/api-reference/guardrails-api-reference/endpoint/modify-policy"},{"title":"Delete Policy (Legacy)","openapi":"DELETE /guardrails/delete-policy","href":"/api-reference/guardrails-api-reference/endpoint/delete-policy"},{"title":"List Policies (Legacy)","openapi":"GET /guardrails/list-policies","href":"/api-reference/guardrails-api-reference/endpoint/list-policies"},{"title":"Detect with Policy (Legacy)","openapi":"POST /guardrails/policy/detect","href":"/api-reference/guardrails-api-reference/endpoint/detect-using-policy"},{"title":"Detect Image with Policy (Legacy)","openapi":"POST /guardrails/policy/detect-image","href":"/api-reference/guardrails-api-reference/endpoint/detect-image-using-policy"},{"title":"Detect Audio with Policy (Legacy)","openapi":"POST /guardrails/policy/detect-audio","href":"/api-reference/guardrails-api-reference/endpoint/detect-audio-using-policy"},{"title":"Policy Batch Detect (Legacy)","openapi":"POST /guardrails/policy/batch/detect","href":"/api-reference/guardrails-api-reference/endpoint/batch-detect-using-policy"},{"title":"Policy Scan URL (Legacy)","openapi":"POST /guardrails/policy/scan-url","href":"/api-reference/guardrails-api-reference/endpoint/policy-scan-url"},{"title":"Policy Scan PDF (Legacy)","openapi":"POST /guardrails/policy/scan-pdf","href":"/api-reference/guardrails-api-reference/endpoint/policy-scan-pdf"}]},{"group":"Red Team (Legacy)","pages":[{"openapi":"GET /redteam/health","title":"Redteam Health","href":"/api-reference/redteam-api-reference/endpoint/health"},{"openapi":"POST /redteam/v3/model-health","title":"Model Health (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-model-health"},{"openapi":"POST /redteam/model/model-health","title":"Model Health of saved model","href":"/api-reference/redteam-api-reference/endpoint/model-health-saved"},{"openapi":"POST /redteam/v3/add-custom-task","title":"Add Custom Task (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-add-custom-task"},{"openapi":"POST /redteam/v3/model/add-custom-task","title":"Add Custom Task with saved model (V3)","href":"/api-reference/redteam-api-reference/endpoint/v3-model-add-custom-task"},{"openapi":"PATCH /redteam/cancel-task","title":"Cancel Task","href":"/api-reference/redteam-api-reference/endpoint/cancel-task"},{"openapi":"GET /redteam/get-task","title":"Get Task","href":"/api-reference/redteam-api-reference/endpoint/get-task"},{"openapi":"GET /redteam/task-status","title":"Get Task Status","href":"/api-reference/redteam-api-reference/endpoint/get-task-status"},{"openapi":"GET /redteam/download-link","title":"Get Download Link","href":"/api-reference/redteam-api-reference/endpoint/get-download-link"},{"openapi":"GET /redteam/v3/results/summary","title":"Get Task Results Summary","href":"/api-reference/redteam-api-reference/endpoint/get-results-summary"},{"openapi":"GET /redteam/v3/results/summary/{test_type}","title":"Get Task Results Summary of a specific test type","href":"/api-reference/redteam-api-reference/endpoint/get-summary-test-type"},{"openapi":"GET /redteam/v3/results/details","title":"Get Task Results Details","href":"/api-reference/redteam-api-reference/endpoint/get-all-details"},{"openapi":"GET /redteam/v3/results/details/{test_type}","title":"Get Task Results Details of a specific test type","href":"/api-reference/redteam-api-reference/endpoint/get-details-test-type"},{"openapi":"POST /redteam/findings","title":"Get findings based on summary","href":"/api-reference/redteam-api-reference/endpoint/get-findings"},{"openapi":"POST /redteam/risk-mitigation/system-prompt","title":"Generate a system prompt for risk mitigation based on red teaming test results","href":"/api-reference/redteam-api-reference/endpoint/risk-mitigation-system-prompt"},{"openapi":"POST /redteam/risk-mitigation/guardrails-policy","title":"Generate a guardrail and policy for risk mitigation based on summary","href":"/api-reference/redteam-api-reference/endpoint/risk-mitigation-guardrails-policy"},{"title":"List All Tasks","openapi":"GET /redteam/list-tasks","href":"/api-reference/redteam-api-reference/endpoint/list-all-tasks"},{"openapi":"POST /redteam/model-health","title":"Model Health","href":"/api-reference/redteam-api-reference/endpoint/model-health"},{"openapi":"POST /redteam/v2/add-task","title":"Add Task","href":"/api-reference/redteam-api-reference/endpoint/add-task"},{"openapi":"POST /redteam/v2/model/add-task","title":"Add Task with saved model","href":"/api-reference/redteam-api-reference/endpoint/model-add-task"},{"openapi":"POST /redteam/v2/add-custom-task","title":"Add Custom Task","href":"/api-reference/redteam-api-reference/endpoint/add-custom-task"},{"openapi":"POST /redteam/v2/model/add-custom-task","title":"Add Custom Task with saved model","href":"/api-reference/redteam-api-reference/endpoint/model-add-custom-task"}]},{"group":"Leaderboard","pages":[{"openapi":"GET /leaderboard/models-list","title":"v1 Models List","href":"/api-reference/leaderboard-api-reference/endpoint/v1/models/models-list"},{"openapi":"GET /leaderboard/scores","title":"v1 Scores list","href":"/api-reference/leaderboard-api-reference/endpoint/v1/scores/scores-list"},{"openapi":"GET /leaderboard/scores/{modelName}","title":"v1 Model Score","href":"/api-reference/leaderboard-api-reference/endpoint/v1/scores/model-score"},{"openapi":"GET /leaderboard/details/{modelName}","title":"v1 Model Detail","href":"/api-reference/leaderboard-api-reference/endpoint/v1/details/model-detail"},{"openapi":"GET /leaderboard/summary/{modelName}","title":"v1 Model Summary","href":"/api-reference/leaderboard-api-reference/endpoint/v1/summary/model-summary"},{"openapi":"GET /leaderboard/rank/{modelName}","title":"v1 Model Rank","href":"/api-reference/leaderboard-api-reference/endpoint/v1/rank/model-rank"},{"openapi":"GET /leaderboard/percentiles","title":"v1 Models Risk Percentiles","href":"/api-reference/leaderboard-api-reference/endpoint/v1/percentiles/models-risk-percentiles"}]},{"group":"Policy Atomizer (Legacy)","pages":[{"title":"Policy Atomizer","openapi":"POST /guardrails/policy-atomizer","href":"/api-reference/coc-api-reference/endpoint/policy-atomizer"}]}]}]}]},{"tab":"SDK Reference","pages":[{"title":"SDK Reference","href":"/sdk-reference/python/introduction"}]},{"tab":"Schema and Postman","pages":[{"title":"Schema and Postman","href":"/schema-and-postman/introduction"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/resources/introduction"}]}]},"basePath":"","title":"Update MCP Gateway - Enkrypt AI","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}