Puntos de acceso

Edita una aplicación

Cambia una aplicación a partir de una instrucción, como hace el editor.

POSThttps://www.setherion.com/api/v1/projects/{id}/edit

Plan: 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

bash
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" }'
CampoTipoSignificado
promptstring, obligatorioQué cambiar, en cualquier idioma. Se ignoran los espacios a su alrededor. Hasta 4000 caracteres.
modelstring, opcionalauto 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:

json
{
  "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": []
  }
}
CampoTipoSignificado
okbooleantrue cuando la edición terminó y se guardó.
runIdstringEl id de la edición. Se omite cuando Setherion no pudo saberlo.
projectIdstringLa aplicación que cambió. Se omite cuando Setherion no pudo saberlo.
changedobjectLos 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.
buildsfalsePresente 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.
refundedCreditsnumberCuántos créditos se devolvieron, cuando se devolvieron algunos.

Una edición que rompió la construcción de la aplicación:

json
{
  "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:

json
{ "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. con outOfCredits: true. El número es el precio de esa edición y tu saldo. En la aplicación de otra persona la frase es This 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. con outOfCredits: 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. o The edit failed: ... cuando algo falló por nuestra parte. Inténtalo de nuevo.

Seguir una edición

GEThttps://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.

bash
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"
json
{
  "ok": true,
  "status": "done",
  "runId": "b3f0e2d1-6a47-4c8e-9d15-0f2b7a3c8e61",
  "projectId": "7c1e4a52-9b0d-4f3e-8a61-2d5f0c9e7b14",
  "startedAt": "2026-10-16T15:13:02.118Z"
}
statusokSignificado
runningtrueSigue trabajando. Pregunta de nuevo en un minuto más o menos.
donetrueTerminó 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.
stoppedfalseSe detuvo antes de terminar. No cambió nada en la aplicación.
failedfalseFalló. No cambió nada en la aplicación.
stalledfalseNo 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.

Estadoerror
400Say which edit, in "run": the runId its POST answered.
404No such app on this account. o No such edit on this app.

Errores antes de que empiece la edición

EstadoCuándo
400prompt falta, está vacío o tiene más de 4000 caracteres.
401La clave falta, es incorrecta o está revocada.
404No existe esa aplicación, o tu clave no puede editarla. Esto incluye una aplicación que solo puedes ver.
409La aplicación aún no tiene código. Constrúyela primero en Setherion.
Las frases exactas
Estadoerror
400Say what to change, in "prompt".
400Keep "prompt" under 4,000 characters.
404No such app on this account.
409This app has no code yet. Build it in Setherion first, then edit it here.

¿Te ha sido útil esta página?

Únete a la comunidad

Preguntas, ideas y lo que otros están construyendo.