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

# Introducción a la API de MindFort

> Autentícate en la API de MindFort y gestiona objetivos autorizados, credenciales, comprobaciones de cobertura, evaluaciones, hallazgos, analíticas e informes.

## URL base

Todas las solicitudes a la API se realizan a:

```text theme={null}
https://api.mindfort.app
```

## Autenticación

La API de MindFort usa autenticación con **Bearer token**. Incluye tu clave de API de MindFort en el encabezado `Authorization` de cada solicitud:

```bash theme={null}
Authorization: Bearer <your-api-key>
```

Puedes generar claves de API desde el [panel de MindFort](https://cloud.mindfort.app) en **Settings > API Keys**.

## Límites de frecuencia

* **Límite por cliente:** 60 solicitudes por minuto
* **Límite global:** 100 solicitudes por minuto

Cuando se aplica un límite de frecuencia, las respuestas incluyen un encabezado `Retry-After: 60`. La API devuelve HTTP `429` con un mensaje de error.

## Superficie de la API

La API REST pública expone la superficie de producto aprobada y limitada a la organización:

* listar, obtener, crear, actualizar y eliminar con confirmación objetivos
* crear, rotar, consultar metadatos y eliminar credenciales de prueba
* consultar comprobaciones de cobertura y cobertura agregada
* descubrir objetivos candidatos y gestionar sugerencias de Discovery cuando está habilitado
* ejecutar, listar, inspeccionar y cancelar evaluaciones
* listar y obtener hallazgos; actualizar el estado del ciclo de vida; anular la severidad; volver a probar
* gestionar comentarios de hallazgos e inspeccionar resúmenes y recuentos de parches
* consultar analíticas de hallazgos, métricas de seguridad, antigüedad, remediación, SLA y puntuaciones de salud
* crear, listar, consultar y descargar informes

Usa la referencia de endpoints para consultar los esquemas de solicitud y respuesta, los parámetros de consulta y los ejemplos.

> [!NOTE]
>
> La API no expone operaciones de verificación de objetivos, administración de facturación, administración de claves de API, membresía de la organización ni administración de roles. Completa esos flujos de trabajo en el [panel de MindFort](https://cloud.mindfort.app).

## REST y MCP

REST y MCP comparten las reglas de alcance por organización y los contratos de los recursos principales, pero difieren en las operaciones disponibles, la autenticación y la paginación. La gestión de programaciones de evaluaciones está disponible mediante MCP; no tiene rutas REST públicas.

| Interfaz | Autenticación | Paginación | Ideal para |
| - | - | - | - |
| **REST API** | Clave de API de MindFort | Cursor o `limit`/`offset`, según el endpoint | CI/CD, servicios, scripts e integraciones deterministas |
| **MCP Server** | OAuth basado en el navegador | Valores de `cursor` opacos en las herramientas de listado | Agentes de IA interactivos que usan el contexto de MindFort |

El catálogo de MCP es explícito y puede omitir herramientas sujetas a funciones o variantes de esquema que no estén disponibles para la organización seleccionada. Consulta la [guía de MCP](https://docs.mindfort.ai/es/guides/mcp.md).

## Reglas de objetivos y credenciales

Los objetivos están limitados a la organización autenticada:

* Los objetivos `web_app` y `api` requieren un `web_domain` HTTP(S).
* Los objetivos `network` requieren una `ip_address` y la función de organización `network-targets`.
* Los objetivos creados mediante REST o MCP empiezan sin verificar. Completa la verificación de propiedad del dominio o de red en el panel antes de iniciar pruebas activas.
* Se rechazan las URL de objetivos que contienen credenciales incrustadas `user:password@host`.

Las lecturas de listas y detalles de credenciales solo devuelven metadatos y omiten contraseñas, valores de claves de API y semillas TOTP. Los endpoints dedicados de comprobación de códigos pueden devolver códigos de autenticación temporales o URL de inicio de sesión; el aprovisionamiento de correo electrónico devuelve un ID de bandeja de entrada pendiente para crear la credencial.

Una credencial `api_key` solo es válida para un objetivo `api`. Antes de añadir una, establece unas `api_auth_instructions` no vacías a nivel de objetivo que describan la ruta de validación, el método, la estructura de la solicitud, la ubicación de la clave y la respuesta correcta esperada.

## Cobertura

La cobertura muestra los escenarios de seguridad probados a lo largo de las evaluaciones. Usa `GET /v1/coverage` para listar comprobaciones y `GET /v1/coverage/overview` para obtener recuentos agregados, con filtrado opcional por `target_id`.

Los estados actuales son `covered`, `failing`, `incomplete`, `in_progress` y `not_run`. Las respuestas incluyen detalles del escenario, resúmenes de ejecución y hallazgos relacionados. La cobertura es de solo lectura; las evaluaciones mantienen las comprobaciones y el historial de ejecuciones. Consulta [Cobertura](https://docs.mindfort.ai/es/guides/coverage.md).

## Discovery

Cuando Discovery está habilitado, usa `/v1/discovery` para consultar su estado, configurar el contexto y las programaciones, iniciar ejecuciones y aceptar o descartar objetivos candidatos. Consulta [Descubrimiento de objetivos](https://docs.mindfort.ai/es/guides/discovery.md) para ver la lista de operaciones.

## Paginación

Los endpoints de listado REST usan dos estilos de paginación:

* `GET /v1/assessments` usa paginación por cursor. Pasa el valor devuelto en `pagination.next_cursor` como parámetro `cursor` de la siguiente solicitud hasta que no se devuelva ningún cursor siguiente.
* Las colecciones de objetivos, credenciales, cobertura, hallazgos, comentarios, parches e informes usan los campos de paginación documentados en los esquemas de sus endpoints. Las respuestas basadas en desplazamiento incluyen un `total`; las respuestas basadas en cursor devuelven `next_cursor` cuando hay otra página disponible.

No construyas ni modifiques valores de cursor. Devuelve cada cursor sin cambios con los mismos filtros.

## Formato de errores

Los errores siguen una estructura JSON pública coherente:

```json theme={null}
{
  "error": "Human-readable error message",
  "code": "stable_error_code",
  "request_id": "abc123..."
}
```

El campo `code` está presente en los fallos accionables reconocidos. Las respuestas también pueden incluir detalles seguros de validación de campos. Incluye el `request_id` cuando contactes con el soporte.

Algunos ejemplos de códigos de error estables:

* `target_not_verified`
* `api_auth_instructions_required`
* `assessment_already_running`
* `assessment_credits_insufficient`
* `assessment_queue_loading`
* `retest_already_running`

Las respuestas que admiten reintento pueden incluir `Retry-After`. Si recibes HTTP `429 Too Many Requests`, espera el intervalo indicado en ese encabezado antes de reintentar y reduce la frecuencia de las solicitudes. Coordina las consultas periódicas entre las integraciones que comparten tu organización.

## ID de componentes

Varios endpoints de la API requieren UUID de objetivos, hallazgos, evaluaciones, informes y otros recursos. A continuación se indica dónde encontrar cada ID en el panel de MindFort.

### Objetivos

Ve a **Target Inventory** y haz clic en un objetivo. El **Target ID** se muestra en la página de detalles del objetivo.

### Hallazgos

Usa `GET /v1/findings` o abre un hallazgo en el panel. El **Finding ID** identifica una vulnerabilidad concreta en las solicitudes de detalles, comentarios, estado, severidad y nuevas pruebas.

Filtra los resultados de la lista con `status`, `assessment_id`, `exclude_secured`, `target_id` y `severity`. Consulta la [API de hallazgos](https://docs.mindfort.ai/es/api-reference/findings) para ver los detalles de los parámetros y su correspondencia con el panel.

### Evaluaciones

Abre **Assessments**, selecciona una ejecución y copia el **Assessment ID** de la URL o de la vista de detalles. Úsalo como `assessment_id` para listar solo los hallazgos de esa ejecución.

Usa `stage_progress` en los detalles de la evaluación para seguir cada etapa. `NOT_STARTED` significa que la etapa no tiene ningún estado registrado; `RUNNING` o `ACTIVE` indica trabajo en curso; los demás valores son resultados finales. Las ejecuciones fallidas pueden incluir un `failure_reason` que explica el problema.

### Credenciales

Lista las credenciales de un objetivo para obtener los ID de credenciales y los metadatos seguros. Usa los ID de credenciales al ejecutar evaluaciones autenticadas o al rotar o eliminar una credencial. Las respuestas de listado de credenciales solo contienen metadatos.

### Informes

Crea un informe con `POST /v1/reports`, consulta `GET /v1/reports/{report_id}` periódicamente hasta que esté listo y llama a `GET /v1/reports/{report_id}/download` para obtener una URL de descarga de corta duración.

## Tipo de contenido

Todos los endpoints aceptan y devuelven `application/json`. Las solicitudes con cuerpo JSON deben incluir:

```http theme={null}
Content-Type: application/json
```

## Acceso según el plan y el rol

Una clave de API no omite las comprobaciones de funciones, facturación o permisos. Los informes y las nuevas pruebas requieren un plan superior. Las capacidades de Discovery y de objetivos de red también requieren las funciones de organización correspondientes.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.