> For the complete documentation index, see [llms.txt](https://verbatim-ai.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://verbatim-ai.gitbook.io/docs/api-keys.md).

# API keys

If you integrate Verbatim AI into your own systems, you call our **secured API** with JWT tokens. You **sign** those tokens with your **private key** (which always stays on your side), and we **verify** the signature with the matching **RSA public key** that you publish here.

> 🔐 Only the **public** part of your key is ever published. Your **private** key must never leave your side.

## Your organisation Id 🆔

Signing a token is not quite enough: it also has to say **which organisation** is calling. That is your **organisation Id**, carried in the `oid` claim of every JWT you mint.

You will find it on your [**profile**](/docs/profile.md) — tap your avatar at the top-right, and it sits just under your email as a chip. **Tap the chip to copy it.** 📋

## Your keys at a glance 📇

The key list shows every RSA public key published for your organisation. Each key is a card with its main details:

* Its **name**
* Its **description** (if you added one)
* Its **status** — `Active` ✅ or `Inactive` ⏸️
* Its **publication date**

Tap a card to open the key detail. Pull the list down to refresh it at any time. 🔄

### Activate or deactivate a key 🔁

Each card has a switch to toggle the key without leaving the list:

* An **active** key can verify your JWT tokens.
* An **inactive** key is kept but is no longer used for verification.

> ℹ️ A key must be **deactivated before it can be deleted**.

### Get a fresh token 🎫

The **Get a key** button at the top of the page copies a **fresh JWT token** to your clipboard — handy to quickly call the secured API. The token is verified with the public keys you have activated.

## Publish a new key ➕

Tap the **➕** button at the bottom of the list to publish a key:

1. **Name** *(required)* — identifies the key later (e.g. the service or environment that uses it).
2. **Description** *(optional)* — a few words on what the key is for; shown in the list and on the detail page.
3. **Public key content** — paste the **PEM-encoded** public key. It should look like:

   ```
   -----BEGIN PUBLIC KEY-----
   ...
   -----END PUBLIC KEY-----
   ```

Before publishing, we check that a name is filled and the content is a **valid PEM public key**. Click **Save** to publish, or **Cancel** to leave without saving.

> ⚠️ A **private** key is always rejected — never paste a private key here.

> ℹ️ Once published, the RSA content can **never be read back or edited**. You can still rename the key, change its description, activate/deactivate it, or delete it.

## Key detail

The detail page shows everything you can manage for a single key:

* Its **description**, **format** (PEM), **creation date** and **last update**
* A switch to **activate / deactivate** it
* The **pencil** icon ✏️ (top-right) to edit its **name** and **description**

> 🔐 For security, the **RSA content is never displayed**. A key can only be renamed, described, activated, deactivated or deleted — never read back.

### Edit a key ✏️

From the edit view you can change the **name** *(required)* and the **description** *(optional — leave it empty to remove it)*. The RSA content, format and activation status cannot be changed here. Click **Save** to confirm, or **Cancel** to discard.

### Delete a key 🗑️

The **Delete this key** button removes the key permanently. It is only available once the key is **deactivated** — the button stays disabled while the key is active.

> ⚠️ **Deletion is definitive.** A deleted key can no longer verify JWT tokens and cannot be restored. A confirmation is asked before it is applied.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://verbatim-ai.gitbook.io/docs/api-keys.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
