Skip to content

Update Gateway settings

PUT
/api/admin/auth-settings
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" ] } }'

JSON request body

Media typeapplication/json
object
oidcAutoCreateUsers
boolean
oidcDefaultGroupId
string format: uuid
oidcRequireVerifiedEmail
boolean
oauthExtendedCallbackCompatibility
boolean
mfaExistingSessionGracePeriodDays
integer
<= 7
methods
object
oidc
boolean
password
boolean
emailOtp
boolean
passkeyLogin
boolean
passwordPolicy
object
minLength
integer
>= 8 <= 72
maxLength
integer
>= 8 <= 72
requireUppercase
boolean
requireLowercase
boolean
requireDigit
boolean
requireSymbol
boolean
smtp
object
host
required
string
>= 1 characters <= 255 characters
port
required
integer
>= 1 <= 65535
tlsMode
required
string
Allowed values: starttls tls
username
required
string
<= 255 characters
password
string
>= 1 characters <= 1024 characters
senderName
required
string
<= 255 characters
senderEmail
required
string format: email
<= 255 characters
testRecipient
string format: email
<= 255 characters
testEmailKind
string
Allowed values: smtp_configuration password_setup password_reset email_otp
oidc
object
issuer
required
string format: uri
<= 2048 characters
clientId
required
string
>= 1 characters <= 512 characters
clientSecret
string
>= 1 characters <= 4096 characters
redirectUri
required
string format: uri
<= 2048 characters
scopes
string
>= 1 characters <= 1024 characters
mcpServerEnabled
boolean
mcpExtendedCompatibility
boolean
webTlsEnabled
boolean
logging
object
mode
required
string
Allowed values: disabled local external
url
string format: uri
<= 2048 characters
username
string
>= 1 characters <= 255 characters
password
string
>= 1 characters <= 4096 characters
database
string
>= 1 characters <= 255 characters
table
string
>= 1 characters <= 255 characters
requestTimeoutMs
integer
> 0 <= 120000
generalSettings
object
publicUrl
string
<= 2048 characters
updateChannel
string
Allowed values: stable preview
hideExternalBranding
boolean
autoAssignCreatedResourcePermissions
boolean
sendInvitationOnUserCreate
boolean
fileUploadMaxBytes
integer
>= 1048576 <= 524288000
fileOpenMaxBytes
integer
>= 1048576 <= 104857600
gatewayGrpcPublicTarget
string | null
<= 255 characters
gatewayGrpcLocalIp
string | null
<= 255 characters
relayAutoRecovery
boolean
relay
object
dataLanes
integer
>= 1 <= 16
readChunkBytes
integer
>= 4096 <= 262144
assignmentSpread
One of:
object
mode
required
string
Allowed values: fixed
count
required
integer
>= 1 <= 64
adaptiveAdmissionEnabled
boolean
proxyTargetPressurePercent
integer
>= 50 <= 85
databaseReservePercent
integer
>= 5 <= 35
hardPressurePercent
integer
>= 90 <= 99
shutdown
object
userRequestDrainSeconds
required
integer
<= 40
structuredLogDrainSeconds
required
integer
<= 10
finalizationTimeoutSeconds
required
integer
>= 5 <= 15
relayGrantTtlHours
integer
>= 1 <= 224
relayPolicyLeaseHours
integer
>= 1 <= 168
features
object
pkiEnabled
boolean
domainsEnabled
boolean
siemEnabled
boolean
inferenceEnabled
boolean
networkSecurity
object
clientIpSource
string
Allowed values: auto direct reverse_proxy cloudflare
trustedProxyCidrs
Array<string>
<= 64 items
trustCloudflareHeaders
boolean
outboundWebhookPolicy
object
allowPrivateNetworks
boolean
allowedPrivateCidrs
Array<string>
<= 64 items

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",
"email": "[email protected]",
"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"
}