> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://academy.zrupay.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Public Key and Secret Key

# What are the Public Key and Secret Key?

To connect to our API, you need to enter the Public and Secret Keys in the plugin or in your code.

You need to do this for each test or production environment you want to use.

To learn more about integrating with our API, visit this [guide](https://academy.zrupay.com/en/article/api-integration-2k5iii/), or if you prefer to use a plugin, visit this [guide](https://academy.zrupay.com/en/article/plugin-integration-1dzd6zq/).

> ✋ It is very important to keep these keys safe and not paste them in insecure places.

# How to find your API keys?

For each environment you can find the keys in your Zru panel.

> 🧐 Remember that the keys are different for each environment.

Follow these steps:

- In the panel, make sure you are in the **environment** you want.
- In the left side menu, select **"Settings"**.
- Click the **"Integration"** tile.
- In the **API keys** block you will see a card for each key, with its name, its state, the **Public key**, the **Secret key**, the **Creation date** and the **Last used** date.
- Click the copy icon on the public or the secret key to paste it into your code or plugin.

> 🧐 For security reasons, the Secret Key cannot be displayed in the panel, but you can copy and paste it wherever you need.

> 🧐 If a key has not been used yet, **Last used** shows **Never**.

# Having several API keys in one environment

You can have **several API keys** in the same environment, instead of a single pair of keys. This way you can assign a key to each application or integration and see at a glance what each one is being used for.

The environment's **Default key** appears as another card, but it cannot be edited or disabled.

> 🧐 The notifications Zru sends to your webhooks are always signed with the environment's **Default key**. Keep this in mind if you validate the signature on your server.

# Create an API key

- Go to **Settings** ▶︎ **Integration**.
- In the **API keys** block, click **Create keys**.
- In **Key name**, enter a descriptive name that identifies its purpose or the application it will be used with.
- Turn on **Read only** if you want requests signed with that key to only be able to read information, never create or modify.
- In **Key state**, leave the key active or create it disabled.
- Click **Create key**.

> ⚠️ **Read only** is decided when you create the key and cannot be changed afterwards. If you need a different setup, create a new key.

# Edit or disable an API key

In the **...** menu of each card you have two actions:

- **Edit**: change the **Key name** or its **State**, then click **Save changes**.
- **Disable**: the key stops accepting requests immediately.

> ⚠️ When you disable a key, the integrations using it will start to fail until you activate another key or re-enable this one. Check this before disabling it.