Hacer un cambio
POST https://seerepo.com/api/v1/repos/:repo/changes
Cuatro cambios y ninguno más: ignorar rutas, marcar como falso un hallazgo de Salud, apartar una tarea (posponerla o aceptarla) y reclamar los commits que un agente hizo sin firmarlos. Cada uno lleva dos pasos: esta llamada lo prepara y no cambia nada; POST /changes/apply con su handle, dentro de 5 minutos, lo hace. La clave tiene que ser una a la que le permitiste escribir, en Ajustes → API / MCP. Las reglas son las mismas que las del MCP: nunca sobre hallazgos de seguridad, nunca más de la mitad del producto fuera del mapa, y 20 cambios al día por proyecto.
Preparar
| Campo | Dónde | Descripción |
|---|---|---|
repo |
ruta | El id del repo, o owner/name con %2F. |
kind |
cuerpo | ignore, false, snooze, accept o claim. |
paths |
cuerpo | Para ignore: las rutas o patrones, hasta 100 por proyecto. |
task |
cuerpo | Para los demás: la clave de la tarea, o su número en la lista de Salud. |
files |
cuerpo | Para false, opcional: solo estos archivos de la tarea. Sin ellos, la tarea entera. |
why |
cuerpo | Para false y accept: por qué, hasta 300 caracteres. |
days |
cuerpo | Para snooze: de 1 a 90. |
agent |
cuerpo | Para claim: el agente como lo nombra SeeRepo (Codex, Claude, Cursor…). |
shas |
cuerpo | Para claim: los hashes enteros de los commits, de 40 caracteres, hasta 1.000. Uno que ya trae firma se guarda, pero su firma manda; uno ya reclamado se queda como está. |
curl -X POST "https://seerepo.com/api/v1/repos/6ad79fd8e89233277ded17c9/changes" \
-H "Authorization: Bearer $SEEREPO_KEY" -H "Content-Type: application/json" \
-d '{ "kind": "false", "task": "dead", "files": ["app/forbidden.js"], "why": "Next lo pinta por su nombre" }'
Devuelve data.handle (se enseña solo esta vez), data.expiresAt y data.preview: lo que va a pasar, para que se lo enseñes a la persona antes de aplicarlo.
Aplicar
POST https://seerepo.com/api/v1/changes/apply con { "handle": "ch_…" }, con la misma clave. Devuelve el cambio. El mismo handle dos veces lo aplica una sola vez.
Deshacer y el registro
POST https://seerepo.com/api/v1/changes/:id/undodevuelve lo que hizo un cambio aplicado: las rutas que añadió salen de la lista de ignoradas, una marca sale de Salud y lo reclamado deja de contar.GET https://seerepo.com/api/v1/repos/:repo/changes?page=1lista lo aplicado y lo deshecho, lo más nuevo primero, 20 por página: de cada cambio, suid,kind,status,via,target,why,until,at,byyundoneAt.
Errores
| Código | Cuándo |
|---|---|
read_only_key |
La clave no escribe. |
not_owner |
Solo el dueño del proyecto lo cambia; un miembro lee. |
security |
Taparía o marcaría lo que encontró la seguridad. |
too_big |
Dejaría fuera del mapa más de la mitad del producto: eso se hace en Ajustes. |
no_task, not_in_task |
No hay tarea abierta con esa clave o número, o un archivo que la tarea no nombra. |
no_why, bad_days, no_paths, too_many_paths |
Falta algo que el cambio necesita, o está fuera de rango. |
expired, no_change, wrong_kind |
El handle pasó sus 5 minutos, no es de esta clave o no es de este tipo. |
day_cap |
El proyecto ya hizo sus 20 cambios del día. |