Update Gateway settings
PUT
/api/admin/auth-settings
const url = 'https://gateway.example.com/api/admin/auth-settings';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"oidcAutoCreateUsers":true,"oidcDefaultGroupId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","oidcRequireVerifiedEmail":true,"oauthExtendedCallbackCompatibility":true,"mfaExistingSessionGracePeriodDays":1,"methods":{"oidc":true,"password":true,"emailOtp":true,"passkeyLogin":true},"passwordPolicy":{"minLength":1,"maxLength":1,"requireUppercase":true,"requireLowercase":true,"requireDigit":true,"requireSymbol":true},"smtp":{"host":"example","port":1,"tlsMode":"starttls","username":"example","password":"example","senderName":"example","senderEmail":"[email protected]","testRecipient":"[email protected]","testEmailKind":"smtp_configuration"},"oidc":{"issuer":"https://example.com","clientId":"example","clientSecret":"example","redirectUri":"https://example.com","scopes":"example"},"mcpServerEnabled":true,"mcpExtendedCompatibility":true,"webTlsEnabled":true,"logging":{"mode":"disabled","url":"https://example.com","username":"example","password":"example","database":"example","table":"example","requestTimeoutMs":1},"generalSettings":{"publicUrl":"example","updateChannel":"stable","hideExternalBranding":true,"autoAssignCreatedResourcePermissions":true,"sendInvitationOnUserCreate":true,"fileUploadMaxBytes":1,"fileOpenMaxBytes":1,"gatewayGrpcPublicTarget":"example","gatewayGrpcLocalIp":"example","relayAutoRecovery":true,"relay":{"dataLanes":1,"readChunkBytes":1,"assignmentSpread":{"mode":"fixed","count":1},"adaptiveAdmissionEnabled":true,"proxyTargetPressurePercent":1,"databaseReservePercent":1,"hardPressurePercent":1},"shutdown":{"userRequestDrainSeconds":1,"structuredLogDrainSeconds":1,"finalizationTimeoutSeconds":1},"relayGrantTtlHours":1,"relayPolicyLeaseHours":1,"features":{"pkiEnabled":true,"domainsEnabled":true,"siemEnabled":true,"inferenceEnabled":true}},"networkSecurity":{"clientIpSource":"auto","trustedProxyCidrs":["example"],"trustCloudflareHeaders":true},"outboundWebhookPolicy":{"allowPrivateNetworks":true,"allowedPrivateCidrs":["example"]}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://gateway.example.com/api/admin/auth-settings \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "oidcAutoCreateUsers": true, "oidcDefaultGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "oidcRequireVerifiedEmail": true, "oauthExtendedCallbackCompatibility": true, "mfaExistingSessionGracePeriodDays": 1, "methods": { "oidc": true, "password": true, "emailOtp": true, "passkeyLogin": true }, "passwordPolicy": { "minLength": 1, "maxLength": 1, "requireUppercase": true, "requireLowercase": true, "requireDigit": true, "requireSymbol": true }, "smtp": { "host": "example", "port": 1, "tlsMode": "starttls", "username": "example", "password": "example", "senderName": "example", "senderEmail": "[email protected]", "testRecipient": "[email protected]", "testEmailKind": "smtp_configuration" }, "oidc": { "issuer": "https://example.com", "clientId": "example", "clientSecret": "example", "redirectUri": "https://example.com", "scopes": "example" }, "mcpServerEnabled": true, "mcpExtendedCompatibility": true, "webTlsEnabled": true, "logging": { "mode": "disabled", "url": "https://example.com", "username": "example", "password": "example", "database": "example", "table": "example", "requestTimeoutMs": 1 }, "generalSettings": { "publicUrl": "example", "updateChannel": "stable", "hideExternalBranding": true, "autoAssignCreatedResourcePermissions": true, "sendInvitationOnUserCreate": true, "fileUploadMaxBytes": 1, "fileOpenMaxBytes": 1, "gatewayGrpcPublicTarget": "example", "gatewayGrpcLocalIp": "example", "relayAutoRecovery": true, "relay": { "dataLanes": 1, "readChunkBytes": 1, "assignmentSpread": { "mode": "fixed", "count": 1 }, "adaptiveAdmissionEnabled": true, "proxyTargetPressurePercent": 1, "databaseReservePercent": 1, "hardPressurePercent": 1 }, "shutdown": { "userRequestDrainSeconds": 1, "structuredLogDrainSeconds": 1, "finalizationTimeoutSeconds": 1 }, "relayGrantTtlHours": 1, "relayPolicyLeaseHours": 1, "features": { "pkiEnabled": true, "domainsEnabled": true, "siemEnabled": true, "inferenceEnabled": true } }, "networkSecurity": { "clientIpSource": "auto", "trustedProxyCidrs": [ "example" ], "trustCloudflareHeaders": true }, "outboundWebhookPolicy": { "allowPrivateNetworks": true, "allowedPrivateCidrs": [ "example" ] } }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”JSON request body
Media typeapplication/json
object
oidcAutoCreateUsers
boolean
oidcDefaultGroupId
string format: uuid
oidcRequireVerifiedEmail
boolean
oauthExtendedCallbackCompatibility
boolean
mfaExistingSessionGracePeriodDays
integer
methods
object
oidc
boolean
password
boolean
emailOtp
boolean
passkeyLogin
boolean
passwordPolicy
object
minLength
integer
maxLength
integer
requireUppercase
boolean
requireLowercase
boolean
requireDigit
boolean
requireSymbol
boolean
smtp
object
host
required
string
port
required
integer
tlsMode
required
string
username
required
string
password
string
senderName
required
string
senderEmail
required
string format: email
testRecipient
string format: email
testEmailKind
string
oidc
object
issuer
required
string format: uri
clientId
required
string
clientSecret
string
redirectUri
required
string format: uri
scopes
string
mcpServerEnabled
boolean
mcpExtendedCompatibility
boolean
webTlsEnabled
boolean
logging
object
mode
required
string
url
string format: uri
username
string
password
string
database
string
table
string
requestTimeoutMs
integer
generalSettings
object
publicUrl
string
updateChannel
string
hideExternalBranding
boolean
autoAssignCreatedResourcePermissions
boolean
sendInvitationOnUserCreate
boolean
fileUploadMaxBytes
integer
fileOpenMaxBytes
integer
gatewayGrpcPublicTarget
string | null
gatewayGrpcLocalIp
string | null
relayAutoRecovery
boolean
relay
shutdown
object
userRequestDrainSeconds
required
integer
structuredLogDrainSeconds
required
integer
finalizationTimeoutSeconds
required
integer
relayGrantTtlHours
integer
relayPolicyLeaseHours
integer
features
object
pkiEnabled
boolean
domainsEnabled
boolean
siemEnabled
boolean
inferenceEnabled
boolean
networkSecurity
object
clientIpSource
string
trustedProxyCidrs
Array<string>
trustCloudflareHeaders
boolean
outboundWebhookPolicy
object
allowPrivateNetworks
boolean
allowedPrivateCidrs
Array<string>
Responses
Section titled “Responses”Successful response
Media typeapplication/json
object
data
required
Resource object. Exact fields depend on the endpoint.
object
id
string
name
string
key
additional properties
Example
{ "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Operator", "groupName": "Operators" }}Bad request
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "path": [ "name" ], "message": "Required" } ]}Authentication required
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "UNAUTHORIZED", "message": "Authentication required"}Forbidden
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "FORBIDDEN", "message": "Insufficient permissions"}Not found
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "NOT_FOUND", "message": "Resource not found"}Conflict
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "CONFLICT", "message": "Resource already exists"}Unprocessable entity
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "UNPROCESSABLE_ENTITY", "message": "Request could not be processed"}Internal server error
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "INTERNAL_ERROR", "message": "Internal server error"}