Leer las páginas
GET https://seerepo.com/api/v1/repos/:repo/pages
Devuelve la carpeta Páginas como se lee en la app: cada página con su nombre, su ruta, quién entra y los estados que maneja o le faltan, cada uno con el archivo y la línea que lo prueban. Las páginas van agrupadas por los módulos de primer nivel del mapa, en el orden del mapa.
Petición
| Parámetro | Dónde | Descripción |
|---|---|---|
repo |
ruta | El id del repo, o owner/name con %2F. |
curl "https://seerepo.com/api/v1/repos/6ad79fd8e89233277ded17c9/pages" \
-H "Authorization: Bearer $SEEREPO_KEY"
Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
data.repo |
object | El repo: su id y su nombre. |
data.summary |
object | Cuántas páginas hay, cuántas se leyeron, cuántos estados faltan o están a medias y cuántas están listas (ready): las que manejan cada estado que enseñan, la misma cifra del aro de Arreglos en la app. ready es null sin páginas leídas. |
data.columns[] |
object | Una por módulo de primer nivel: su key (la ruta del módulo, o / para las páginas que no están en ningún módulo: las de la raíz y las de Data, que la carpeta pone al final como «Fuera de los módulos»), su name y las rutas de sus páginas. |
data.screens[].name |
string | Cómo llama una persona a la página. |
data.screens[].route |
string | Su dirección, como /checkout. |
data.screens[].who |
string | Quién entra: anyone, people (no se vio la puerta: un repo con entrada propia donde ninguna página se probó privada, una vista de Python, o una página de SvelteKit, TanStack, React Router, Vue, Nuxt o Angular cuya puerta aún no se lee; sin afirmar que pidan sesión), with-link, signed-in, member, owner u operator (solo quienes llevan el producto). |
data.screens[].whoBy |
string | haiku cuando quién entra lo leyó la IA, con una línea que probó una puerta más estrecha de la que vieron las reglas. No viene cuando lo dijeron las reglas. |
data.screens[].states[] |
object | Cada estado: su nombre, ok, half o missing, y su prueba (su ruta, su línea y su url en GitHub en el commit escaneado). |
data.screens[].does |
string|null | Qué hace, en una frase. |
data.screens[].dropped |
number | Cuántas cosas dijo la IA de la página y la lectura tiró: un estado que las reglas ya leen, uno dicho dos veces o sin una línea que lo pruebe, o quién entra sin una línea que lo pruebe. Nunca se enseñan como ciertas. No viene si no hay ninguna. data.summary.dropped es su suma. |
data.rules |
object | La versión de las reglas con que su último escaneo juzgó los estados, la vigente y cada cambio con su fecha (desde el 21 de octubre, «cargando» solo se pide a la pantalla que espera datos): una cifra que se mueve porque cambió una regla lo dice. |
data.locked |
boolean | Un repo del vistazo gratis: sus estados vienen como formas (cuántos y cuántos faltan, no cuáles), sin prueba, sin qué hace y sin último cambio, como en la app. |
data.screens[].redirects |
object | Solo cuando la página nada más te lleva a otro sitio: su camino normal termina en una redirección y lo único que pinta es su error, o un efecto navega sin condición. La línea que lo hace (path, line y su url en GitHub) y to cuando el código nombra la ruta. Ausente en una página. |
data.apart[] |
object | Los archivos de página que no son páginas, por su razón: why (next.devPage, una página que solo sirve desarrollo; next.flagPage, una detrás de una bandera; next.redirectPage, una que solo te manda a otra; next.errorPage, la que sale cuando algo falló), n (cuántas) y routes (las cinco primeras, en orden). No viene si no hay ninguna. |
data.unread |
string | python en un repo de Python: Python aún no tiene Páginas, sus vistas se leen por archivo y no se sabe quién entra a cada una. Ausente en otro caso. |
Ejemplo
{
"status": "success",
"data": {
"summary": { "screens": 2, "read": 2, "missing": 1, "half": 0, "ready": 1 },
"columns": [{ "key": "/checkout", "name": "Checkout", "screens": ["app/checkout/page.tsx"] }],
"screens": [
{
"path": "app/checkout/page.tsx",
"route": "/checkout",
"name": "Pay",
"who": "anyone",
"statesRead": true,
"states": [{ "key": "error", "name": "Error", "status": "missing", "by": "rule" }]
}
],
"rules": { "version": 2, "current": 2, "changes": [{ "folder": "pages", "version": 1, "d": "2026-10-21", "id": "pages-1", "what": "Each screen's states read by rules with their proof: loading, error, empty, signed out and phone" }, { "folder": "pages", "version": 2, "d": "2026-10-21", "id": "pages-2", "what": "Loading is asked only of a screen that waits on data; a static page no longer misses it" }] },
"locked": false
}
}
Autenticación
Una clave de la API como Authorization: Bearer sr_…. Mira Autenticación.
Errores
Los que tiene todo endpoint (401, 404, 429), mira Errores.