> For the complete documentation index, see [llms.txt](https://docs.coherent.global/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coherent.global/tenant-administration/manage-tenant-settings.md).

# Manage tenant settings

From the Tenant Configuration page, tenant administrators (`tenant-admin`s) can conveniently configure their tenant settings.

The Tenant Configuration page can be found in the [Options](/navigation/options.md) menu.

## General configurations

### Include cover sheet in upload service for new service uploads

When enabled, new uploads will include a cover sheet when using the API Call History feature for Download as Excel (Legacy). If the Download as Excel (Legacy) is being used, it is recommended to keep this enabled to maintain the existing functionality. Disabling this option will lead to faster upload times.

### Enable notifications for API key expiration&#xD;

The API key creator and any users entered below will receive an email 30, 14, and 1 day in advance of the API key expiry. Each username should be separated by a comma, for example: `user1@mydomain.com,user2@mydomain.com`.

### Choose the Neuron compiler version for newly uploaded services

The Spark team update Neuron periodically for new Excel function support, performance enhancements and bug fixes.

* **Stable Latest**: Spark will use the latest stable release of Neuron available.
* **Release Candidate**: Spark will always use a release candidate release if available. A release candidate is a version of Spark that may contain enhancements and fixes that were not included in the latest stable version. If there are no release candidate versions available, Spark will use **Stable Latest**. When a service is compiled using a **Release Candidate**, subsequent updates will also be performed using **Release Candidate**.
* In addition to these options, a specific version of Neuron can be used for all newly uploaded services for compatibility reasons.

### Choose the Neuron compiler version for additional service versions

When publishing a new version of a service, this setting can select the Neuron version used in the compilation.

Note: Any services compiled using a release candidate will update with the latest release candidate by default. This can be changed by using the **Recompile Neuron** feature for a service.

* **Tenant Default**: Spark will use the version of Neuron defined above for newly uploaded services.
* **Maintain Version**: Spark will try to use the same version of Neuron as the previous version of the service. If Spark cannot determine what version of Neuron was used on the previous version of the service, then Spark will use the **Stable Latest** version of Neuron.
* **Stable Latest***:* Spark will use the latest stable release of Neuron available for the update.
* **Release Candidate**: Spark will use the release candidate version (see definition above) if available.

### Manage access to Deployment requests

Enter the user groups that are able to submit [Deployment requests](/ci-cd/deployment-request.md). Each user group should be separated by a comma, for example: `user:alpha,user:beta`.

### Set the Coherent Assistant Hybrid Runner URL

When this is defined, Coherent Assistant will direct API calls and execution to your hybrid runner URL instead of the Coherent Spark systems.

### Set the Explainer Domain URL

Replace this URL with your own if you need to host the Explainer UI in your own domain.

## Features permissions

Manage the security of your tenant and set permission rights for accessing Spark features externally via APIs.

Assign user groups to the following objects to control who can externally access Spark features with their [Authorization - API keys](/spark-apis/authorization-api-keys.md). Please note that supervisor user groups cannot be granted permissions to proxy objects.

See [Permissions - Features permissions](/spark-apis/authorization-api-keys/permissions-features-permissions.md).

## IP allowlisting

Restrict the access to the Spark UI and its service APIs to specific IP addresses. In case you need to heighten your networking security, this will significantly reduce the possibility of unauthorized access. The IP addresses can be written either in IPv4 for individual addresses or in CIDR notation standard for specifying blocks of IP addresses. Accounts, credentials or keys that include `tenant-admin` are excluded not restricted from the IP allowlisting.

1. Select **Enable IP allowlisting**.
2. Select **New IP**.
3. Enter the **Rule name**.
4. Enter the **IP address** in IPv4, IPv6, or in CIDR notation standard for specifying blocks of IP addresses under *IP address*.
5. Enter a **Description** if you have one.
6. Select **Save**.

## Public APIs

### Enable public API visibility settings

Spark service APIs are set to private visibility by default. When this option is selected, the public API settings will be enabled for your Spark services. Services can then be set to public visibility and called without authentication.

### Set default visibility of Spark service APIs

This applies only to newly created services.

### Enable public APIs for Spark Shell functionality

This enables full functionality of Spark Shell that do not require login. When enabled, endpoints will allow fetching detailed information about the Spark service and posting records to the API Call History.

### Enable public APIs for access to WebAssembly Modules

When enabled, any Spark services set to public will also make their compiled code (WebAssembly Modules) available from the [WebAssembly module API](/spark-apis/webassembly-module-api.md) without authentication.

### Public API synthetic key

The [Authorization - API keys](/spark-apis/authorization-api-keys.md) inserted in this field will be used to correspond to all public API requests.

## Tags

Tags categorize the service versions uploaded to Spark. Tags are set at upload or edited from the Service Documentation Version details.

1. Select **Enable tagging**.
2. Optionally, choose to **Require tags for new services**.
3. Select **New tag**.
4. Enter the **Tag** name.
5. Enter a **Description** if you have one.
6. If you would like the tag to be used to segment usage analytics in the Dashboard, select **Analytics**. Select a ranking that determines the order of the analytics tags. Up to three tags can be marked for analytics.
7. Click **Save**.

## Webhook configuration

Spark can send a webhook even when particular actions occur in Spark. More information can be found in [Webhooks: Connect Spark with external systems to automate workflows](/integrations/webhooks-connect-spark-with-external-systems-to-automate-workflows.md).

1. Select **Enable webhooks**.
2. Enter the **Name**.
3. Enter the **Endpoint** URL.
4. Select which **Event types** will trigger webhook messages.
5. Add **Request headers** and **Query string parameters** that may be needed for the webhook call to be consumed.
6. Enter a **Description** if you have one.
