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

# Resumen de la API de LanderLab

> Descubre cómo funciona la REST API de LanderLab, cómo autenticarte y qué recursos puedes gestionar mediante programación, desde landing pages y leads hasta tests A/B y analítica.

La API de LanderLab te da acceso programático a toda tu cuenta. Puedes crear y publicar landers, obtener datos de leads, leer la analítica, gestionar las variantes de los tests A/B, configurar integraciones y mucho más, todo mediante HTTP.

Si prefieres trabajar con lenguaje natural en lugar de escribir llamadas a la API, el [servidor MCP](/es/mcp/overview) conecta tu asistente de IA directamente con LanderLab usando la misma API por debajo. Inicia sesión con tu cuenta de LanderLab, así que no necesitas ninguna clave de API.

## URL base

Todas las peticiones a la API van a:

```text theme={null}
https://api.landerlab.dev
```

La versión actual de la API es la **v2**. Todos los endpoints llevan el prefijo `/api/v2/`.

## Autenticación

La API se autentica con una clave de API. Incluye tu clave en la cabecera `X-API-Key` en cada petición.

```text theme={null}
X-API-Key: ll_live_YOUR_KEY_HERE
```

Tu clave empieza por `ll_live_` y está vinculada a tu organización. Todas las peticiones se limitan a la organización a la que pertenece la clave, así que en la mayoría de las llamadas no tienes que indicar el ID de la organización por separado.

<Note>
  Las claves de API solo se muestran una vez, al crearlas. Si pierdes la tuya, tendrás que generar una nueva. Consulta los pasos en [Genera una clave de API](/es/mcp/generate-api-key).
</Note>

### Respuestas de error

Todos los endpoints devuelven códigos de estado HTTP estándar.

| Código | Significado                                                             |
| ------ | ----------------------------------------------------------------------- |
| `200`  | Correcto                                                                |
| `400`  | Petición incorrecta (parámetros no válidos o límite del plan alcanzado) |
| `401`  | No autorizado (falta la clave de API o no es válida)                    |
| `403`  | Prohibido (la clave no tiene acceso a este recurso)                     |
| `404`  | No encontrado                                                           |

Las respuestas de error incluyen una cadena `error` en el cuerpo de la respuesta con una descripción del problema.

## Grupos de recursos

La API se organiza en los siguientes grupos de recursos. Cada grupo corresponde a una sección de la referencia de la API.

### Workspaces

Lista, crea y cambia el nombre de los espacios de trabajo de tu organización. Los espacios de trabajo son el contenedor de nivel superior de los landers, los leads y los dominios.

| Endpoint                                                        | Descripción                               |
| --------------------------------------------------------------- | ----------------------------------------- |
| `GET /api/v2/organizations/{organizationId}/workspaces/get`     | Lista todos los espacios de trabajo       |
| `POST /api/v2/organizations/{organizationId}/workspaces/create` | Crea un espacio de trabajo                |
| `POST /api/v2/workspaces/{workspaceId}/rename`                  | Cambia el nombre de un espacio de trabajo |

### Landers

Gestiona las landing pages: lista, crea, cambia el nombre, publica, despublica y elimina. Para publicar hace falta un dominio y una ruta, y se devuelve un `400` si se superan los límites del plan o la ruta ya está ocupada.

| Endpoint                                               | Descripción                                |
| ------------------------------------------------------ | ------------------------------------------ |
| `GET /api/v2/workspaces/{workspaceId}/landers/get`     | Lista los landers de un espacio de trabajo |
| `POST /api/v2/workspaces/{workspaceId}/landers/create` | Crea un lander                             |
| `POST /api/v2/landers/{landerId}/publish`              | Publica un lander                          |
| `POST /api/v2/landers/{landerId}/unpublish`            | Despublica un lander                       |
| `DELETE /api/v2/landers/{landerId}`                    | Elimina un lander y todas sus variantes    |

Al eliminar un lander se eliminan de forma permanente todas sus variantes, archivos e integraciones asociados.

### Tests A/B (variantes)

Cada lander tiene una o varias variantes. La variante principal (master) es la que recibe el tráfico cuando el test A/B está desactivado. Cuando está activado, el tráfico se reparte entre las variantes según los pesos que definas.

| Endpoint                                             | Descripción                             |
| ---------------------------------------------------- | --------------------------------------- |
| `GET /api/v2/landers/{landerId}/variants`            | Lista todas las variantes               |
| `POST /api/v2/variants/{variantId}/clone`            | Clona una variante                      |
| `POST /api/v2/landers/{landerId}/ab-testing/enable`  | Activa el test A/B                      |
| `POST /api/v2/landers/{landerId}/ab-testing/disable` | Desactiva el test A/B                   |
| `POST /api/v2/landers/{landerId}/ab-testing/weights` | Define los pesos del reparto de tráfico |
| `POST /api/v2/variants/{variantId}/set-master`       | Convierte una variante en la principal  |
| `DELETE /api/v2/variants/{variantId}`                | Elimina una variante                    |

No puedes eliminar la variante principal. Convierte antes otra variante en principal.

### Editor

Carga y guarda el contenido HTML y los ajustes de una variante concreta. Al guardar el HTML, la extracción de imágenes en base64 y el control de versiones se gestionan automáticamente.

| Endpoint                                            | Descripción                                                         |
| --------------------------------------------------- | ------------------------------------------------------------------- |
| `GET /api/v2/variants/{variantId}/editor/load`      | Carga el HTML, los ajustes, los formularios y los metadatos         |
| `POST /api/v2/variants/{variantId}/editor/save`     | Guarda el contenido HTML                                            |
| `POST /api/v2/variants/{variantId}/editor/settings` | Guarda los ajustes de la variante (integraciones, SEO, seguimiento) |

### Leads

Obtén los leads a nivel de espacio de trabajo o de organización. Los leads están paginados y se pueden filtrar por intervalo de fechas, estado (`complete` o `partial`), lander y texto de búsqueda. El tamaño máximo de página es de 1000 por petición.

| Endpoint                                               | Descripción                                      |
| ------------------------------------------------------ | ------------------------------------------------ |
| `GET /api/v2/workspaces/{workspaceId}/leads/get`       | Lista los leads de un espacio de trabajo         |
| `GET /api/v2/organizations/{organizationId}/leads/get` | Lista los leads de toda la organización          |
| `GET /api/v2/landers/{landerId}/lead-schema`           | Obtiene el JSON Schema de los leads de un lander |
| `POST /api/v2/landers/lead-schema`                     | Obtiene el JSON Schema de varios landers         |

Los endpoints del esquema de leads devuelven un [JSON Schema Draft-07](https://json-schema.org/specification-links#draft-7) que describe todos los campos que puede contener un lead de ese lander, incluidos los campos del formulario, las respuestas del quiz, los campos de sistema y los campos de integración.

### Analítica

Un único endpoint flexible cubre todas las necesidades de analítica. Filtra por espacio de trabajo, lander o variante. Gana el filtro más concreto: si pasas `variantIds`, se ignoran los filtros de espacio de trabajo y de lander.

| Endpoint                                                    | Descripción                                                                      |
| ----------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `POST /api/v2/organizations/{organizationId}/analytics/get` | Obtiene la analítica con intervalo de fechas, zona horaria y agrupación opcional |

**Parámetros obligatorios:** `startDate`, `endDate`, `timezone` (formato IANA, por ejemplo `Europe/Madrid`).

**Filtros opcionales:** `workspaceIds`, `landerIds`, `variantIds`.

**Agrupar por:** `date`, `lander`, `variant` o `workspace`. Por defecto, `date`.

### Dominios

Lista los dominios a nivel de espacio de trabajo o de organización.

| Endpoint                                                 | Descripción                                 |
| -------------------------------------------------------- | ------------------------------------------- |
| `GET /api/v2/workspaces/{workspaceId}/domains/get`       | Lista los dominios de un espacio de trabajo |
| `GET /api/v2/organizations/{organizationId}/domains/get` | Lista todos los dominios de la organización |

### Carpetas

Organiza los landers en carpetas dentro de un espacio de trabajo.

| Endpoint                                               | Descripción                     |
| ------------------------------------------------------ | ------------------------------- |
| `GET /api/v2/workspaces/{workspaceId}/folders`         | Lista todas las carpetas        |
| `POST /api/v2/workspaces/{workspaceId}/folders/create` | Crea una carpeta                |
| `POST /api/v2/folders/{folderId}/rename`               | Cambia el nombre de una carpeta |

### Integraciones

Crea y lista integraciones a nivel de organización y actívalas o desactívalas en cada lander. Las integraciones basadas en OAuth (Mailchimp, HubSpot, Google Sheets, AWeber) necesitan un proceso de OAuth interactivo y no se pueden crear directamente mediante la API.

| Endpoint                                                          | Descripción                            |
| ----------------------------------------------------------------- | -------------------------------------- |
| `GET /api/v2/organizations/{organizationId}/integrations`         | Lista todas las integraciones          |
| `POST /api/v2/organizations/{organizationId}/integrations/create` | Crea una integración                   |
| `POST /api/v2/lander-integrations/{id}/enable`                    | Activa una integración en un lander    |
| `POST /api/v2/lander-integrations/{id}/disable`                   | Desactiva una integración en un lander |
| `DELETE /api/v2/lander-integrations/{id}`                         | Quita una integración de un lander     |

## Especificación OpenAPI y documentación interactiva

La especificación completa OpenAPI 3.1 está disponible en:

```text theme={null}
https://backend-v2.landerlab.workers.dev/api/v2/openapi.json
```

La documentación interactiva de la API (con un probador de peticiones integrado) está en:

```text theme={null}
https://api.landerlab.dev/api/v2/docs
```

La referencia de endpoints de esta documentación está disponible en inglés, en la pestaña **MCP & API Reference**.

## Usa la API con un asistente de IA (MCP)

Si quieres gestionar tu cuenta de LanderLab con lenguaje natural en lugar de escribir llamadas a la API, el servidor MCP de LanderLab está construido sobre la misma API y ofrece más de 30 herramientas a cualquier asistente de IA compatible con MCP, como Claude, ChatGPT, Cursor y Windsurf.

La URL del servidor MCP es:

```text theme={null}
https://api.landerlab.dev/mcp
```

Se autentica iniciando sesión en el navegador en lugar de con la cabecera `X-API-Key`, así que no necesitas ninguna clave de API. Consulta las instrucciones de configuración en [Conecta asistentes de IA mediante MCP](/es/mcp/overview).
