> For the complete documentation index, see [llms.txt](https://docs.parallels.com/landing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.parallels.com/landing/ras-rest-api-guide/api-reference/farm-settings/webservice/settings.md).

# Settings

## Get

> Retrieve the Web Admin settings.> \
> A local administrator on the Web Server or a RAS Root administrator can call this command.

```json
{"openapi":"3.0.1","info":{"title":"Parallels RAS - REST API v1.0","version":"1.0"},"paths":{"/api/WebService/settings":{"get":{"tags":["1-Farm settings//Web Service"],"summary":"Get","description":"Retrieve the Web Admin settings.\r\nA local administrator on the Web Server or a RAS Root administrator can call this command.","operationId":"697a7843-7090-4a8c-8558-ea68ee186d2b","responses":{"200":{"description":"Success","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/WebAdminSettings"}}}},"401":{"description":"Unauthorized","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}}},"components":{"schemas":{"WebAdminSettings":{"type":"object","properties":{"allowedHosts":{"type":"string","description":"<para type=\"description\">Specifies the Allowed Hosts</para>","nullable":true},"kestrel":{"$ref":"#/components/schemas/KestrelConfig"},"webAdminService":{"$ref":"#/components/schemas/WebAdminServiceConfig"},"logging":{"$ref":"#/components/schemas/LoggingSettings"},"routes":{"type":"array","items":{"$ref":"#/components/schemas/Route"},"description":"<para type=\"description\">RAS Ocelot routing configuration</para>","nullable":true},"rateLimits":{"$ref":"#/components/schemas/RateLimits"}},"additionalProperties":false,"description":"<para type=\"synopsis\">RAS Web Administration Service settings</para>\r\n<para type=\"description\"></para>"},"KestrelConfig":{"type":"object","properties":{"endPoints":{"$ref":"#/components/schemas/EndPointsConfig"}},"additionalProperties":false,"description":"<para type=\"synopsis\">The Kestrel configuration</para>\r\n<para type=\"description\"></para>"},"EndPointsConfig":{"type":"object","properties":{"httpsDefaultCert":{"$ref":"#/components/schemas/HttpsDefaultCertConfig"}},"additionalProperties":false,"description":"<para type=\"synopsis\">The endpoints configuration</para>\r\n<para type=\"description\"></para>"},"HttpsDefaultCertConfig":{"type":"object","properties":{"url":{"type":"string","description":"<para type=\"description\">URL of the configuration</para>","nullable":true},"certificate":{"$ref":"#/components/schemas/CertificateConfig"}},"additionalProperties":false,"description":"<para type=\"synopsis\">The HTTPS default certificate configuration</para>\r\n<para type=\"description\"></para>"},"CertificateConfig":{"type":"object","properties":{"path":{"type":"string","description":"<para type=\"description\">Path where the certificate lies.</para>","nullable":true},"encryptedPassword":{"type":"string","description":"<para type=\"description\">Encrypted Password of the certificate.</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">The Certificate Policy</para>\r\n<para type=\"description\"></para>"},"WebAdminServiceConfig":{"type":"object","properties":{"webConsole":{"$ref":"#/components/schemas/WebConsoleConfig"},"rest":{"$ref":"#/components/schemas/RESTConfig"},"rasServer":{"$ref":"#/components/schemas/RASServerConfig"},"session":{"$ref":"#/components/schemas/SessionConfig"}},"additionalProperties":false,"description":"<para type=\"synopsis\">RAS Web Administration Service configuration</para>\r\n<para type=\"description\"></para>"},"WebConsoleConfig":{"type":"object","properties":{"enable":{"type":"boolean","description":"<para type=\"description\">Whether the configuration is enabled or not.</para>"},"basePath":{"type":"string","description":"<para type=\"description\">Specifies the Web Console Base Path.</para>","nullable":true},"pollingInterval":{"type":"integer","description":"<para type=\"description\">Specifies the Web Console Polling Interval (in seconds).</para>","format":"int32"}},"additionalProperties":false,"description":"<para type=\"synopsis\">Web Console configuration</para>\r\n<para type=\"description\"></para>"},"RESTConfig":{"type":"object","properties":{"enable":{"type":"boolean","description":"<para type=\"description\">Whether the REST configuration is enabled or not.</para>"}},"additionalProperties":false,"description":"<para type=\"synopsis\">The REST configuration</para>\r\n<para type=\"description\"></para>"},"RASServerConfig":{"type":"object","properties":{"licenseServer":{"type":"string","description":"<para type=\"description\">RAS Licensing server</para>","nullable":true},"secondaryServers":{"type":"array","items":{"type":"string"},"description":"<para type=\"description\">List of secondary servers</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">The RAS server configuration</para>\r\n<para type=\"description\"></para>"},"SessionConfig":{"type":"object","properties":{"expire":{"type":"integer","description":"<para type=\"description\">Session Expiry</para>","format":"int32"},"disconnectDelay":{"type":"integer","description":"<para type=\"description\">Session Disconnect Delay</para>","format":"int32"}},"additionalProperties":false,"description":"<para type=\"synopsis\">Session Configuration</para>\r\n<para type=\"description\"></para>"},"LoggingSettings":{"type":"object","properties":{"webAdmin":{"$ref":"#/components/schemas/WebAdminLoggingProviderSettings"}},"additionalProperties":false,"description":"<para type=\"synopsis\">Logging settings</para>\r\n<para type=\"description\"></para>"},"WebAdminLoggingProviderSettings":{"type":"object","properties":{"logLevel":{"type":"object","additionalProperties":{"type":"string","nullable":true},"description":"<para type=\"description\">The LogLevel dictionary</para>","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">RAS Web Administration Logging Provider settings</para>\r\n<para type=\"description\"></para>"},"Route":{"type":"object","properties":{"downstreamPathTemplate":{"type":"string","description":"<para type=\"description\">The path that the server will request</para>","nullable":true},"downstreamScheme":{"type":"string","description":"<para type=\"description\">Protocol to use</para>","nullable":true},"downstreamHostAndPorts":{"type":"array","items":{"$ref":"#/components/schemas/EndPoint"},"description":"<para type=\"description\">List of servers and ports where the RAS Performance Monitor is hosted.</para>","nullable":true},"upstreamPathTemplate":{"type":"string","description":"<para type=\"description\">The URL on the RAS Web Admin service that will be redirected</para>","nullable":true}},"additionalProperties":false},"EndPoint":{"type":"object","properties":{"host":{"type":"string","description":"<para type=\"description\">Server hosting RAS Performance Monitor</para>","nullable":true},"port":{"type":"integer","description":"<para type=\"description\">Port where the server is hosting RAS Performance Monitor</para>","format":"int32"}},"additionalProperties":false},"RateLimits":{"type":"object","properties":{"global":{"$ref":"#/components/schemas/RateLimit"},"logon":{"$ref":"#/components/schemas/RateLimit"}},"additionalProperties":false,"description":"<para type=\"synopsis\">Rate limits settings</para>\r\n<para type=\"description\"></para>"},"RateLimit":{"type":"object","properties":{"window":{"type":"integer","description":"Defines the time span for the rate limit window (in seconds).","format":"int32"},"autoReplenishment":{"type":"boolean","description":"Automatically resets the rate limit counters at the end of each window (default is true)."},"permitLimit":{"type":"integer","description":"Sets the maximum number of requests allowed within the window.","format":"int32"},"queueProcessingOrder":{"$ref":"#/components/schemas/QueueProcessingOrder"},"queueLimit":{"type":"integer","description":"Specifies the maximum number of requests that can be queued when the rate limit is exceeded.","format":"int32"}},"additionalProperties":false,"description":"<para type=\"synopsis\">Rate limit settings</para>\r\n<para type=\"description\"></para>"},"QueueProcessingOrder":{"enum":[["0 = OldestFirst","1 = NewestFirst"]],"type":"string","description":"Controls the behavior when not enough resources can be leased.","format":"int32"},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}}}
```

## Update

> Modify the Web Admin settings.> \
> A local administrator on the Web Server or a RAS Root administrator can call this command.

```json
{"openapi":"3.0.1","info":{"title":"Parallels RAS - REST API v1.0","version":"1.0"},"paths":{"/api/WebService/settings":{"put":{"tags":["1-Farm settings//Web Service"],"summary":"Update","description":"Modify the Web Admin settings.\r\nA local administrator on the Web Server or a RAS Root administrator can call this command.","operationId":"15f7e6b3-b47b-4961-95bc-21aaf7ecfd69","requestBody":{"description":"Web Admin settings","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/SetWebAdminSett"}}}},"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json; api-version=1.0":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}}}}},"components":{"schemas":{"SetWebAdminSett":{"type":"object","properties":{"allowedHosts":{"maxLength":255,"minLength":1,"type":"string","description":"<para type=\"description\">Specifies the Allowed Hosts.</para>","nullable":true},"httpsUrl":{"type":"string","description":"<para type=\"description\">Specifies the HTTPS URL.</para>","nullable":true},"enableWebConsole":{"type":"boolean","description":"<para type=\"description\">Specifies whether to enable/disable Web Console.</para>","nullable":true},"webConsoleBasePath":{"maxLength":255,"minLength":1,"type":"string","description":"<para type=\"description\">Specifies the Web Console Base Path.</para>\r\n<para type=\"description\">The RAS Web Administration Server Service needs to be manually restarted for the BasePath change to be effective.</para>","nullable":true},"webConsolePollingInterval":{"type":"integer","description":"<para type=\"description\">Specifies the Web Console Polling Interval (in seconds).</para>","format":"int32","nullable":true},"enableREST":{"type":"boolean","description":"<para type=\"description\">Specifies whether to enable/disable REST.</para>","nullable":true},"rasLicensingServer":{"type":"string","description":"<para type=\"description\">Specifies the RAS Licensing Server.</para>","nullable":true},"rasSecondaryServers":{"type":"array","items":{"type":"string"},"description":"<para type=\"description\">Specifies the RAS Secondary Servers.</para>","nullable":true},"sessionExpire":{"type":"integer","description":"<para type=\"description\">Specifies the Session Expiry time in minutes.</para>","format":"int32","nullable":true},"sessionDisconnectDelay":{"type":"integer","description":"<para type=\"description\">Specifies the Session Disconnect Delay in seconds.</para>","format":"int32","nullable":true},"defaultLogLevel":{"type":"string","description":"<para type=\"description\">Specifies the Microsoft Log Level for the RAS Web Administration Service.</para>\r\n<para type=\"description\">Accepted values: Trace, Debug, Information, Warning, Error, Critical, None.</para>","nullable":true},"globalWindow":{"type":"integer","description":"<para type=\"description\">Sets the time window (in seconds) for global rate limiting. Default: 10 seconds. Only 50 requests are allowed per window by default.</para>\r\n<para type=\"description\">When the limit is reached, transactions are not allowed until the current window expires and a new window begins</para>","format":"int32","nullable":true},"globalAutoReplenishment":{"type":"boolean","description":"<para type=\"description\">Automatically resets the global rate limit counters at the end of each window (default is true).</para>","nullable":true},"globalPermitLimit":{"type":"integer","description":"<para type=\"description\">Sets the maximum number of global requests allowed in each rate limit window. Default: 50 requests per 10 seconds.</para>\r\n<para type=\"description\">When the limit is reached, transactions are not allowed until the current window expires and a new window begins</para>","format":"int32","nullable":true},"globalQueueProcessingOrder":{"$ref":"#/components/schemas/QueueProcessingOrder"},"globalQueueLimit":{"type":"integer","description":"<para type=\"description\">Specifies the maximum number of global requests that can be queued when the rate limit is exceeded.</para>","format":"int32","nullable":true},"loginWindow":{"type":"integer","description":"<para type=\"description\">Sets the time window (in seconds) for logon rate limiting. Default: 300 seconds. Only 4 logon requests are allowed per window by default.</para>\r\n<para type=\"description\">When the limit is reached, transactions are not allowed until the current window expires and a new window begins</para>","format":"int32","nullable":true},"loginAutoReplenishment":{"type":"boolean","description":"<para type=\"description\">Automatically resets the specific rate limit counters at the end of each window (default is true).</para>","nullable":true},"loginPermitLimit":{"type":"integer","description":"<para type=\"description\">Sets the maximum number of logon requests allowed in each rate limit window. Default: 4 requests per 300 seconds.</para>\r\n<para type=\"description\">When the limit is reached, transactions are not allowed until the current window expires and a new window begins</para>","format":"int32","nullable":true},"loginQueueProcessingOrder":{"$ref":"#/components/schemas/QueueProcessingOrder"},"loginQueueLimit":{"type":"integer","description":"<para type=\"description\">Specifies the maximum number of specific requests that can be queued when the rate limit is exceeded.</para>","format":"int32","nullable":true}},"additionalProperties":false,"description":"<para type=\"synopsis\">Update RAS Web Administration Service settings</para>\r\n<para type=\"description\"></para>"},"QueueProcessingOrder":{"enum":[["0 = OldestFirst","1 = NewestFirst"]],"type":"string","description":"Controls the behavior when not enough resources can be leased.","format":"int32"},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.parallels.com/landing/ras-rest-api-guide/api-reference/farm-settings/webservice/settings.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
