> ## Documentation Index
> Fetch the complete documentation index at: https://formpaste.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# API-Tokens

> Das fpat_-Bearer-Token, das den MCP-Server autorisiert. In den Einstellungen erstellt, einmalig angezeigt.

<Info>**Kostenlos** - das Erstellen und Verwenden von API-Tokens ist nicht plan-gebunden.</Info>

Ein **Konto-API-Token** (`fpat_…`) ist das Bearer-Credential, das Anfragen an den
[MCP-Server](/docs/agents/mcp-server) unter `POST /mcp` autorisiert. Es ist auf dein Konto
begrenzt, sodass jeder damit ausgeführte Tool-Aufruf als du selbst handelt, nur auf
deine eigenen Formulare und Einsendungen.

<Warning>
  Heute autorisiert ein API-Token **ausschließlich** den MCP-Server. Es schaltet keine
  allgemeine REST-API frei - Formpaste hat keine öffentliche REST-"Forms-API" oder
  "Provisioning-API". Sollte sich das künftig ändern, wird derselbe Token-Mechanismus
  wiederverwendet, statt einen zweiten Anmeldedatentyp einzuführen.
</Warning>

## Ein Token erstellen

1. Öffne das [Dashboard](https://app.formpaste.com) → **Settings → API & MCP**.
2. Klicke auf **New token** und gib ihm einen Namen (z. B. `laptop` oder `claude-code`),
   damit du Tokens später auseinanderhalten kannst.
3. Das rohe Token wird **genau einmal** angezeigt, unmittelbar nach der Erstellung.
   Kopiere es jetzt, denn Formpaste speichert oder zeigt den rohen Wert danach nie
   wieder an.

```
fpat_ScqE8h9wN3vLxK2mPq7RtY5uZaBc
```

Füge es direkt in die Konfiguration deines MCP-Clients ein - siehe
[MCP-Server → Install](/docs/agents/mcp-server#install-one-command) für den genauen Block.

## Wie es gespeichert wird

Formpaste speichert nur einen **SHA-256-Hash** deines Tokens, nie den rohen Wert. Das
ist auch der Grund, warum das rohe Token nach dem Schließen des Erstellungsbildschirms
nicht wiederherstellbar ist - wenn du es verlierst, erstelle ein neues und widerrufe
das alte.

## Ein Token widerrufen

Klicke unter **Settings → API & MCP** auf **Revoke** neben einem beliebigen Token. Der
Widerruf erfolgt sofort: Die nächste `/mcp`-Anfrage mit diesem Token erhält

```
unauthorized: invalid or revoked API token - generate one in Settings → API tokens.
```

Widerrufe ein Token, wenn es durchsickert (z. B. irgendwo öffentlich eingefügt wurde)
oder wenn du eine Maschine/einen Agenten außer Betrieb nimmst, der es hatte. Es gibt
keine Möglichkeit, ein Token zu "pausieren" - der Widerruf ist endgültig; erstelle ein
neues, um dich wieder zu verbinden.

## Scope

Beim Erstellen eines Tokens wählst du dessen Scope:

| Scope     | Nutzbar                                                                         | Nicht nutzbar                                                  |
| --------- | ------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| **Full**  | Jedes Tool, einschließlich `list_submissions` (Lesen von Einsendungsinhalten).  | Nichts.                                                        |
| **Setup** | `create_form`, `get_snippet`, `list_forms`, `get_form`, `send_test_submission`. | `list_submissions` - das Lesen von Einsendungen ist blockiert. |

Ein **Setup**-Token ist die sichere Standardwahl, um es einem autonomen Coding-Agenten
zu geben, der nur Formulare erstellen und verdrahten muss: Er kann den gesamten
Setup- und Verifizierungs-Loop durchlaufen, aber niemals den eingereichten Inhalt eines
Besuchers lesen. Ein Setup-Token, das `list_submissions` aufruft, erhält einen
`forbidden`-Fehler. Bestehende Tokens sind standardmäßig Full. Ein Token ist immer
Owner-gebunden - es kann unabhängig vom Scope immer nur für das Konto handeln, zu dem
es gehört.

## Access-Key vs. API-Token

Das sind zwei unterschiedliche Credentials mit unterschiedlichen Sicherheitsprofilen -
verwechsle sie nicht:

|                        | `access_key` (`fp_…`)                                          | API-Token (`fpat_…`)                |
| ---------------------- | -------------------------------------------------------------- | ----------------------------------- |
| Verwendet bei          | `POST /submit`                                                 | `POST /mcp`                         |
| Gesendet als           | ein Formularfeld im Request-Body                               | `Authorization: Bearer`-Header      |
| Gehört zu              | einem Formular                                                 | deinem gesamten Konto               |
| Öffentlich gedacht?    | Ja - dafür gedacht, im öffentlichen Seitenquelltext zu stehen  | Nein - behandle es wie ein Passwort |
| Wo es ausgestellt wird | Dashboard-Tab Setup, oder [`create_form`](/docs/agents/create-form) | Settings → API & MCP                |

Wenn du ein `<form>` so verdrahtest, dass es Besucher-Einsendungen entgegennimmt,
brauchst du den `access_key`. Wenn du einen Agenten anbindest, der Formulare über MCP
verwaltet, brauchst du das API-Token.

<CardGroup cols={2}>
  <Card title="MCP-Server" icon="server" href="/docs/agents/mcp-server">
    Wo dieses Token verwendet wird.
  </Card>

  <Card title="Dein erstes Formular" icon="inbox" href="/docs/first-form">
    Woher der access\_key eines Formulars stattdessen kommt.
  </Card>
</CardGroup>
