Endpointuri
Modifică o aplicație
Modifică o aplicație dintr-o instrucțiune, la fel ca editorul.
https://www.setherion.com/api/v1/projects/{id}/editPlan: 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
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âmp | Tip | Ce înseamnă |
|---|---|---|
prompt | string, obligatoriu | Ce să se schimbe, în orice limbă. Spațiile din jurul textului sunt ignorate. Până la 4.000 de caractere. |
model | string, opțional | auto 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ă:
{
"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âmp | Tip | Ce înseamnă |
|---|---|---|
ok | boolean | true când modificarea s-a terminat și a fost salvată. |
runId | string | Id-ul modificării. Lipsește când Setherion nu a putut să-l spună. |
projectId | string | Aplicația pe care a schimbat-o. Lipsește când Setherion nu a putut să-l spună. |
changed | object | Fiș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. |
builds | false | Apare 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. |
refundedCredits | number | Câte credite s-au întors, când s-au întors. |
O modificare care a stricat construirea aplicației:
{
"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:
{ "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.cuoutOfCredits: true. Numărul este prețul acelei modificări și soldul tău. Pe aplicația altcuiva, propoziția esteThis 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.cuoutOfCredits: 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.sauThe edit failed: ...când ceva a eșuat de partea noastră. Încearcă din nou.
Cum urmărești o modificare
https://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.
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 | Ce înseamnă |
|---|---|---|
running | true | Încă lucrează. Întreabă din nou peste un minut sau cam așa. |
done | true | Terminată ș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. |
stopped | false | Oprită înainte să se termine. Nu s-a schimbat nimic în aplicație. |
failed | false | A eșuat. Nu s-a schimbat nimic în aplicație. |
stalled | false | Nu 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.
| Status | error |
|---|---|
400 | Say which edit, in "run": the runId its POST answered. |
404 | No such app on this account. sau No such edit on this app. |
Erori înainte să înceapă modificarea
| Status | Când |
|---|---|
400 | prompt lipsește, este gol sau are mai mult de 4.000 de caractere. |
401 | Cheia lipsește, este greșită sau a fost revocată. |
404 | Nu există o asemenea aplicație sau cheia ta nu o poate modifica. Asta include o aplicație pe care o poți doar vedea. |
409 | Aplicația nu are încă cod. Construiește-o întâi în Setherion. |
Propozițiile exacte
| Status | 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. |
Ți-a fost de folos această pagină?
