# Generate API keys

Soda Cloud uses API keys to securely communicate with other entities such as Soda Core and self-hosted Soda Agents, and to provide secure access to Soda Cloud via API.

There are two sets of API keys that you can generate and use with Soda Cloud:

* API keys for communicating with Soda Core and Soda Cloud API,
* API keys for communicating with a self-hosted Soda Agent

Note that you can use other authentication methods to access Soda Cloud metadata via the Rest API, such as HTTPBasic authentication with username and password, or authentication using tokens; use API keys to authenticate access if your organization employs Single Sign On (SSO) to access Soda Cloud.

### Generate API keys for use with Soda Core or a Soda Cloud API

1. In your Soda Cloud account, navigate to your avatar > **Profile** and the **API Keys** tab.\
   **Click the "**<i class="fa-plus-large">:plus-large:</i>**" icon** to generate new API keys.

   <figure><img src="/files/OGms2qLxlzRESpnWYWR8" alt=""><figcaption></figcaption></figure>
2. Copy the syntax for the `soda_cloud` configuration, including the values API Key ID and API Key Secret, then apply the keys according to how you intend to use them

### Generate API keys for use with a Soda Agent

1. In your Soda Cloud account, navigate to **Data Sources**, then navigate to the **Agents** tab.\
   Click **New Soda Agent**.

   <figure><img src="/files/LlH3YFcPTeruDWiZw7iQ" alt=""><figcaption></figcaption></figure>
2. Copy the values of the API Key ID and API Key Secret to a secure location, then apply the keys according to the instructions in the [Deploy a Soda Agent](/deployment-options/soda-agent/deploy-soda-agent.md) documentation.

<br>

***

{% if (visitor.claims.plan === 'datasetStandard')%}
{% hint style="success" %}
You are **logged in to Soda** and seeing the **Dataset Standard license** documentation. Learn more about [Documentation access & licensing](/reference/documentation-access-and-licensing.md).
{% endhint %}
{% endif %}

{% if (visitor.claims.plan === 'enterprise')%}
{% hint style="success" %}
You are **logged in to Soda** and seeing the **Team license** documentation. Learn more about [Documentation access & licensing](/reference/documentation-access-and-licensing.md).
{% endhint %}
{% endif %}

{% if (visitor.claims.plan === 'enterpriseUserBased')%}
{% hint style="success" %}
You are **logged in to Soda** and seeing the **Enterprise license** documentation. Learn more about [Documentation access & licensing](/reference/documentation-access-and-licensing.md).
{% endhint %}
{% endif %}

{% if !(visitor.claims.plan === 'enterprise' || visitor.claims.plan === 'enterpriseUserBased' || visitor.claims.plan === 'datasetStandard')%}
{% hint style="info" %}
You are **not logged in to Soda** and are viewing the default public documentation. Learn more about [Documentation access & licensing](/reference/documentation-access-and-licensing.md).
{% endhint %}
{% endif %}


---

# Agent Instructions: 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:

```
GET https://docs.soda.io/reference/generate-api-keys.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
