Ana içeriğe geç

System Settings and Limits

Info

Open the unified System Settings screen with the System Settings & Limits link in the user profile menu. This screen presents the platform's configuration parameters, default limits, and system constraints grouped across 8 tabs. A ninth tab, AI Gateway, appears when your license includes the AI Gateway.

Warning

Only users with the Administrator (Admin) role can access this screen. Since settings take effect platform-wide, they should be configured carefully.

Overview​

The unified System Settings page brings together some General Settings fields, System Properties, gateway runtime parameters, and system constraints in a single interface. Each setting has a scope badge:

ScopeColorDescription
Deploy RequiredOrangeSaved to the database; applied to all gateway nodes after deploy
Restart RequiredBlueConfigured via environment variable / YAML in the Kubernetes deployment. The screen shows the value defined in the environment settings, or the default value if none is defined; a pod restart is required to change it
FixedGrayInfrastructure limit that cannot be changed

Deploy Required settings can be changed directly on the screen with the corresponding input components (number, text, toggle, etc.). Restart Required and Fixed items are read-only on the screen.


Tab 1: Routing & Traffic​

This tab contains settings that control how API requests are routed to backend servers and how connections are configured. All settings in this tab are Deploy Required (except Hop-by-Hop Headers).

Connection Settings​

ParameterDefaultConfigurable Range
Connect Timeout30 s1 - 3,600 s
Read Timeout30 s1 - 3,600 s
Connection Request Timeout — maximum wait to get a connection from the pool3 s1 - 300 s
Max Redirects500 - 100
Validate After Inactivity2,000 ms0 - 60,000 ms
Idle Connection Timeout30 s1 - 3,600 s
Propagate Correlation ID to Backendtrue-

Connection Pool​

ParameterDefaultConfigurable Range
Custom Pool Size — number of connections in a custom connection pool per API proxy81 - 200

The gateway's general connection pool sizes are shown on the Gateway Runtime tab.

General​

ParameterDefault
Routing algorithmRound Robin (options: Round Robin, LRU, Weighted, Random, Pick First)
User-Agent valueApinizer API Gateway

Redirect​

ParameterDefault
Redirects Enabledtrue
Relative Redirects Allowedtrue
How the redirect settings behave per transport

When Relative redirect allowed is off and the backend returns a Location header holding a relative address, the redirect is not followed and the request ends with an explicit redirect error. Absolute addresses — including http→https transitions — are unaffected by this setting.

On the HTTP/2, streaming (SSE) and server-stream transports, Max redirects is enforced as min(setting, 20): those transports use OkHttp, whose own follow-up cap is 20 and cannot be raised. A value above 20 therefore takes effect as 20. The HTTP/1.1 transport enforces the configured value in full.

Retry Policy​

ParameterDefaultConfigurable Range
Fixed delay500 ms0 - 60,000 ms
Initial delay500 ms0 - 60,000 ms
Max delay10,000 ms0 - 300,000 ms
Backoff multiplier2.01 - 10

Sticky Session​

ParameterDefaultConfigurable Range
Cookie nameAPINIZER_BACKEND-
Cookie TTL1,800 s (30 min)0 - 86,400 s
Secure cookiefalse-
HttpOnlytrue-

Health Check​

ParameterDefaultConfigurable Range
Check interval30 s5 - 3,600 s
Timeout5 s1 - 60 s
Fail threshold31 - 20
Pass threshold21 - 20

Circuit Breaker​

ParameterDefaultConfigurable Range
Error window10 s1 - 3,600 s
Error threshold11 - 10,000
Sleep window10 s1 - 3,600 s

Traffic Mirroring​

ParameterDefaultConfigurable Range
Mirror percentage10%0% - 100%

Hop-by-Hop Headers (Fixed)​

The following HTTP headers are filtered by the gateway during routing:

Content-Length, Host, User-Agent, TE, Trailers, Transfer-Encoding, Upgrade


Tab 2: Protocols​

This tab contains settings specific to the gRPC, WebSocket, and HTTP/2 protocols.

gRPC Routing (Apinizer → backend, Deploy Required)​

ParameterDefaultConfigurable Range
Max inbound message size16 MB (16,777,216 bytes)1 KB - 256 MB
Max inbound metadata size8 KB (8,192 bytes)1 KB - 16 MB
Keep-alive time300 s1 - 3,600 s
Keep-alive timeout100 s1 - 3,600 s
Keep-Alive Without Callstrue-
Channel idle timeout30 s1 - 3,600 s
Per-RPC buffer limit1 MB (1,048,576 bytes)1 KB - 256 MB
Max retry attempts50 - 100
Max hedged attempts50 - 100
Max trace events00 - 10,000

gRPC Server (client → Apinizer, Restart Required)​

ParameterDefault
Keep-Alive Time120 s
Keep-Alive Timeout20 s
Max Connection Age3,600 s
Max Connection Age Grace30 s
Max Connection Idle300 s
Max Inbound Message Size4 MB (4,194,304 bytes)
Max Inbound Metadata Size8 KB (8,192 bytes)
Handshake Timeout20 s
Permit Keep-Alive Time120 s
Thread Pool SizeCPU x 2

WebSocket Routing (Apinizer → backend, Deploy Required)​

ParameterDefaultConfigurable Range
Connection lost timeout60 s1 - 3,600 s
Reuse addresstrue-
Connect timeout10 s1 - 300 s
Max retries30 - 100
Retry delay1 s1 - 300 s
Auto reconnectfalse-
Auto Reconnect Max Retries30 - 100
Auto Reconnect Retry Delay1 s1 - 300 s

WebSocket Server (client → Apinizer, Restart Required)​

ParameterDefault
Idle Timeout60 s
Buffer Size64 KB (65,536 bytes)
TCP No Delaytrue

HTTP/2 (Restart Required)​

ParameterDefault
HTTP/2 Enabledfalse

Tab 3: Security & Access​

Authentication & Session (Deploy Required)​

ParameterDefaultConfigurable Range
CAPTCHA Trigger Threshold31 - 100
User Lock Threshold71 - 100
Idle Warning After — inactivity period before the session-expiry warning appears in the Manager UI235 s1 - 999,999 s
Auto-Logout Countdown — countdown shown in the warning dialog before automatic logout5 s1 - 999,999 s

Failed login attempts are counted per user on the server; the account is locked once the consecutive failures reach the sum of captcha attempts allowed and user lock attempts allowed (3 + 7 = 10 by default), and the lock is shown and can be lifted under Users → Locked. The captcha threshold is applied by the login page itself: after that many consecutive failures in the same browser page a CAPTCHA appears. It is a client-side deterrent against casual retries, not a security control — the lock is the control. The login screen never says which case applies: an unknown user name, a wrong password, a locked or inactive account and a failed LDAP check all receive the same Username or password is incorrect answer, and the number of remaining attempts is not displayed. Revealing any of that to a caller who has not signed in would let them discover which accounts exist (user enumeration). The exact reason is still recorded for administrators in Login Logs.

JDK TLS/SSL Tuning (Restart Required)​

ParameterDefault
TLS Disabled AlgorithmsRC4, DES, MD5withRSA, DH keySize < 768, EC keySize < 224, 3DES_EDE_CBC, anon, NULL
CertPath Disabled Algorithms(empty)
TLS VersionsTLSv1,TLSv1.1,TLSv1.2,TLSv1.3
Cipher Suites(empty)
Allow Unsafe Protocolsfalse

CORS (Restart Required)​

Environment variables that set the CORS headers for the token endpoint. Their default values are empty; if a value is defined in the environment settings, the screen shows that value.

ParameterEnvironment Variable
Allow OrigintokenCorsAccessControlAllowOrigin
Allow CredentialstokenCorsAccessControlAllowCredentials
Allow MethodstokenCorsAccessControlAllowMethods
Allow HeaderstokenCorsAccessControlAllowHeaders
Max AgetokenCorsAccessControlMaxAge

X-Forwarded-For (Restart Required)​

Their default values are empty; if a value is defined in the environment settings, the screen shows that value.

ParameterEnvironment Variable
IP HeadertokenXForwardedForIpHeader
IP OrdertokenXForwardedForIpOrder

XML Security (Fixed)​

FeatureStatusDescription
DTDDisabledProtection against XXE attacks
External entitiesDisabledPrevents external resource loading
Entity expansionDisabledProtection against billion laughs attack
XIncludeDisabledPrevents external file inclusion

Tab 4: Logging & Monitoring​

Traffic Log Body Limits (Deploy Required)​

ParameterDefaultConfigurable Range
Max Body Size — absolute per-field character ceiling applied before a traffic log is dispatched to connectors, regardless of connector settings26,214,400 characters1,024 - 104,857,600 characters

Policy Log (Deploy Required)​

ParameterDefaultConfigurable Range
Execution log body1 MB (1,048,576 bytes)1 KB - 25 MB
Executable detail limit1 KB (1,024 bytes)256 bytes - 1 MB

Log Retention​

Log retention settings are not shown on this screen.

Log retention settings determine storage duration and maximum record counts for different log types. Separately configurable for all log types (traffic, application, token, audit, login), including Identity Synchronization History — the durable run-by-run log described in Provider Synchronization, disabled by default so no run record is deleted until an administrator turns it on. API Security Events — the bodyless record of Gateway requests blocked by a policy or failed with an error, described on the Security Events page — is likewise disabled by default. Lifecycle Purge Run History — the record of finished Data Lifecycle Purge runs — is likewise disabled by default (365 days once enabled); a run still in progress is never eligible for cleanup regardless of this setting.

Data Retention Profile​

Log Retention above decides how long log records are kept; the Data Retention Profile answers a different question — whether a request's body/headers get captured at all. There are three profiles, increasing in strictness:

ProfileLabel on screenBehavior
STANDARDStandardToday's behavior — body/header capture, persistence, and tracing all work normally per your existing settings
NO_PAYLOADNo PayloadRequest/response headers, query string, and body are never captured — not scrubbed afterward, simply never populated. Starting Live Trace is locked under this profile; not even an authorized user can turn it on
NO_PERSISTNo PersistEverything No Payload restricts, plus no record at all is sent to connectors, the Mongo trace store, or OTel spans. Tracing is locked here too

Counter and metric flows (Prometheus, quota counters) are unaffected by all three profiles — these profiles only stop persistent record creation, not counting.

Not the Same as In-Memory Data

These profiles prevent persistent/external record creation. While a request is being processed, the data still exists temporarily in JVM memory (for example, while being forwarded to the backend) — these profiles do not establish a claim that "no trace exists even in memory," only that "no persistent/external record is created."

Cascade: Global → Project → Proxy​

The profile can be set at three levels: the global level on this page, the project settings level, and the API proxy's traffic log settings level. The effective profile is the strictest of the three levels — a lower level can never choose a looser profile than the level above it: a project can match the global profile or be stricter than it; a proxy must likewise match or exceed the effective profile it inherits (global + project). Choosing a looser profile is rejected on save.

This cascade isn't just a UI convenience — the gateway computes the effective profile at runtime with the same strictest-wins logic, so trying to bypass a higher level outside the UI (for example, updating a proxy's setting directly through APIops) has no effect.

The global-level Data Retention Profile is set on the General Settings screen, not on this screen.

Metrics (Restart Required)​

ParameterDefault
Metrics Enabledfalse

Connector Circuit Breaker​

Installation-wide defaults for the circuit breaker that protects log delivery over Kafka, RabbitMQ, ActiveMQ, Graylog, Webhook, and database (DB) connections. This section is independent of the Routing circuit breaker on Tab 1 — that one governs requests routed to backends; this one only covers connector log delivery.

ParameterDefaultConfiguration RangeScope
Circuit Breaker EnabledDisabled-Deploy Required
Error Window10 s1 - 3,600 sDeploy Required
Error Threshold51 - 10,000Deploy Required
Sleep Window30 s1 - 3,600 sDeploy Required
Half-Open Attempt EnabledEnabled-Deploy Required
Info

These five values are installation-wide defaults. Circuit Breaker Enabled, Error Threshold, and Sleep Window can be overridden per connection from the Resilience (Circuit Breaker) section on the Kafka, RabbitMQ, ActiveMQ, Graylog, Webhook, and database connection screens; fields left empty inherit the defaults configured here. Error Window and Half-Open Attempt Enabled are configured only here, installation-wide.


Tab 5: Data Processing & Limits​

SOAP Sample Generation (Deploy Required)​

ParameterDefaultConfigurable Range
Max Total Element Count1,0001 - 100,000
Max Level Depth151 - 100
Max Size25 KB1 - 102,400 KB

REST-SOAP Conversion Limits (Deploy Required)​

Note

These limits define the maximum values the JSON parser accepts during REST-to-SOAP conversion.

ParameterDefaultConfigurable Range
Max String Length20,000,0001,000 - 100,000,000
Max Nesting Depth1,00010 - 10,000
Max Number Length1,000100 - 100,000

AI Traffic Log (Deploy Required)​

ParameterDefaultConfigurable Range
Max Logged Chat Messages — number of most recent messages logged for an AI request; 0 turns trimming off200 - 1,000

Export & Email (Deploy Required)​

ParameterDefaultConfigurable Range
Excel export limit10,000 records100 - 1,000,000
Report generator max records10,000 records100 - 1,000,000
Traffic log preview100 rows10 - 1,000
Email attachment size25 MB (26,214,400 bytes)1 MB - 100 MB

Display (Deploy Required)​

ParameterDefaultConfigurable Range
UI body display limit5,242,880 characters10,240 - 26,214,400 characters
Test console file upload5 MB (5,242,880 bytes)10 KB - 100 MB
Test console request body5,242,880 characters10,240 - 26,214,400 characters
Test console response body5,242,880 characters10,240 - 26,214,400 characters

Multipart Upload (Restart Required)​

ParameterDefault
Max File Size100 MB (104,857,600 bytes)
Max Request Size100 MB (104,857,600 bytes)
File Size Threshold100 MB (104,857,600 bytes)

MongoDB (Fixed)​

ConstraintValueDescription
Max Document Size16 MBMaximum size per MongoDB document, cannot be changed

Tab 6: Gateway Runtime​

All parameters in this tab are Restart Required and read-only on the screen (Default Ports are Fixed). To change them, define them as environment variables and restart the pod.

Undertow Thread Pool​

ParameterDefault
Worker ThreadsCPU x 8
Worker Max ThreadsCPU x 16
I/O ThreadsNumber of CPUs

Undertow Buffers​

ParameterDefault
Buffer Size16 KB (16,384 bytes)
Backlog1,000
Max Concurrent RequestsWorker Max Threads x I/O Threads
Max Queue Size0
Direct Bufferstrue

Undertow Timeouts​

ParameterDefault
Read Timeout30,000 ms
Streaming Read Timeout0
No Request Timeout60,000 ms

Connection Pools​

PoolMax Connections Per HostMax Total Connections
Routing1,0242,048
Cache-256
Elasticsearch256-
API Call2564,096

Virtual Threads​

ParameterDefault
Routing Virtual Threadstrue
Logging Virtual Threadstrue

Async Executor​

ParameterDefault
Core Pool SizeSame as Worker Threads
Max Pool SizeSame as Worker Max Threads
Queue Capacity1,000

General​

ParameterDefault
Log Level(empty)
Default CharsetUTF-8
Deployment Timeout (Worker) — time the Worker waits for an API proxy deployment to complete30 s
Cluster Name(empty)

Default Ports (Fixed)​

PortDescription
8080API Manager
8091API Gateway Worker (HTTP)
8443API Gateway Worker (HTTPS)
8090Cache Service
5701Hazelcast
8092Integration Service
8094gRPC
9091Prometheus

Tab 7: Cache & Clustering​

All parameters in this tab are Restart Required and read-only. Values come from the cache (Hazelcast) deployment.

Hazelcast Threads​

ParameterDefault
Operation Thread CountNumber of CPUs
Generic Thread CountCPU / 2

Partitioning​

ParameterDefault
Partition Count271

Map Configuration​

ParameterDefault
Map Max Size10,000
Backup Count1
Async Backup Count0
Read Backup Datatrue

Write-Behind​

ParameterDefault
Write Delay5 s
Write Batch Size100
Queue Capacity100,000

Networking & Timeouts​

ParameterDefault
Heartbeat Interval5 s
Max No Heartbeat300 s
Operation Call Timeout60,000 ms
Backup Timeout5,000 ms

Tab 8: Platform & UI​

Deployment (Deploy Required)​

ParameterDefaultConfigurable Range
Deployment History Count51 - 100
Worker Deploy Request Timeout (Manager) — maximum time the Manager waits for a deploy request sent to the Worker to complete10 s1 - 3,600 s

Correlation ID (Deploy Required)​

ParameterDefault
Correlation ID HeaderAPINIZER-CORRELATION-ID

The gateway applies the correlation ID using the header name defined in this setting.


Tab 9: AI Gateway​

This tab is shown only when your license includes the AI Gateway. It holds the platform-wide defaults of the AI Gateway: provider failover, connection pool, body size limits and the agentic tool-call loop. The sections are independent of each other. New LLM Gateways start with these values, and each LLM Gateway can override them on its own Routing tab. The How to read? button opens a short explanation of the sections. Token and cost limits are not set here; define them in Limit Plans.

The tab has its own Save and Cancel buttons. Only a system administrator can save this tab. Other users who can open it see the values read-only.

Failover Defaults​

Applied when the primary LLM provider times out or returns an error, before the request moves down the failover chain.

ParameterDefaultConfigurable Range
Connect Timeout (s)10 sec1 – 300 sec
Stream Timeout (s)120 sec1 – 3,600 sec
Retry Count0 (no retry on the primary; go straight to the failover chain)0 – 10

Connection Pool Defaults​

Used by LLM Gateways whose connection pool type is General. Each LLM provider of a gateway gets its own pool, and these values apply to each provider separately. A change reaches an LLM Gateway on its next deploy.

ParameterDefaultConfigurable Range
Idle Connections per Provider641 – 1,000
Idle Connection Timeout (s)4 sec1 – 3,600 sec

Connections in use are not limited, and requests never wait for a connection. Keep the idle timeout below the provider's own keep-alive timeout. For details, see Connection Pool.

Request/Response Body Caps​

Upper limits that the gateway enforces by itself, independent of any policy. They protect against oversized payloads.

ParameterDefaultDescription
Max AI Request Body10 MBThe gateway rejects requests larger than this before they reach the LLM provider.
Max Binary Request Body25 MBLarger limit for binary uploads such as audio transcription (matches the OpenAI Whisper file limit).
Max Binary Response Body25 MBLimit for binary responses such as generated audio or images.

Agentic Tool-Call Loop​

ParameterDefaultDescription
Max Tool Turns5How many tool-call round-trips the gateway chains automatically when the model keeps requesting tools. One turn is: the model returns a tool call, the gateway calls the tool, the result is fed back to the model. After the last turn the loop stops and the last model response is returned to the caller. 0 disables the loop. This is a structural safety net, independent of any token or cost limit.

User Interface Constants​

The following limits are hardcoded in the UI and cannot be changed from the system settings screen:

LimitDefault
Pagination10 records (options: 10 / 25 / 50 / 100)
Portal pagination20 records
Test timeout10 seconds
Notification duration5 seconds
Logo/favicon upload5 MB
API product file upload2 MB
Bulk import100 MB
Password length4 – 100 characters

MCP (Portal WebSocket)​

ParameterDefaultConfiguration
Max concurrent connections100YAML
Session timeout5 minutesYAML
Rate limit100 requests per minuteYAML

Saving Changes​

Changes are saved with the Save and Deploy button in the upper right corner of the screen. The system saves changes belonging to different data sources separately:

  • Deploy Required settings are saved to the database and deployed to the gateway nodes
  • Restart Required settings cannot be changed from this screen; they must be defined as environment variables and the relevant pod restarted
  • Fixed values are read-only and cannot be changed