Puntos de acceso
Edita una aplicación
Cambia una aplicación a partir de una instrucción, como hace el editor.
https://www.setherion.com/api/v1/projects/{id}/editPlan: Cualquier plan
Ejecuta la misma edición que escribir una instrucción en el editor de Setherion. Es la misma ruta que hay detrás del cuadro del editor, así que se aplican los mismos créditos, las mismas reglas del plan y las mismas comprobaciones de seguridad, y el resultado se guarda y se añade al historial de la aplicación como cualquier otra edición.
Tienes que poder editar la aplicación: que sea tuya, que seas editor o administrador de su espacio de trabajo, o que se haya compartido contigo como editor.
Los créditos se toman de la cuenta que paga la aplicación, que es su creador, no necesariamente tú. Si el espacio de trabajo de la aplicación limita lo que puedes gastar, ese límite también se aplica.
El cambio se guarda, pero no está online hasta que se publica la aplicación. Llama a Publica una aplicación cuando estés listo.
Petición
curl -X POST https://www.setherion.com/api/v1/projects/7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14/edit \
-H "Authorization: Bearer $SETHERION_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "prompt": "Make the buttons green and add an opening hours section" }'| Campo | Tipo | Significado |
|---|---|---|
prompt | string, obligatorio | Qué cambiar, en cualquier idioma. Se ignoran los espacios a su alrededor. Hasta 4000 caracteres. |
model | string, opcional | auto cuando se omite: Setherion elige dentro de tu plan, como en el editor. Un modelo que tu plan no incluye se sustituye por el mejor que sí incluye, no se rechaza. |
La aplicación ya debe tener código. Una aplicación que nunca se construyó responde 409.
Responde cuando la edición termina
Una edición tarda de uno a varios minutos, y la petición se mantiene abierta hasta que termina. Una edición que pasa de unos 13 minutos la corta el servidor.
Mientras trabaja, Setherion envía un espacio cada 10 segundos, para que nada entre tú y nosotros cierre una conexión silenciosa. Los espacios antes del JSON siguen siendo JSON válido: lee el cuerpo entero y luego analízalo.
Una vez que la edición ha empezado, el estado es 200 pase lo que pase, y ok dice cómo fue. La cabecera X-Setherion-Run de la respuesta lleva el runId de la edición desde el primer momento, antes del cuerpo.
Cerrar la conexión no detiene la edición
Si tu cliente se rinde o la conexión se cae, la edición sigue y llega a la aplicación como si hubieras esperado, y se gastan sus créditos. Guarda la cabecera X-Setherion-Run y pregunta dónde va la edición con Seguir una edición. Para detener una edición a medias, pulsa Stop en el editor de Setherion, en la tarjeta que la muestra en ejecución.
Respuesta
Una edición terminada:
{
"ok": true,
"runId": "b3f0e2d1-6a47-4c8e-9d15-0f2b7a3c8e61",
"projectId": "7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14",
"changed": {
"added": ["src/components/OpeningHours.tsx"],
"modified": ["src/App.tsx", "src/index.css"],
"removed": []
}
}| Campo | Tipo | Significado |
|---|---|---|
ok | boolean | true cuando la edición terminó y se guardó. |
runId | string | El id de la edición. Se omite cuando Setherion no pudo saberlo. |
projectId | string | La aplicación que cambió. Se omite cuando Setherion no pudo saberlo. |
changed | object | Los archivos que la edición añadió, cambió y eliminó, cada uno una lista ordenada de rutas. Se omite cuando Setherion no pudo saberlo, que no es lo mismo que no haber cambiado nada. |
builds | false | Presente solo cuando la aplicación editada ya no se construye. La edición se escribió, y sus créditos se devuelven. Que no aparezca no es una promesa de que la aplicación se construya. |
refundedCredits | number | Cuántos créditos se devolvieron, cuando se devolvieron algunos. |
Una edición que rompió la construcción de la aplicación:
{
"ok": true,
"runId": "b3f0e2d1-6a47-4c8e-9d15-0f2b7a3c8e61",
"projectId": "7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14",
"changed": { "added": [], "modified": ["src/App.tsx"], "removed": [] },
"builds": false,
"refundedCredits": 10
}Una edición que no se hizo:
{ "ok": false, "error": "This edit costs 10 credits and you have 3.", "outOfCredits": true }outOfCredits está presente, y es true, solo cuando la cuenta que paga la edición se ha quedado sin créditos. Cualquier otro rechazo tiene ok: false y un error y nada más.
Por qué una edición puede responder ok: false
Estas respuestas llegan con estado 200, porque la edición había empezado.
This edit costs 10 credits and you have 3.conoutOfCredits: true. El número es el precio de esa edición y tu saldo. En la aplicación de otra persona la frase esThis app's owner has no credits left this month, so this edit cannot run., y nunca nombra su saldo.You have used 40 of the 100 credits a month this workspace allows you on its owner's plan. Ask an admin to raise it.conoutOfCredits: true, cuando el propietario de un espacio de trabajo limitó lo que puedes gastar.You're working faster than our safety limit allows (120 an hour). You can carry on in about 12 minutes.Las ediciones y construcciones tienen un ritmo de 120 por hora y cuenta.The edit stopped before it finished. Nothing was charged for it.La tarea terminó sin acabar.The edit could not start.oThe edit failed: ...cuando algo falló por nuestra parte. Inténtalo de nuevo.
Seguir una edición
https://www.setherion.com/api/v1/projects/{id}/edit?run={runId}Plan: Cualquier plan
Dónde va una edición, para un cliente que dejó de esperar o nunca esperó. Es gratis, y se puede preguntar sin problema cada minuto más o menos.
curl "https://www.setherion.com/api/v1/projects/7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14/edit?run=b3f0e2d1-6a47-4c8e-9d15-0f2b7a3c8e61" \
-H "Authorization: Bearer $SETHERION_API_KEY"{
"ok": true,
"status": "done",
"runId": "b3f0e2d1-6a47-4c8e-9d15-0f2b7a3c8e61",
"projectId": "7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14",
"startedAt": "2026-10-16T15:13:02.118Z"
}status | ok | Significado |
|---|---|---|
running | true | Sigue trabajando. Pregunta de nuevo en un minuto más o menos. |
done | true | Terminó y se guardó en la aplicación. Publícala cuando estés listo. Con cutShort: true se guardó en cuanto se escribió el código, sin los retoques finales. |
stopped | false | Se detuvo antes de terminar. No cambió nada en la aplicación. |
failed | false | Falló. No cambió nada en la aplicación. |
stalled | false | No se ha movido en varios minutos y probablemente se ha detenido. Abre la aplicación en Setherion para ver hasta dónde llegó. |
Una respuesta false lleva también una frase en error, y la edición se puede volver a enviar. Esta respuesta no enumera los archivos que cambiaron: solo lo hace la respuesta de la propia edición.
| Estado | error |
|---|---|
400 | Say which edit, in "run": the runId its POST answered. |
404 | No such app on this account. o No such edit on this app. |
Errores antes de que empiece la edición
| Estado | Cuándo |
|---|---|
400 | prompt falta, está vacío o tiene más de 4000 caracteres. |
401 | La clave falta, es incorrecta o está revocada. |
404 | No existe esa aplicación, o tu clave no puede editarla. Esto incluye una aplicación que solo puedes ver. |
409 | La aplicación aún no tiene código. Constrúyela primero en Setherion. |
Las frases exactas
| Estado | error |
|---|---|
400 | Say what to change, in "prompt". |
400 | Keep "prompt" under 4,000 characters. |
404 | No such app on this account. |
409 | This app has no code yet. Build it in Setherion first, then edit it here. |
¿Te ha sido útil esta página?
