# Generate an API Token

Finout API is fully secured using a secret key and client token, which can be managed from your Finout account. When you generate the API token, it creates both a secret key and a client ID (token). These parameters will be passed in the Authorization header when invoking any Finout API methods.

### API tokens vs. personal tokens

Finout supports two types of tokens for API authentication:

* **API token** — Account-level credentials used for service-to-service integrations. Consists of a Client ID and a Secret Key passed in request headers.
* **Personal token** — User-level credentials tied to your individual Finout user. Use personal tokens when you want API access scoped to your own user identity and permissions.

{% hint style="info" %}
Only Admins can create open the Admin Portal and generate API tokens.&#x20;
{% endhint %}

### Generate a personal token

1. Select your profile from the user dropdown on the top left of any screen in Finout.

<figure><img src="/files/IoYGzXsc13CsPmUFH9r8" alt=""><figcaption></figcaption></figure>

2. Click **Admin Portal**.
3. Select **Personal Tokens**.

<figure><img src="/files/znltQmd9cjTSAX2hZ3Ee" alt=""><figcaption></figcaption></figure>

4. Click **Generate Token**.
5. Enter a **Description**, select a **Role**, and choose a **token expiration**.
6. Click **Create**. Your token is generated.
7. Copy the **Client ID** and the **Secret Key** — these won't be accessible after you close this window.
8. Add the **Client ID** and **Secret Key** in your request headers:
   * `x-finout-client-id`
   * `x-finout-secret-key`<br>

### Generate an API token

1. Select your profile from the user dropdown on the top left of any screen in Finout.<br>

   <figure><img src="/files/IoYGzXsc13CsPmUFH9r8" alt=""><figcaption></figcaption></figure>
2. Click **Admin Portal**. \
   The Profile window appears.

   <figure><img src="https://finout.intercom-attachments.eu/i/o/16878229/40a6e169a300f8d575922a0f/AD_4nXfiCZm3qNXrbinAIlb6iraYIiqJtu76aWuMdEkeGrKFEQBvtkrlWE4381gJNXTux__oIdrudMN3f47udKrXoyhgrYI064mAFmvPTezF3A8kq9mwICidZPYQY9R7Nf2sZ9puqWp3q45nXxyN4KEERBiUcaPVyjtWwcdVhMlc?expires=1730185200&#x26;signature=6e732155a98eda6f3a22c66715c65c77a68c5512f6dd319b5658ace8ac758811&#x26;req=0dNnwlD4rj5k2hL085ZhoTYb0E6FEZjqmVaDvM43XVq3uNGLWBtif6k2ZDVS%0AYQ%3D%3D%0A" alt=""><figcaption></figcaption></figure>

   <figure><img src="/files/GLWj6OIyborQJwoggzrd" alt=""><figcaption></figcaption></figure>
3. Select **API Tokens**. \
   The API Token screen appears.

   <figure><img src="/files/l7dxMcYuqMixp7S9xz2b" alt=""><figcaption></figcaption></figure>

   <figure><img src="https://finout.intercom-attachments.eu/i/o/16878230/84e2b741ca5699e1dbee3534/AD_4nXf-7f-2DxNkT6uZL7YYTuSZUbZxQglFWJ_ahmVeC86ZieMaMEiXlEo43-1EFKdZurnO8giWrwyPirGfPtkDX8x4FR4JIIk3QM1ju_Fbllj0QAdYRMcUvY5a2CIagNcwDZbBFspSLYsPM9CNqe9cPD7Pd9Ml1269cVvc3Cfyeg?expires=1730185200&#x26;signature=00e45334e596772c44ec9e0329f939146c124467624e7cf2a234b9cb3589afba&#x26;req=0dNnwlD4rzdk2hL085ZhoVuwd0dAFmH%2FW%2Bc3e1cRuoUOJRTHUnLBvNNOoj7c%0AIA%3D%3D%0A" alt=""><figcaption></figcaption></figure>
4. Click **Generate Token**. \
   The Generate Token window appears.<br>

   <div align="left"><figure><img src="/files/qAks83SpjPc2IebuvgYk" alt=""><figcaption></figcaption></figure></div>

   <div align="left"><figure><img src="https://finout.intercom-attachments.eu/i/o/16878231/93a0c34406f652e61da87830/AD_4nXcz09Iee9VbKzjuXtVRTSca_j8bs3UQ2a1qrKpd9lw04GGTclH6YsbIJ5boG1Sb8rgk-0B67MGrIuSLiW6bQOhwYTbRcIgxd7FXY7OPsT6nwIr6UxW-n0mGsfWglJQ6aaiMmLKFbPK105FKb3wb7N9sexYWV69xLGDsqHACXQ?expires=1730185200&#x26;signature=216ec2cbcd5d6d397e43e02746d718cc553107957ab2491aa20e95b9565b589f&#x26;req=0dNnwlD4rzZk2hL085Zhocva%2F7D9LCfAsH%2BsbHSOS26Uk1HUtZVPqRRdc6n1%0ATg%3D%3D%0A" alt=""><figcaption></figcaption></figure></div>
5. Enter a **Description**, choose a **Role**, choose **token expiration**, and click **Create**. \
   Your token is generated.
6. Copy the **Client ID** and the **Secret Key**, which won't be accessible later, and then click **Done**.
7. Add the **Client ID** and **Secret Key** in Headers when invoking any of the Finout endpoints:
   * x-finout-client-id
   * x-finout-secret-key<br>

     <figure><img src="/files/bbGLHCUWrFQtgPBoWLWR" alt=""><figcaption></figcaption></figure>

### FAQs

**What happens to a user's personal tokens if they are removed from the account?**

Personal tokens are tied to the individual user. When a user is removed from the account, their personal tokens are automatically deleted.

**Does a personal token respect the user's role and data access permissions?**

Yes. Personal tokens include the user's context — including their assigned roles and permissions within the account. Any API call made with a personal token is subject to the same access controls as the user who created it.

**What is the difference between an API token and a personal token?**

API tokens are account-level credentials, not tied to any specific user. Personal tokens are user-level credentials scoped to the individual who created them, and they carry that user's permissions. Use API tokens for service-to-service integrations; use personal tokens when the API call should reflect a specific user's identity and access.

**Can I view a token secret after it's been created?**

No. The secret key is only visible at the time of creation. Copy and store it securely before closing the window — it cannot be retrieved afterward.

**Can a token expire?**

Yes. You can set an expiration period when creating the token. Once expired, the token is no longer valid and a new one must be generated.


---

# 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.finout.io/api/finout-api/generate-an-api-token.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.
