> ## 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.

# Tokens de API

> El token Bearer fpat_ que autoriza el servidor MCP. Creado en Settings, mostrado una sola vez.

<Info>**Gratis** - crear y usar tokens de API no está limitado por plan.</Info>

Un **token de API de cuenta** (`fpat_…`) es la credencial Bearer que autoriza las
solicitudes al [servidor MCP](/docs/agents/mcp-server) en `POST /mcp`. Está limitado a tu
cuenta, así que cualquier llamada a una herramienta hecha con él actúa como tú, solo
sobre tus propios formularios y envíos.

<Warning>
  Hoy, un token de API autoriza **únicamente** el servidor MCP. No desbloquea ninguna
  API REST general - Formpaste no tiene una "Forms API" ni una "Provisioning API" REST
  pública. Si eso cambia en el futuro, reutilizará este mismo mecanismo de token en
  lugar de introducir un segundo tipo de credencial.
</Warning>

## Crear un token

1. Abre el [panel](https://app.formpaste.com) → **Settings → API & MCP**.
2. Haz clic en **New token** y dale un nombre (p. ej. `laptop` o `claude-code`) para
   poder distinguir los tokens más adelante.
3. El token en bruto se muestra **exactamente una vez**, inmediatamente después de
   crearlo. Cópialo ahora, porque Formpaste nunca vuelve a almacenar ni mostrar el
   valor en bruto.

```
fpat_ScqE8h9wN3vLxK2mPq7RtY5uZaBc
```

Pégalo directamente en la configuración de tu cliente MCP - consulta
[Servidor MCP → Install](/docs/agents/mcp-server#install-one-command) para ver el bloque
exacto.

## Cómo se almacena

Formpaste almacena solo un **hash SHA-256** de tu token, nunca el valor en bruto. Esta
es también la razón por la que el token en bruto no se puede recuperar después de
cerrar la pantalla de creación - si lo pierdes, crea uno nuevo y revoca el anterior.

## Revocar un token

Desde **Settings → API & MCP**, haz clic en **Revoke** junto a cualquier token. La
revocación es inmediata: la siguiente solicitud a `/mcp` que use ese token recibe

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

Revoca un token si se filtra (p. ej. si se pegó en algún lugar público) o si estás
dando de baja una máquina/agente que lo tenía. No hay forma de "pausar" un token - la
revocación es permanente; crea uno nuevo para volver a conectarte.

## Scope

Al crear un token eliges su scope:

| Scope     | Puede usar                                                                                   | No puede usar                                             |
| --------- | -------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| **Full**  | Todas las herramientas, incluyendo `list_submissions` (lectura del contenido de los envíos). | Nada.                                                     |
| **Setup** | `create_form`, `get_snippet`, `list_forms`, `get_form`, `send_test_submission`.              | `list_submissions` - la lectura de envíos está bloqueada. |

Un token **setup** es la opción segura por defecto para entregar a un agente de
programación autónomo que solo necesita crear y conectar formularios: puede realizar
todo el ciclo de configuración y verificación, pero nunca puede leer el contenido
enviado por un visitante. Un token setup que llama a `list_submissions` recibe un
error `forbidden`. Los tokens existentes son full por defecto. Un token siempre está
limitado al propietario - solo puede actuar sobre la cuenta a la que pertenece, sin
importar el scope.

## Access key vs. token de API

Estas son dos credenciales distintas con posturas de seguridad diferentes - no las
confundas:

|                            | `access_key` (`fp_…`)                                              | token de API (`fpat_…`)            |
| -------------------------- | ------------------------------------------------------------------ | ---------------------------------- |
| Usado en                   | `POST /submit`                                                     | `POST /mcp`                        |
| Enviado como               | un campo de formulario en el cuerpo de la solicitud                | encabezado `Authorization: Bearer` |
| Pertenece a                | un formulario                                                      | toda tu cuenta                     |
| ¿Pensado para ser público? | Sí - diseñado para estar en el código fuente de una página pública | No - trátalo como una contraseña   |
| Dónde se emite             | pestaña Setup del panel, o [`create_form`](/docs/agents/create-form)    | Settings → API & MCP               |

Si estás conectando un `<form>` para aceptar envíos de visitantes, necesitas el
`access_key`. Si estás conectando un agente para gestionar formularios vía MCP,
necesitas el token de API.

<CardGroup cols={2}>
  <Card title="Servidor MCP" icon="server" href="/docs/agents/mcp-server">
    Dónde se usa este token.
  </Card>

  <Card title="Tu primer formulario" icon="inbox" href="/docs/first-form">
    De dónde viene en cambio el access\_key de un formulario.
  </Card>
</CardGroup>
