Endpointuri

Modifică o aplicație

Modifică o aplicație dintr-o instrucțiune, la fel ca editorul.

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

Plan: Orice plan

Face aceeași modificare ca atunci când scrii o instrucțiune în editorul Setherion. Este aceeași rută din spatele casetei editorului, așa că se aplică aceleași credite, aceleași reguli ale planului și aceleași verificări de siguranță, iar rezultatul este salvat și adăugat în istoricul aplicației ca orice altă modificare.

Trebuie să ai dreptul de a modifica aplicația: este a ta, ești editor sau administrator al spațiului ei de lucru sau a fost partajată cu tine ca editor.

Creditele se iau din contul care plătește aplicația, adică al creatorului ei, nu neapărat al tău. Dacă spațiul de lucru al aplicației limitează cât poți cheltui, se aplică și limita aceea.

Modificarea este salvată, dar nu este online până când aplicația nu este publicată. Apelează Publică o aplicație când ești gata.

Cererea

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" }'
CâmpTipCe înseamnă
promptstring, obligatoriuCe să se schimbe, în orice limbă. Spațiile din jurul textului sunt ignorate. Până la 4.000 de caractere.
modelstring, opționalauto când îl lași deoparte: Setherion alege în limita planului tău, ca în editor. Un model pe care planul tău nu îl include este înlocuit cu cel mai bun pe care îl include, nu este refuzat.

Aplicația trebuie să aibă deja cod. O aplicație care nu a fost niciodată construită răspunde cu 409.

Răspunde când modificarea este gata

O modificare durează de la un minut până la câteva minute, iar cererea rămâne deschisă până se termină. O modificare care trece de aproximativ 13 minute este oprită de server.

Cât lucrează, Setherion trimite un spațiu la fiecare 10 secunde, ca nimic dintre tine și noi să nu închidă o conexiune liniștită. Spațiile dinaintea JSON-ului sunt tot JSON valid: citește tot corpul răspunsului, apoi analizează-l.

Din clipa în care modificarea a început, statusul este 200 orice s-ar întâmpla, iar ok spune cum a mers. Antetul X-Setherion-Run al răspunsului poartă runId al modificării din primul moment, înaintea corpului.

Închiderea conexiunii nu oprește modificarea

Dacă clientul tău renunță sau conexiunea cade, modificarea merge mai departe și ajunge în aplicație ca și cum ai fi așteptat, iar creditele ei se cheltuiesc. Păstrează antetul X-Setherion-Run și întreabă unde e modificarea cu Cum urmărești o modificare. Ca să oprești o modificare pe parcurs, apasă Stop în editorul Setherion, pe cardul care o arată în lucru.

Răspunsul

O modificare terminată:

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": []
  }
}
CâmpTipCe înseamnă
okbooleantrue când modificarea s-a terminat și a fost salvată.
runIdstringId-ul modificării. Lipsește când Setherion nu a putut să-l spună.
projectIdstringAplicația pe care a schimbat-o. Lipsește când Setherion nu a putut să-l spună.
changedobjectFișierele pe care modificarea le-a adăugat, schimbat și șters, fiecare o listă sortată de căi. Lipsește când Setherion nu a putut să le spună, ceea ce nu înseamnă același lucru cu faptul că nu s-a schimbat nimic.
buildsfalseApare doar când aplicația modificată nu se mai construiește. Modificarea a fost scrisă, iar creditele ei se întorc. Faptul că lipsește nu promite că aplicația se construiește.
refundedCreditsnumberCâte credite s-au întors, când s-au întors.

O modificare care a stricat construirea aplicației:

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
}

O modificare care nu a avut loc:

json
{ "ok": false, "error": "This edit costs 10 credits and you have 3.", "outOfCredits": true }

outOfCredits apare, și este true, doar când contul care plătește modificarea nu mai are credite. Orice altă refuzare are ok: false și un error, și nimic altceva.

De ce poate o modificare să răspundă ok: false

Acestea vin cu statusul 200, pentru că modificarea începuse.

  • This edit costs 10 credits and you have 3. cu outOfCredits: true. Numărul este prețul acelei modificări și soldul tău. Pe aplicația altcuiva, propoziția este This app's owner has no credits left this month, so this edit cannot run. și nu îi numește niciodată soldul.
  • 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. cu outOfCredits: true, când proprietarul spațiului de lucru a limitat cât poți cheltui.
  • You're working faster than our safety limit allows (120 an hour). You can carry on in about 12 minutes. Modificările și construirile sunt ritmate la 120 pe oră pentru fiecare cont.
  • The edit stopped before it finished. Nothing was charged for it. Rularea s-a încheiat fără să se termine.
  • The edit could not start. sau The edit failed: ... când ceva a eșuat de partea noastră. Încearcă din nou.

Cum urmărești o modificare

GEThttps://www.setherion.com/api/v1/projects/{id}/edit?run={runId}

Plan: Orice plan

Arată unde este o modificare, pentru un client care a încetat să mai aștepte sau nu a așteptat deloc. Este gratuit și poți întreba în siguranță cam din minut în minut.

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"
}
statusokCe înseamnă
runningtrueÎncă lucrează. Întreabă din nou peste un minut sau cam așa.
donetrueTerminată și salvată în aplicație. Public-o când ești gata. Cu cutShort: true a fost salvată imediat ce s-a scris codul, fără retușurile de la sfârșit.
stoppedfalseOprită înainte să se termine. Nu s-a schimbat nimic în aplicație.
failedfalseA eșuat. Nu s-a schimbat nimic în aplicație.
stalledfalseNu s-a mișcat de câteva minute și probabil s-a oprit. Deschide aplicația în Setherion ca să vezi unde a ajuns.

Un răspuns cu false poartă și o propoziție error, iar modificarea poate fi trimisă din nou. Acest răspuns nu listează fișierele care s-au schimbat: doar răspunsul propriu al modificării o face.

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

Erori înainte să înceapă modificarea

StatusCând
400prompt lipsește, este gol sau are mai mult de 4.000 de caractere.
401Cheia lipsește, este greșită sau a fost revocată.
404Nu există o asemenea aplicație sau cheia ta nu o poate modifica. Asta include o aplicație pe care o poți doar vedea.
409Aplicația nu are încă cod. Construiește-o întâi în Setherion.
Propozițiile exacte
Statuserror
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.

Ți-a fost de folos această pagină?

Alătură-te comunității

Întrebări, idei și ce construiesc alții.