---
title: "Visión general de la API"
description: "Introducción a la API de Minds para acceso programático a minds y gestión de knowledge."
---

# Visión general de la API

Te damos la bienvenida a la documentación de la API de Minds. Nuestra API te permite crear y gestionar minds con IA de forma programática, subir knowledge e interactuar con ellos.

## Comenzar

La API de Minds está organizada según los principios REST. Nuestra API tiene URLs predecibles orientadas a recursos, acepta bodies de solicitud codificados en JSON, devuelve respuestas codificadas en JSON y utiliza códigos de respuesta HTTP, autenticación y verbos estándar.

### Base URL

**Producción:** `https://getminds.ai/api/v1` o `https://api.getminds.ai/v1`

**Desarrollo local:** `http://localhost:3000/api/v1`

Ambas URLs base de producción son totalmente equivalentes. Se recomienda el subdominio `api.getminds.ai` para URLs de integración más limpias.

### Autenticación

Todos los endpoints de la API requieren autenticación vía API key. Puedes generar y gestionar tus API keys en [Settings → API Keys](/settings/api-keys).

Incluye tu API key en el header `Authorization`:

```bash
Authorization: Bearer minds_your_api_key_here
```

### Especificación OpenAPI

Se publica una especificación OpenAPI 3.1.0 legible por máquina en [`/_openapi.json`](/_openapi.json). Usa la especificación para generar clientes tipados (TypeScript, Python, etc.) o para pegarla en un LLM y obtener código de integración de una sola vez. Consulta [OpenAPI](/docs/api/openapi) para ver ejemplos.

### Content Type

Todas las solicitudes que envían datos deben incluir el header `Content-Type`:

```bash
Content-Type: application/json
```

Para subidas de archivos, usa:

```bash
Content-Type: multipart/form-data
```

## Endpoints disponibles

### Minds

Crea y gestiona minds con IA (agentes) con configuraciones personalizadas.

- `GET /api/v1/minds` - Lista todos los Minds
- `GET /api/v1/minds/{mindId}` - Obtiene los detalles de un Mind
- `POST /api/v1/minds` - Crea un nuevo Mind
- `PUT /api/v1/minds/{mindId}` - Actualiza un Mind
- `DELETE /api/v1/minds/{mindId}` - Elimina un Mind
- `POST /api/v1/minds/{mindId}/regenerate-prompt` - Regenera el system prompt a partir del knowledge

### Knowledge

Gestiona el knowledge de tus minds.

- `GET /api/v1/minds/{mindId}/knowledge` - Lista los elementos de knowledge
- `POST /api/v1/minds/{mindId}/knowledge` - Añade knowledge (links, archivos o búsqueda por palabras clave)
- `PUT /api/v1/minds/{mindId}/knowledge/{itemId}` - Actualiza un elemento de knowledge
- `DELETE /api/v1/minds/{mindId}/knowledge/{itemId}` - Elimina un elemento de knowledge
- `POST /api/v1/minds/{mindId}/knowledge/enrich` - Enriquece mediante búsqueda por palabras clave (alias de conveniencia)
- `GET /api/v1/minds/{mindId}/knowledge/patterns` - Obtiene los patrones de knowledge por framework

### Chat

Interactúa con tus minds mediante chat completions.

- `POST /api/v1/minds/{mindId}/completion` - Envía mensajes y obtén respuestas

### Studies

Crea y gestiona studyes de IA para encuestar audiences de minds.

- `GET /api/v1/studies` - Lista todos los studyes
- `POST /api/v1/studies` - Crea un nuevo study
- `GET /api/v1/studies/{studyId}` - Obtiene los detalles del study con el historial de mensajes
- `POST /api/v1/studies/{studyId}/ask` - Hace una pregunta a todos los minds del study (SSE stream)
- `POST /api/v1/studies/{studyId}/export` - Exporta los resultados del study como informe
- `GET /api/v1/studies/{studyId}/export-status` - Comprueba el estado del job de exportación
- `GET /api/v1/studies/{studyId}/export-download` - Descarga el PDF exportado

### User

Endpoints relacionados con el usuario.

- `GET /api/v1/auth/me` - Obtiene el usuario autenticado actual
- `GET /api/v1/user/shareable-sparks` - Lista los minds disponibles para compartir

### API Keys

Gestiona tus API keys para autenticación.

- `GET /api/v1/api-keys` - Lista tus API keys
- `POST /api/v1/api-keys` - Crea una nueva API key
- `DELETE /api/v1/api-keys/{keyId}` - Elimina una API key

## Ejemplo rápido

Aquí tienes un ejemplo rápido de cómo crear un mind y chatear con él:

```bash
# 1. Create a mind (keywords mode)
curl -X POST "https://getminds.ai/api/v1/minds" \
  -H "Authorization: Bearer minds_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Marketing Expert",
    "description": "Expert in digital marketing strategies",
    "mode": "keywords",
    "type": "expert",
    "discipline": "Marketing",
    "keywords": ["SEO", "content marketing", "social media", "analytics"]
  }'

# Response: { "data": { "id": "mind-id", ... }, "processing": { "queued": true, ... } }

# 2. Create a mind from social profile (clone mode)
curl -X POST "https://getminds.ai/api/v1/minds" \
  -H "Authorization: Bearer minds_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Influencer Clone",
    "description": "AI trained on influencer social presence",
    "mode": "clone",
    "type": "creative",
    "discipline": "Social Media Marketing",
    "personaContext": "https://twitter.com/username"
  }'

# 3. Chat with the mind
curl -X POST "https://getminds.ai/api/v1/minds/mind-id/completion" \
  -H "Authorization: Bearer minds_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {
        "role": "user",
        "content": "What are the top social media trends for 2025?"
      }
    ]
  }'
```

## Siguientes pasos

- Aprende sobre [Autenticación](/docs/api/authentication)
- Explora los [endpoints de Minds](/docs/api/minds)
- Lee sobre [Gestión de knowledge](/docs/api/knowledge)
- Comprende [Chat completions](/docs/api/chat)
- Crea [Studyes](/docs/api/studies) para encuestas multi-mind
- Revisa [Latencia y rendimiento](/docs/api/latency)
- Conéctate vía [Integración MCP](/mcp/overview)
- Revisa [Errores y límites](/docs/api/errors)

## Límites del plan

El acceso a la API y MCP está disponible en los planes de pago compatibles. Gestiona las respuestas estructuradas `plan_limited` y `429` en lugar de codificar límites fijos en tu integración. El plan Individual aparece como `"premium"` en los payloads de la API.

Los valores públicos predeterminados siguientes se generan desde el mismo contrato de límites y acceso a funciones que usa el producto. Las excepciones de cuenta o Enterprise mostradas en el producto tienen prioridad.

:plan-limits-table[Ver planes](/settings?tab=subscription)

## ¿Necesitas ayuda?

Si tienes preguntas o necesitas soporte con la API:

- Consulta nuestra [Guía](/guide)
- Contáctanos a través del formulario de feedback
- Únete a las conversaciones de la comunidad
