Descripción general y autenticación

Introducción a la API REST de My Prop Journal, claves API y cómo realizar llamadas.

Introducción

La API REST de My Prop Journal proporciona acceso programático a tus datos de trading, métricas de rendimiento, cuentas y playbooks. Construye integraciones personalizadas, exporta tus datos, crea dashboards de análisis o conéctate a herramientas de IA como Claude Desktop.

Quién puede usar la API:

  • Disponible solo para suscriptores de pago
  • Todos los datos se limitan automáticamente a tu cuenta
  • Arquitectura REST estándar con respuestas JSON

Qué puedes hacer:

  • Recuperar operaciones con filtrado avanzado (20+ filtros incluyendo etiquetas, estrategias, resultados)
  • Acceder a analíticas completas de rendimiento (resumen, detallado, calendario, agrupado)
  • Gestionar cuentas de trading (prop y retail) con soporte completo de filtros
  • Organizar contenido con etiquetas y grupos de etiquetas personalizadas
  • Rastrear pagos con cálculos acumulativos
  • Subir y gestionar documentos de trading
  • Consultar playbooks y estrategias
  • Crear y gestionar planes de operación, análisis y tarjetas de reporte
  • Trabajar con contenido en formatos JSON, HTML o Markdown
  • Extraer URLs de medios de tus entradas de diario
  • Explorar directorio de empresas prop
  • Exportar tu historial completo de trading

Inicio rápido

1. Crear una clave API

Navega a Configuración → Claves API en tu cuenta de My Prop Journal:

  1. Haz clic en "Crear clave API"
  2. Ingresa un nombre descriptivo (ej: "Script de análisis Python")
  3. Copia la clave inmediatamente — se muestra solo una vez
  4. Guárdala de forma segura (trátala como una contraseña)

2. Realiza tu primera solicitud

curl https://app.mypropjournal.com/api/v1/trades \
  -H "Authorization: Bearer mpj_tu_clave_api_aqui"

Respuesta esperada:

{
  "data": [
    {
      "id": "fd07b82a-164c-4c24-885a-7f4db54dab62",
      "symbol": "NQ",
      "side": "short",
      "gross_pnl": 160,
      "net_pnl": 158,
      "entry_date": "2026-02-05",
      "status": "win"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 305,
    "totalPages": 7
  }
}

3. Explora la API

Navega por las secciones de documentación en la barra lateral izquierda para aprender sobre:

  • Cuentas — Gestionar cuentas prop y retail con filtros avanzados
  • Operaciones — Operaciones CRUD con 20+ filtros incluyendo etiquetas y estrategias
  • Rendimiento — Analíticas y estadísticas (resumen, detallado, calendario, agrupado)
  • Etiquetas — Organizar contenido con grupos de etiquetas y etiquetas personalizadas
  • Pagos — Rastrear retiros de empresas prop con cálculos acumulativos
  • Documentos — Subir y gestionar documentos de trading (PDFs, imágenes)
  • Empresas Prop — Explorar el directorio de empresas prop
  • Formatos de Contenido — Contenido multiformato y extracción de medios
  • Planes de Operación — Planificación pre-operación y planes de negocio
  • Análisis de Operaciones — Revisiones post-operación y lecciones
  • Estrategias — Enfoques y reglas de trading
  • Tarjetas de Reporte — Revisiones de rendimiento diarias/semanales/mensuales
  • Libros de Gráficos — Organizar capturas de gráficos
  • Playbooks — Consultar tus estrategias de trading
  • Referencia de Filtros — Guía completa de todos los filtros

Autenticación

Formato de clave API

Todas las claves API siguen esta estructura:

  • Prefijo: mpj_ (identifica claves de My Prop Journal)
  • Formato: mpj_[cadena_aleatoria]
  • Ejemplo: mpj_a1b2c3d4e5f6g7h8i9j0
  • Almacenamiento: Las claves son hasheadas con bcrypt en la base de datos
  • Seguridad: La clave en texto plano se muestra solo en la creación

Encabezado de autorización

Incluye tu clave API en cada solicitud usando el encabezado Authorization con el esquema Bearer:

GET /api/v1/trades HTTP/1.1
Host: app.mypropjournal.com
Authorization: Bearer mpj_tu_clave_api_aqui
Content-Type: application/json

Ejemplos de implementación

JavaScript / Node.js:

const API_KEY = process.env.MPJ_API_KEY;
const BASE_URL = 'https://app.mypropjournal.com/api/v1';

async function getTrades() {
  const response = await fetch(`${BASE_URL}/trades`, {
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      'Content-Type': 'application/json'
    }
  });
  
  if (!response.ok) {
    throw new Error(`HTTP ${response.status}: ${response.statusText}`);
  }
  
  return response.json();
}

Python:

import os
import requests

API_KEY = os.environ['MPJ_API_KEY']
BASE_URL = 'https://app.mypropjournal.com/api/v1'

def get_trades():
    headers = {
        'Authorization': f'Bearer {API_KEY}',
        'Content-Type': 'application/json'
    }
    response = requests.get(f'{BASE_URL}/trades', headers=headers)
    response.raise_for_status()
    return response.json()

trades_data = get_trades()
print(f"Total trades: {trades_data['pagination']['total']}")

cURL:

export MPJ_API_KEY="mpj_tu_clave_api_aqui"

curl https://app.mypropjournal.com/api/v1/trades \
  -H "Authorization: Bearer $MPJ_API_KEY" \
  -H "Content-Type: application/json"

URL base

Todos los endpoints de la API están prefijados con /api/v1:

https://app.mypropjournal.com/api/v1

Endpoints disponibles:

Recursos Principales:

  • /api/v1/accounts — Cuentas de trading (prop y retail)
  • /api/v1/trades — Gestión de operaciones con filtrado avanzado
  • /api/v1/performance — Analíticas de rendimiento (resumen, detallado, calendario, agrupado)

Organización y Planificación:

  • /api/v1/tags — Grupos de etiquetas y etiquetas para organización de contenido
  • /api/v1/trade-plans — Planificación pre-operación y planes de negocio
  • /api/v1/trade-writeups — Análisis y revisiones post-operación
  • /api/v1/strategies — Estrategias y enfoques de trading
  • /api/v1/report-cards — Revisiones de rendimiento (diarias/semanales/mensuales)
  • /api/v1/chart-books — Organización de capturas de gráficos
  • /api/v1/playbooks — Playbooks de estrategias

Financiero y Documentación:

  • /api/v1/payouts — Seguimiento de pagos de empresas prop
  • /api/v1/documents — Subida y gestión de documentos
  • /api/v1/prop-firms — Directorio de empresas prop (solo lectura)

Gestión de claves API

Múltiples claves

Puedes crear múltiples claves API para diferentes casos de uso:

  • Servidor MCP — Para integración con Claude Desktop
  • Análisis Python — Para scripts personalizados
  • Aplicación móvil — Para aplicaciones iOS/Android
  • Script de respaldo — Para exportaciones automatizadas

Cada clave se rastrea independientemente con:

  • Marca de tiempo de creación
  • Marca de tiempo de último uso
  • Nombre descriptivo para identificación

Revocar claves

Revoca cualquier clave API instantáneamente desde Configuración → Claves API:

  1. Localiza la clave en tu lista
  2. Haz clic en el botón "Revocar"
  3. Confirma la eliminación

Nota: Las claves revocadas dejan de funcionar inmediatamente. Cualquier solicitud usando una clave revocada recibirá una respuesta 401 Unauthorized.

Mejores prácticas de seguridad

  • Nunca comprometas claves API en control de versiones (git, GitHub, etc.)
  • Usa variables de entorno para almacenar claves en tus aplicaciones
  • Rota claves regularmente si se usan en múltiples lugares
  • Crea claves separadas para diferentes aplicaciones o scripts
  • Monitorea marcas de tiempo de "último uso" para identificar claves no utilizadas
  • Revoca inmediatamente si una clave está comprometida

Características clave

Soporte multi-formato de contenido

Todas las entradas de diario (planes de operación, análisis, estrategias, tarjetas de reporte) soportan tres formatos de contenido:

# Obtener contenido como Markdown (ideal para servidores MCP y LLMs)
GET /api/v1/trade-plans/123?format=markdown

# Obtener contenido como HTML (listo para visualización web)
GET /api/v1/trade-writeups/456?format=html

# Obtener todos los formatos a la vez (predeterminado)
GET /api/v1/strategies/789

Beneficios:

  • ✅ No se requiere biblioteca TipTap
  • ✅ Trabaja con Markdown para herramientas externas
  • ✅ Obtén HTML para visualización inmediata
  • ✅ Envía contenido en cualquier formato (JSON/HTML/Markdown)

Aprende más: Formatos de Contenido

Extracción de URLs de medios

Extrae automáticamente todas las URLs de imágenes y videos de tu contenido:

GET /api/v1/trade-plans/123?include_media=true

La respuesta incluye:

{
  "data": {
    "title": "Mi Plan",
    "media": {
      "images": ["https://example.com/grafico1.jpg"],
      "videos": [{"src": "...", "originalUrl": "..."}],
      "all": ["https://example.com/grafico1.jpg", "..."]
    }
  }
}

Casos de uso:

  • Construir galerías de imágenes
  • Descargar todos los medios
  • Verificar enlaces rotos
  • Crear miniaturas de vista previa

Próximos pasos

Ahora que entiendes la autenticación, explora los endpoints específicos:

¿Necesitas ayuda? Consulta la sección Casos de uso para ejemplos de integración.