Docs

API Reference

Accede a tus notas, repositorios, artifacts y chats de forma programática. Ideal para integrar con Claude Code, scripts de automatización, o aplicaciones externas.

Autenticación

Todas las peticiones requieren un Bearer token. Genera uno en Ajustes → Developer.

Authorization: Bearer mhub_tu_clave_aqui

El token da acceso completo a tu cuenta. No lo compartas. Si se compromete, revócalo en Ajustes.

Notas

Crear, leer, actualizar y eliminar notas. Las notas pueden ser markdown, notebooks Python, o archivos Lean.

GET /api/notes
POST /api/notes

Body

{"title": "Mi nota", "content": "# Hola", "repositoryId": "...", "noteType": "markdown"}
GET /api/notes/:noteId
PATCH /api/notes/:noteId

Body

{"title": "Nuevo título", "content": "...", "published": true}
DELETE /api/notes/:noteId

Repositorios

Gestionar repositorios de notas.

GET /api/repos
POST /api/repos

Body

{"name": "Mi repo", "description": "...", "visibility": "private"}
GET /api/repos/:repoId
PATCH /api/repos/:repoId
DELETE /api/repos/:repoId

Carpetas

Organizar notas en carpetas dentro de un repositorio.

GET /api/repos/:repoId/folders
POST /api/repos/:repoId/folders

Body

{"name": "src", "parentId": null}
PATCH /api/repos/:repoId/folders/:folderId
DELETE /api/repos/:repoId/folders/:folderId

Artifacts

Archivos versionados. Accesibles vía la API de agentes con tu API key.

GET /api/agent/artifacts/discover
GET /api/agent/artifacts/:artifactId
PUT /api/agent/artifacts/:artifactId

Body

{"content": "...", "version": 1}

Investigaciones

Planificación con investigaciones y objetivos.

GET /api/repos/:repoId/investigations
POST /api/repos/:repoId/investigations
PATCH /api/repos/:repoId/investigations/:investigationId
DELETE /api/repos/:repoId/investigations/:investigationId
GET /api/repos/:repoId/investigations/:investigationId/objectives
POST /api/repos/:repoId/investigations/:investigationId/objectives

AI Chat

Chat con modelos LLM. Soporta tools (arXiv, Semantic Scholar, web search, etc).

GET /api/ai/chats
POST /api/ai/chats

Body

{"model": "openai/gpt-4o", "repositoryId": "..."}
GET /api/ai/chats/:chatId
DELETE /api/ai/chats/:chatId
POST /api/ai/chat

Body

{"messages": [...], "model": "...", "chatId": "...", "enableArxiv": true}

Validación

Validar la estructura y contenido de notebooks Python y notas Lean.

GET /api/notes/:noteId/cells/validate
GET /api/notes/:noteId/lean/validate

Utilidades

Endpoints auxiliares para documentación y metadatos de la API.

GET /api/skill.md
GET /api/repos/:repoId/graph

Rate Limits

No hay rate limits estrictos en la API de MatHub, pero se recomienda no exceder 60 requests por minuto.

Las respuestas incluyen headers estándar. Si recibes un 429, espera y reintenta.

Errores

400 Bad Request — parámetros inválidos
401 Unauthorized — token faltante o inválido
403 Forbidden — sin permisos para este recurso
404 Not Found — recurso no existe
409 Conflict — conflicto de versión (artifacts)
500 Internal Server Error