Documentación API

Autenticación

La API de Docmind usa dos métodos de autenticación según el tipo de endpoint:

Métodos de autenticación

  • API Key — Para la API pública (/v1/*). Se envía en el header x-api-key.
  • JWT Token — Para la API interna (/api/*). Se obtiene vía login y se envía en el header Authorization: Bearer <token>.

API Key (API Pública)

Crear un API Key

  1. Inicia sesión en el Dashboard de Docmind.
  2. Ve a la sección API Keys en el menú lateral.
  3. Haz clic en Crear nueva API Key.
  4. Asigna un nombre descriptivo y selecciona el tipo (live o test).
  5. Copia la clave generada. Solo se muestra una vez.

Usar el API Key

Incluye tu API Key en el header x-api-key de cada petición:

cURL

curl -X GET https://api-docmind.devol.es/v1/extractions \
  -H "x-api-key: pk_live_tu_api_key_aqui"

Python

import requests

url = "https://api-docmind.devol.es/v1/extractions"
headers = {
    "x-api-key": "pk_live_tu_api_key_aqui"
}

response = requests.get(url, headers=headers)
print(response.json())

JavaScript (fetch)

const response = await fetch("https://api-docmind.devol.es/v1/extractions", {
    headers: {
        "x-api-key": "pk_live_tu_api_key_aqui"
    }
});
const data = await response.json();
console.log(data);

JWT Token (API Interna)

Para los endpoints internos (/api/*), necesitas obtener un JWT Token mediante login:

Obtener el token

curl -X POST https://api-docmind.devol.es/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "tu_email@ejemplo.com",
    "password": "tu_password"
  }'

La respuesta incluirá el access_token:

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "is_admin": false,
  "user": {
    "id": "uuid",
    "nombre": "Tu Nombre",
    "email": "tu_email@ejemplo.com",
    "role_name": "admin"
  }
}

Usar el token

El JWT se envía automáticamente como cookie HTTP-only, o puedes incluirlo manualmente en el header Authorization:

curl -X GET https://api-docmind.devol.es/api/habilidad/ \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Errores de autenticación

Respuestas comunes

  • 401 Unauthorized — API Key inválida, JWT expirado o no proporcionado.
    {"error": "Token inválido o expirado"}
  • 403 Forbidden — No tienes permisos para este recurso.
    {"message": "No tienes permisos para acceder a esta información"}
  • 415 Unsupported Media Type — Content-Type incorrecto (se requiere JSON).
    {"msg": "La solicitud debe tener formato JSON"}

© 2025 Devol. Todos los derechos reservados.