> For the complete documentation index, see [llms.txt](https://docs.wproofreader.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wproofreader.com/v6.18.1/admin-panel/credentials.md).

# Credentials

The **Credentials** page provides the keys you need to activate the proofreading service and authenticate API requests. For Cloud, use [Credentials](https://app.wproofreader.com/credentials).

<div align="left"><figure><img src="https://content.gitbook.com/content/iyQMCOvN8kKwZftNXZft/blobs/GZgQjEaEYhLxOh5x2AlA/Credentials%20page%20showing%20Service%20ID%20and%20Access%20key%20fields.png" alt="Credentials page showing Service ID and Access key fields" width="563"><figcaption></figcaption></figure></div>

{% hint style="info" %}
For the [self-hosted admin panel](/v6.18.1/admin-panel/self-hosted.md), use your installation's address. WProofreader Business teams have no **Credentials** page.
{% endhint %}

### Service ID

The **Service ID** is your proofreading service activation key. For WProofreader, set `serviceId` to this value. For SCAYT, set `scayt_customerId` to this value.

You can reveal the Service ID by clicking the eye icon, and copy it with the copy button.

On a self-hosted server, also set the address of your WProofreader Server in the product configuration. See [Service connection](/v6.18.1/integrations/initialization/configuration-options/service-connection.md).

### Access key

The **Access key** is used to authenticate direct API requests for features like custom dictionary and style guide management. You don't need it for standard product setup.

{% hint style="info" %}
On a self-hosted server with request validation enabled, the access key comes from the database record associated with your Service ID. Use **Access key** from **Credentials** for custom dictionary and style guide API requests. The access key in `AppServerX.xml` has no effect in this mode.
{% endhint %}

{% hint style="warning" %}
Regenerating the access key deactivates the old key immediately.
{% endhint %}

If you believe someone else has your access key, create a new one:

1. Click **Regenerate**.
2. In **Regenerate API access key**, click **Confirm**.

For details on using these keys, see the following pages:

* [HTTP API overview](/v6.18.1/api-reference/overview.md) for general API authentication
* [Custom dictionary API](/v6.18.1/api-reference/custom-dictionary-api.md) for organization dictionary management
* [Style guide API](/v6.18.1/api-reference/style-guide-api.md) for custom rule management
