Endpointy
Edycja aplikacji
Zmień aplikację na podstawie polecenia, tak jak robi to edytor.
https://www.setherion.com/api/v1/projects/{id}/editPlan: Każdy plan
Wykonuje tę samą edycję, co wpisanie polecenia w edytorze Setherion. To ta sama trasa, która stoi za polem w edytorze, więc obowiązują te same kredyty, te same zasady planu i te same kontrole bezpieczeństwa, a wynik jest zapisywany i dodawany do historii aplikacji jak każda inna edycja.
Musisz mieć prawo do edycji aplikacji: jest twoja, masz w jej przestrzeni roboczej rolę editor lub admin albo została ci udostępniona z rolą editor.
Kredyty są pobierane z konta, które płaci za aplikację, czyli z konta jej twórcy, niekoniecznie z twojego. Jeśli przestrzeń robocza aplikacji ogranicza to, ile możesz wydać, ten limit też obowiązuje.
Zmiana jest zapisana, ale nie jest online, dopóki aplikacja nie zostanie opublikowana. Gdy przyjdzie na to pora, wywołaj Publikowanie aplikacji.
Żądanie
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" }'| Pole | Typ | Znaczenie |
|---|---|---|
prompt | string, wymagane | Co zmienić, w dowolnym języku. Spacje wokół są ignorowane. Do 4 000 znaków. |
model | string, opcjonalne | auto, gdy je pominiesz: Setherion wybiera w ramach twojego planu, tak jak w edytorze. Model, którego twój plan nie obejmuje, jest zastępowany najlepszym z tych, które obejmuje, a nie odrzucany. |
Aplikacja musi już mieć kod. Aplikacja, która nigdy nie została zbudowana, odpowiada 409.
Odpowiedź przychodzi, gdy edycja jest skończona
Edycja trwa od jednej do kilku minut, a żądanie pozostaje otwarte, dopóki się nie zakończy. Edycja, która trwa dłużej niż około 13 minut, jest przerywana przez serwer.
Gdy pracuje, Setherion wysyła spację co 10 sekund, żeby nic między tobą a nami nie zamknęło cichego połączenia. Spacje przed JSON-em nadal są poprawnym JSON-em: przeczytaj całą treść, a dopiero potem ją sparsuj.
Gdy edycja już się rozpocznie, status to 200 bez względu na to, co się stanie, a ok mówi, jak poszło. Nagłówek odpowiedzi X-Setherion-Run zawiera runId edycji od pierwszej chwili, jeszcze przed treścią.
Zamknięcie połączenia nie zatrzymuje edycji
Jeśli twój klient się podda lub połączenie zostanie zerwane, edycja toczy się dalej i trafia do aplikacji tak, jakby żądanie czekało do końca, a jej kredyty są zużyte. Zachowaj nagłówek X-Setherion-Run i zapytaj, gdzie jest edycja, przez Śledzenie edycji. Żeby zatrzymać edycję w połowie, kliknij Stop w edytorze Setherion, na karcie, która pokazuje jej działanie.
Odpowiedź
Zakończona edycja:
{
"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": []
}
}| Pole | Typ | Znaczenie |
|---|---|---|
ok | boolean | true, gdy edycja się skończyła i została zapisana. |
runId | string | Identyfikator edycji. Pomijany, gdy Setherion nie potrafił go ustalić. |
projectId | string | Aplikacja, którą zmieniła. Pomijany, gdy Setherion nie potrafił go ustalić. |
changed | object | Pliki, które edycja dodała, zmieniła i usunęła, każda grupa jako posortowana lista ścieżek. Pomijany, gdy Setherion nie potrafił tego ustalić, co nie znaczy, że nic się nie zmieniło. |
builds | false | Występuje tylko wtedy, gdy edytowana aplikacja już się nie buduje. Edycja została zapisana, a jej kredyty wracają. Brak tego pola nie jest obietnicą, że aplikacja się buduje. |
refundedCredits | number | Ile kredytów wróciło, jeśli jakieś wróciły. |
Edycja, która zepsuła budowanie aplikacji:
{
"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
}Edycja, która się nie odbyła:
{ "ok": false, "error": "This edit costs 10 credits and you have 3.", "outOfCredits": true }outOfCredits występuje i ma wartość true tylko wtedy, gdy konto płacące za edycję nie ma już kredytów. Każde inne odrzucenie ma ok: false i error, i nic więcej.
Dlaczego edycja może odpowiedzieć ok: false
Te odpowiedzi przychodzą ze statusem 200, bo edycja już się rozpoczęła.
This edit costs 10 credits and you have 3.zoutOfCredits: true. Liczba to cena tej edycji i twoje saldo. W cudzej aplikacji zdanie brzmiThis app's owner has no credits left this month, so this edit cannot run.i nigdy nie podaje ich salda.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.zoutOfCredits: true, gdy właściciel przestrzeni roboczej ograniczył to, ile możesz wydać.You're working faster than our safety limit allows (120 an hour). You can carry on in about 12 minutes.Edycje i budowania są ograniczone do 120 na godzinę na konto.The edit stopped before it finished. Nothing was charged for it.Przebieg zakończył się przed ukończeniem.The edit could not start.lubThe edit failed: ..., gdy coś zawiodło po naszej stronie. Spróbuj jeszcze raz.
Śledzenie edycji
https://www.setherion.com/api/v1/projects/{id}/edit?run={runId}Plan: Każdy plan
Gdzie jest edycja, dla klienta, który przestał czekać albo w ogóle nie czekał. Za darmo i bezpiecznie jest pytać mniej więcej co 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 | Znaczenie |
|---|---|---|
running | true | Nadal pracuje. Zapytaj ponownie za mniej więcej minutę. |
done | true | Skończona i zapisana w aplikacji. Opublikuj ją, gdy przyjdzie na to pora. Z cutShort: true została zapisana zaraz po napisaniu kodu, bez ostatnich poprawek. |
stopped | false | Zatrzymana przed ukończeniem. W aplikacji nic się nie zmieniło. |
failed | false | Nie powiodła się. W aplikacji nic się nie zmieniło. |
stalled | false | Nie ruszyła się od kilku minut i prawdopodobnie się zatrzymała. Otwórz aplikację w Setherion, żeby zobaczyć, dokąd doszła. |
Odpowiedź z false zawiera też zdanie error, a edycję można wysłać ponownie. Ta odpowiedź nie wymienia plików, które się zmieniły: robi to tylko własna odpowiedź edycji.
| Status | error |
|---|---|
400 | Say which edit, in "run": the runId its POST answered. |
404 | No such app on this account. lub No such edit on this app. |
Błędy przed rozpoczęciem edycji
| Status | Kiedy |
|---|---|
400 | prompt jest pominięty, pusty lub dłuższy niż 4 000 znaków. |
401 | Klucz jest pominięty, błędny lub unieważniony. |
404 | Nie ma takiej aplikacji albo twój klucz nie może jej edytować. Dotyczy to też aplikacji, którą możesz tylko oglądać. |
409 | Aplikacja nie ma jeszcze kodu. Najpierw zbuduj ją w Setherion. |
Dokładne zdania
| 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. |
Czy ta strona była pomocna?
