curl --request PATCH \
--url https://api.enkryptai.com/mcp-gateway/modify-gateway \
--header 'Content-Type: application/json' \
--header 'X-Enkrypt-MCP-Gateway: <x-enkrypt-mcp-gateway>' \
--header 'apikey: <api-key>' \
--data '
{
"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"
]
}
}
]
}
}
'{
"message": "<string>",
"data": {
"gateway_saved_name": "<string>",
"gateway_version": "<string>",
"servers_config": {
"common_overrides": {
"input_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
},
"output_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
},
"server_tools_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
}
},
"servers": [
{
"saved_name": "<string>",
"server_version": "v1",
"input_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
},
"output_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
}
}
]
},
"gateway_id": "<string>",
"project_name": "<string>",
"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"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Update MCP Gateway
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. nullat any level means “delete this key” (RFC 7396 / JSON Merge Patch). Examples:common_overrides.input_guardrails_config: nullremoves that policy;common_overrides: nullclears the whole object;servers: nullclears the whole array.- The
serversarray 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_configis deep-merged; arrays (block) and primitives (enabled,guardrail_name) are replaced wholesale.
Requires X-Enkrypt-MCP-Gateway header.
curl --request PATCH \
--url https://api.enkryptai.com/mcp-gateway/modify-gateway \
--header 'Content-Type: application/json' \
--header 'X-Enkrypt-MCP-Gateway: <x-enkrypt-mcp-gateway>' \
--header 'apikey: <api-key>' \
--data '
{
"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"
]
}
}
]
}
}
'{
"message": "<string>",
"data": {
"gateway_saved_name": "<string>",
"gateway_version": "<string>",
"servers_config": {
"common_overrides": {
"input_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
},
"output_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
},
"server_tools_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
}
},
"servers": [
{
"saved_name": "<string>",
"server_version": "v1",
"input_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
},
"output_guardrails_config": {
"enabled": true,
"guardrail_name": "<string>",
"additional_config": {},
"block": [
"policy_violation"
]
}
}
]
},
"gateway_id": "<string>",
"project_name": "<string>",
"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"
}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Headers
Gateway saved_name
32"my-dev-gateway"
Gateway version (defaults to "v1")
"v1"
Body
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.
Show child attributes
Show child attributes
Toggle the gateway's active state.
Mark this gateway as a sample.

