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

# API Keys

> Crea y gestiona API keys desde el Dashboard de SalesOS.

# Gestión de API Keys

<Tip>
  Una vez tengas tu clave, prueba peticiones firmadas en el navegador en el [Sandbox de la API](https://play2sellsa.github.io/api-sandbox/) — pega la API key y el secret, y el playground firma las peticiones automáticamente.
</Tip>

Las API keys permiten que tus integraciones se autentiquen con SalesOS usando el esquema de peticiones firmadas [P2S-SIGN-V1](/es/api/authentication). Las claves se crean y gestionan exclusivamente desde el Dashboard de SalesOS.

<Info>
  La gestión de API keys requiere la capability **admin.integrations**. Los owners y admins del tenant la tienen por defecto.
</Info>

***

## Crear una clave

<Steps>
  <Step title="Abre el Dashboard">
    Ve a [dashboard.play2sell.com](https://dashboard.play2sell.com) (o [staging](https://dashboard-staging.play2sell.com)) e inicia sesión con tu cuenta de administrador.
  </Step>

  <Step title="Navega a API Keys">
    Ve a **Integraciones > API Keys** en el menú lateral.
  </Step>

  <Step title="Crea una nueva clave">
    Haz clic en **Crear API Key** y completa:

    * **Nombre** — Un nombre descriptivo (ej.: "Sincronización CRM Nocturna", "Formularios del Sitio")
    * **Alcance** — Selecciona `default:sync` para integraciones estándar
    * **Límite de tasa** — Solicitudes por hora (por defecto: 1.000)
    * **Expiración** — Fecha de vencimiento opcional
  </Step>

  <Step title="Copia los dos valores">
    Tras la creación, el Dashboard muestra **dos valores, una sola vez**:

    * **API Key** — identificador público, ej. `sk_live_a1b2c3d4...`. Se envía en el header `Authorization` en cada petición firmada.
    * **API Key Secret** — usado para calcular la firma de la petición. Nunca viaja por la red.

    Copia ambos inmediatamente y guárdalos en un lugar seguro (variables de entorno, gestor de secretos).
  </Step>
</Steps>

<Warning>
  El **API Key Secret** se muestra **solo una vez** en el momento de la creación. Si lo pierdes, revoca la clave y crea una nueva — no hay forma de recuperar el secret.
</Warning>

***

## Gestionar claves existentes

La misma pantalla **Integraciones > API Keys** te permite:

* **Ver** todas las claves activas, revocadas y expiradas (el secret nunca se muestra de nuevo)
* **Revocar** una clave — deja de funcionar inmediatamente, preservando el historial de auditoría
* **Eliminar** una clave — la remueve permanentemente (prefiere revocar)
* **Monitorear uso** — ve el conteo de solicitudes y la fecha del último uso

***

## Alcances disponibles

| Alcance        | Concede acceso a                                   |
| -------------- | -------------------------------------------------- |
| `default:sync` | Endpoints `sync_collaborators` y `sync_activities` |
| `leads:read`   | Lectura de datos de leads                          |
| `leads:write`  | Creación y actualización de leads                  |

<Note>
  Una selección de `scopes` vacía significa que la clave **no tiene restricción de alcance** — puede acceder a cualquier endpoint que acepte autenticación por API key.
</Note>

***

## Mejores prácticas

<AccordionGroup>
  <Accordion title="Usa claves diferentes para cada integración">
    Crea claves separadas para cada integración (sincronización CRM, formularios del sitio, API de socios). Así, si una clave se compromete, solo necesitas rotar esa.
  </Accordion>

  <Accordion title="Establece fechas de expiración">
    Las claves sin expiración viven para siempre. Establece una fecha de vencimiento para forzar rotación regular — 90 días es un buen valor por defecto.
  </Accordion>

  <Accordion title="Usa alcances mínimos">
    Si una clave solo necesita sincronizar actividades, dale solo `default:sync`. No dejes los alcances vacíos a menos que la clave realmente necesite acceso total.
  </Accordion>

  <Accordion title="Monitorea el uso">
    Revisa el conteo de solicitudes y la fecha del último uso en la lista del Dashboard. Las claves no usadas en meses pueden ser candidatas a revocación.
  </Accordion>

  <Accordion title="Rota claves sin tiempo de inactividad">
    1. Crea una nueva clave en el Dashboard
    2. Actualiza tu integración para usar la nueva clave + secret
    3. Verifica que la nueva clave funciona
    4. Revoca la clave antigua
  </Accordion>
</AccordionGroup>

***

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Autenticación" icon="shield" href="/es/api/authentication">
    Conoce el esquema de firma P2S-SIGN-V1 con ejemplos de código
  </Card>

  <Card title="Integración Activities" icon="plug" href="/es/api/integrations/activities">
    Empieza a enviar actividades con tu nueva clave
  </Card>
</CardGroup>
