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

# Cómo crear y gestionar claves API

> Guía práctica para crear claves API, definir permisos y mantener integraciones personalizadas funcionando sin cortar operación.

Esta guía te muestra cómo usar `Configuración > Integraciones > API` para dar acceso seguro a una integración externa, como comercio electrónico, reportes o un sistema interno.

## Para qué sirve

1. Crear una clave API para una integración externa.
2. Definir qué puede leer o escribir esa integración.
3. Controlar uso de la clave (`Últ. uso` y `Requests`).
4. Reemplazar o eliminar claves sin perder trazabilidad.

## Antes de empezar

1. Tenés que tener completos los datos fiscales de la organización (`Configuración > Organización > Impositivo (ARCA)`) para entrar a Integraciones.
2. Definí con tu integrador qué rutas va a usar.
3. Prepará un canal seguro para compartir la clave (no por chat público ni capturas abiertas).

## Dónde está en la app

1. Menú `Configuración` > `Integraciones` > `API`.
2. Menú: [/configuracion/integraciones/api](https://app.lapyme.com.ar/?next=%2Fconfiguracion%2Fintegraciones%2Fapi).

## Flujo 1: crear una clave API

1. Hacé click en `Crear API Key`.
2. Completá `Nombre` (ejemplo: `Integración Ecommerce - Producción`).
3. Elegí permisos:
   * `Admin` (acceso total, no recomendado para uso habitual).
   * o permisos por módulo: `Ninguno`, `Lectura` o `Escritura`.
4. Hacé click en `Crear API Key`.
5. Copiá la clave cuando aparece en pantalla y guardala en un gestor seguro.
6. Marcá `Ya guardé mi API Key en un lugar seguro.` y cerrá con `Listo`.

<Warning>
  La clave completa se muestra una sola vez.
  Si cerrás sin guardarla, vas a tener que crear una nueva.
</Warning>

## Flujo 2: pasarla a tu integrador

Pasale la clave completa y pedile que la use en el encabezado:

`Authorization: Bearer TU_API_KEY`

## Flujo 3: revisar uso

En la tabla de claves API podés ver:

1. `Nombre` y prefijo de clave (`lpk_...`).
2. `Últ. uso`.
3. `Requests` acumulados.
4. Texto de ayuda de permisos (ícono `i`).

## Flujo 4: editar nombre o permisos

1. En la fila de la clave, hacé click en `Editar` (ícono lápiz).
2. Ajustá nombre y permisos.
3. Guardá con `Actualizar API Key`.

## Flujo 5: reemplazar una clave (rotación)

No hay botón de “rotar”, así que el flujo recomendado es:

1. Creá una nueva clave API con el mismo alcance necesario.
2. Actualizá la integración externa para usar la nueva clave.
3. Verificá que la nueva clave tenga `Últ. uso`/`Requests`.
4. Eliminá la clave anterior.

## Flujo 6: eliminar una clave API

1. En la fila de la clave, hacé click en `Eliminar` (ícono papelera).
2. Confirmá en el diálogo.
3. Desde ese momento, las aplicaciones que usaban esa clave dejan de autenticarse.

## Qué cambia al guardar

1. Al crear: se genera una clave nueva activa y queda asociada a la organización.
2. Al editar: los permisos se aplican inmediatamente en próximas llamadas API.
3. Al eliminar: la clave queda inactiva y deja de validar.

## Dónde se refleja

1. En la tabla de `Configuración > Integraciones > API` (nombre, uso y solicitudes).
2. En la integración externa (si la clave/permisos son correctos, las llamadas pasan).
3. En respuestas de API cuando algo falla (ejemplo: clave inválida o permisos insuficientes).

## Mapa rápido de permisos

| Permiso en pantalla               | Ruta(s) que cubre                                                                                                             |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Productos Lectura/Escritura       | `/api/v1/products`, `/api/v1/products/{product_id}`, `/api/v1/products/bulk-adjustments`, `/api/v1/inventory`                 |
| Clientes Lectura/Escritura        | `/api/v1/customers`, `/api/v1/customers/{customer_id}`                                                                        |
| Ventas Lectura/Escritura          | `/api/v1/sales`, `/api/v1/sales/{sale_id}`, `/api/v1/customer-payments`, `/api/v1/customer-payments/{payment_id}`             |
| Compras Lectura/Escritura         | `/api/v1/purchases`, `/api/v1/purchases/{purchase_id}`, `/api/v1/supplier-payments`, `/api/v1/supplier-payments/{payment_id}` |
| Ubicaciones Lectura               | `/api/v1/warehouses`, `/api/v1/warehouses/{warehouse_id}`                                                                     |
| Transferencias Escritura          | `/api/v1/stock-transfers`                                                                                                     |
| Categorías Lectura/Escritura      | `/api/v1/categories`, `/api/v1/categories/{category_id}`                                                                      |
| Métodos de pago Lectura/Escritura | `/api/v1/payment-methods`, `/api/v1/payment-methods/{payment_method_id}`                                                      |

<Info>
  En las rutas públicas actuales, `Ubicaciones` se expone en lectura.
</Info>

## Comportamientos no obvios

1. `Escritura` y `Lectura` se configuran por separado por módulo.
2. En la pantalla actual no tenés selector específico para `Listas de precios`; para esas rutas, usá una clave `Admin`.
3. `Últ. uso` y `Requests` suben cuando la clave pasa validación y tiene permisos suficientes.
4. El botón `Eliminar` desactiva la clave: deja de aparecer en el listado activo y ya no se puede usar.
5. Aunque veas `Lectura/Escritura` en algunos módulos, hoy hay recursos con endpoints públicos solo de lectura.

## Errores comunes

1. `API key requerida en el header Authorization`\
   Falta enviar `Authorization: Bearer ...`.
2. `Formato de API key inválido`\
   La clave está mal copiada o incompleta.
3. `API key no encontrada` / `API key inválida`\
   La clave no corresponde a una activa o fue eliminada.
4. **“Permisos insuficientes”**\
   La clave no tiene el permiso necesario para esa ruta.
5. **La integración dejó de funcionar después de cambios**\
   Revisá si editaste permisos o eliminaste la clave anterior sin actualizar el sistema externo.

## Guías relacionadas

1. [Introducción API](/api-reference/introduccion)
2. [Autenticación API](/api-reference/autenticacion)
3. [Endpoints y recursos](/api-reference/v1)
4. [Webhooks](/api-reference/webhooks)
5. [Cómo conectar y configurar una cuenta de integración](/configuracion/integraciones-conexion-y-configuracion-de-cuentas)
