# Autenticación

> Index of the TerraLab docs for agents: [llms.txt](https://terra-lab.ai/docs/llms.txt). Every docs page is also served as markdown: add .md to its URL.

Cada llamada necesita una cuenta de TerraLab, salvo los dos documentos públicos: [`/v1/openapi.json`](https://mcp.terra-lab.ai/v1/openapi.json) y [`/v1/meta/pricing`](https://mcp.terra-lab.ai/v1/meta/pricing). Hay dos formas de enviarla: una clave de API para el código y OAuth 2.1 para los agentes.

## Claves de API

Usa una clave para scripts, back ends y notebooks, es decir, todo lo que no pueda abrir un navegador para iniciar sesión.

1. Inicia sesión en [terra-lab.ai/login](https://terra-lab.ai/es/login).
2. Abre [Dashboard, MCP](https://terra-lab.ai/es/dashboard/mcp), luego **Advanced**, **API keys**.
3. Ponle un nombre a la clave, acepta los términos de la API y haz clic en **Create key**.
4. Cópiala enseguida. Una clave empieza por `tlk_`, seguido de 48 caracteres hexadecimales, y solo se muestra una vez: TerraLab guarda un hash, nunca la clave.

Envíala en la cabecera `Authorization`:

```bash
curl https://mcp.terra-lab.ai/v1/me \
  -H "Authorization: Bearer $TERRALAB_API_KEY"
```

Las claves no caducan, y una cuenta puede tener hasta 20 claves activas. Usa **Revoke** en la misma página cuando una clave se filtre o termine un proyecto: la siguiente llamada con ella responderá `401`. Las llamadas hechas con una clave se cuentan en la cuenta que la creó.

Mantén las claves fuera del control de versiones, del código de front end y de las capturas de pantalla. Léelas desde una variable de entorno o un gestor de secretos.

## OAuth 2.1 para agentes

Los agentes de IA inician sesión en lugar de usar una clave. Cuando un agente llama por primera vez a `https://mcp.terra-lab.ai/mcp` sin token, el servidor responde `401` con una cabecera `WWW-Authenticate` que apunta a sus metadatos, y el agente abre en tu navegador el inicio de sesión de TerraLab. Apruebas una sola vez; después el agente conserva un token.

| Concepto | Valor |
| --- | --- |
| Metadatos del recurso protegido | `https://mcp.terra-lab.ai/.well-known/oauth-protected-resource` |
| Servidor de autorización | `https://terra-lab.ai` |
| Metadatos del servidor | `https://terra-lab.ai/.well-known/oauth-authorization-server` |
| Concesión | Código de autorización con PKCE (`S256`), clientes públicos |
| Registro de cliente | Registro dinámico, o un documento de metadatos del ID de cliente |
| Scope | `data` |
| Duración del token de acceso | 1 hora, renovado con un token de actualización válido 30 días |

La mayoría de los agentes se ocupan de todo esto solos: solo tienes que pegar la URL del servidor. Consulta [Servidor MCP](https://terra-lab.ai/es/docs/mcp).

Un token de acceso OAuth también funciona en la API REST, como token Bearer en la misma cabecera.

## Desconectar un agente

[Dashboard, MCP](https://terra-lab.ai/es/dashboard/mcp) muestra tus **Connected apps**. **Disconnect** revoca el acceso de esa aplicación: su siguiente llamada responde `401` con `access_revoked`.

Source: https://terra-lab.ai/es/docs/authentication · Updated 2026-10-27
