---
title: Autenticación
description: Autentica las solicitudes de tu producto a Beeuni.
---

## Crear un cliente

El SDK llama a `getToken` en cada solicitud. Tu aplicación gestiona el almacenamiento y la renovación de tokens.

```ts
import { createBeeuni } from '@beeuni/sdk';

const beeuni = createBeeuni({
  backendUrl: 'https://api.beeuni.ai/v1',
  getToken: async () => process.env.BEEUNI_API_KEY ?? null,
});

const projects = await beeuni.projects.list();
```

## Elegir una credencial

- Usa una clave API personal para scripts de servidor o CI. Guárdala en el servidor y elige el ámbito más limitado disponible.
- Usa una cuenta de servicio para un agente u otro llamante no humano. Asigna los roles de proyecto necesarios; una cuenta de servicio nueva no tiene acceso a proyectos.
- Para una aplicación que actúa en nombre de sus usuarios, usa [Sign in with Beeuni](/docs/es/sdk/sign-in). El controlador del servidor gestiona los tokens OAuth y su renovación.

## Gestionar solicitudes rechazadas

`401` indica credenciales ausentes, caducadas o no válidas. `403` puede indicar permisos insuficientes o una función desactivada; lee el código de error antes de reintentar.

Si tu función de token guarda en caché un token rotativo, añade `invalidate(rejectedToken)`. El SDK usa esta función antes de reintentar una vez la solicitud rechazada.

## Proteger las credenciales

No incluyas claves API del servidor en código del navegador, URL o registros. Usa tu servidor o el proxy OAuth para solicitudes del navegador. Revoca las credenciales comprometidas en **Account → Tokens**.

[Ejemplo completo](/docs/es/sdk/example)
