Dibuja mi repo

La API de SeeRepo

Usa la API de SeeRepo para leer el mapa de tu proyecto desde un script, tu backend o un agente de IA: sus módulos y partes, una búsqueda, qué cambió desde una fecha y sus cifras. Lee; con una clave a la que le permitas escribir, también hace tres cambios (ignorar rutas, marcar un hallazgo como falso, apartar una tarea), cada uno en dos pasos. Viene en todos los planes.

Hay tres puertas, con la misma clave:

Puerta Para qué
API Tu propio código o tus scripts, con HTTP
MCP Un agente de IA como Claude Code, Codex o Cursor, que pregunta con palabras
CLI Tu terminal: npx seerepo map

URL base

https://seerepo.com/api/v1/

Autenticación

Cada petición lleva una clave de API como token Bearer:

Authorization: Bearer sr_…

Crea claves en Ajustes → API / MCP (los ajustes de tu cuenta, no los de un proyecto). Ponle a cada una el nombre de dónde se usa, como «Claude Code». La clave se muestra completa una sola vez; después, solo sus últimos 4 caracteres. Si revocas una clave ahí, lo que la use deja de funcionar al momento.

Una clave lee todos los mapas que lee tu cuenta: los tuyos y los que te compartieron. No puede leer los de nadie más: sus repos responden como no encontrados.

Guarda tu clave en secreto: no la pongas en código del navegador ni en un repo público.

Empezar

  1. Crea una clave en Ajustes → API / MCP.
  2. Lista tus repos y toma el id de uno:
curl https://seerepo.com/api/v1/repos \
  -H "Authorization: Bearer $SEEREPO_KEY"
  1. Lee su primer nivel y sigue el path de cualquier parte para entrar:
curl "https://seerepo.com/api/v1/repos/REPO_ID/world?path=/" \
  -H "Authorization: Bearer $SEEREPO_KEY"

REPO_ID también puede ser owner/name, con la barra escrita %2F: ana%2Ftienda.

Endpoints

Endpoint Qué devuelve
`GET /me` La cuenta de tu clave
`GET /repos` Los mapas que lee tu clave
`GET /repos/:repo/world` Un módulo: sus partes, con qué se conecta y sus servicios de fuera
`GET /repos/:repo/search` Partes por nombre o frase en todos los módulos, y archivos por ruta
`GET /repos/:repo/impact` Qué se rompe si tocas un archivo: quién lo nombra, hasta dónde llega, qué páginas y procesos
`GET /repos/:repo/events` Los commits desde una fecha, en palabras sencillas
`GET /repos/:repo/figures` Las cifras de toda la vida: commits, IA, líneas y archivos
`GET /repos/:repo/pages` Cada página: quién entra y los estados que maneja o le faltan
`GET /repos/:repo/found` Cómo ven los buscadores y la IA cada página pública, con prueba
`GET /repos/:repo/health` La nota, si se puede publicar y las tareas, cada una con su prompt
`GET /repos/:repo/history` Los últimos 7 días, el ritmo y los momentos
`GET /repos/:repo/docs` La wiki del repo: su árbol, y cada página con sus fuentes
`GET /repos/:repo/docs/:page` Una página de la wiki en markdown, con sus fuentes enlazadas a GitHub
`POST /repos/:repo/changes` Prepara un cambio, con una clave que escribe; POST /changes/apply lo aplica, POST /changes/:id/undo lo deshace, GET /repos/:repo/changes los lista

La API nunca devuelve tu código: solo nombres, frases, rutas y cifras. Un repo gratis se lee como en la app: entero hasta 300 mil líneas escritas, sin lo que hacen sus partes salvo su muestra; por encima, solo su primer nivel, con un 402 al entrar.

Respuestas

Cada respuesta es JSON con el mismo sobre:

{ "status": "success", "data": { } }

Errores

{ "status": "error", "error": { "code": "not_found", "message": "No repo with that id or name in this account." } }
Estado code Cuándo
400 bad_path, bad_query, bad_since Un parámetro no es válido; el mensaje dice cómo escribirlo
401 unauthorized Sin clave, con una mal escrita o con una revocada
402 plan_required Un módulo de un repo gratis de más de 300 mil líneas escritas, o los commits en palabras de un repo gratis
404 not_found, no_world Un repo que tu cuenta no lee, o una ruta sin módulo
429 rate_limited Pasaste el límite; Retry-After dice cuántos segundos esperar

Límites

60 peticiones por minuto por clave. Un agente atascado en un bucle recibe 429 con la cabecera Retry-After, y puede volver a intentarlo pasados esos segundos.