Endpoints
Editar um app
Mude um app a partir de uma instrução, do jeito que o editor faz.
https://www.setherion.com/api/v1/projects/{id}/editPlano: Qualquer plano
Executa a mesma edição de escrever uma instrução no editor do Setherion. É a mesma rota por trás da caixa do editor, então valem os mesmos créditos, as mesmas regras de plano e as mesmas verificações de segurança, e o resultado é salvo e acrescentado ao histórico do app como qualquer outra edição.
Você precisa poder editar o app: ele é seu, você é editor ou administrador do espaço de trabalho dele, ou ele foi compartilhado com você como editor.
Os créditos são tirados da conta que paga pelo app, que é a do criador dele, não necessariamente a sua. Se o espaço de trabalho do app limita o quanto você pode gastar, esse limite também vale.
A mudança é salva, mas não fica online até o app ser publicado. Chame Publicar um app quando estiver pronto.
Solicitação
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, obrigatório | O que mudar, em qualquer idioma. Os espaços ao redor são ignorados. Até 4.000 caracteres. |
model | string, opcional | auto quando omitido: o Setherion escolhe dentro do seu plano, como no editor. Um modelo que o seu plano não inclui é trocado pelo melhor que ele inclui, não recusado. |
O app já precisa ter código. Um app que nunca foi criado responde 409.
Ele responde quando a edição termina
Uma edição leva de um a vários minutos, e a solicitação fica aberta até ela terminar. Uma edição que passa de cerca de 13 minutos é cortada pelo servidor.
Enquanto trabalha, o Setherion envia um espaço a cada 10 segundos, para que nada entre você e nós feche uma conexão silenciosa. Espaços antes de um JSON ainda são JSON válido: leia o corpo inteiro e depois faça o parse.
Depois que a edição começou, o status é 200 aconteça o que acontecer, e ok diz como ela foi. O cabeçalho X-Setherion-Run da resposta traz o runId da edição desde o primeiro momento, antes do corpo.
Fechar a conexão não interrompe a edição
Se o seu cliente desistir ou a conexão cair, a edição continua e chega ao app como se você tivesse esperado, e os créditos dela são gastos. Guarde o cabeçalho X-Setherion-Run e pergunte onde a edição está com Acompanhando uma edição. Para interromper uma edição no meio, clique em Stop no editor do Setherion, no cartão que mostra a edição em andamento.
Resposta
Uma edição concluída:
{
"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 quando a edição terminou e foi salva. |
runId | string | O id da edição. Omitido quando o Setherion não soube dizer. |
projectId | string | O app que ela mudou. Omitido quando o Setherion não soube dizer. |
changed | object | Os arquivos que a edição adicionou, mudou e removeu, cada um uma lista ordenada de caminhos. Omitido quando o Setherion não soube dizer, o que não é o mesmo que nada ter mudado. |
builds | false | Presente só quando o app editado não compila mais. A edição foi escrita, e os créditos dela voltam. A ausência dele não é uma promessa de que o app compila. |
refundedCredits | number | Quantos créditos voltaram, quando alguns voltaram. |
Uma edição que quebrou a compilação do app:
{
"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
}Uma edição que não aconteceu:
{ "ok": false, "error": "This edit costs 10 credits and you have 3.", "outOfCredits": true }outOfCredits está presente, e é true, só quando a conta que paga pela edição não tem mais créditos. Toda outra recusa tem ok: false e um error e nada mais.
Por que uma edição pode responder ok: false
Estas voltam com o status 200, porque a edição já tinha começado.
This edit costs 10 credits and you have 3.comoutOfCredits: true. O número é o preço daquela edição e o seu saldo. No app de outra pessoa, a frase éThis app's owner has no credits left this month, so this edit cannot run., e nunca diz o saldo dela.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.comoutOfCredits: true, quando o dono de um espaço de trabalho limitou o quanto você pode gastar.You're working faster than our safety limit allows (120 an hour). You can carry on in about 12 minutes.As edições e as criações têm um ritmo de 120 por hora por conta.The edit stopped before it finished. Nothing was charged for it.A execução terminou sem concluir.The edit could not start.ouThe edit failed: ...quando algo falhou do nosso lado. Tente de novo.
Acompanhando uma edição
https://www.setherion.com/api/v1/projects/{id}/edit?run={runId}Plano: Qualquer plano
Onde uma edição está, para um cliente que parou de esperar ou nunca esperou. Gratuito, e seguro de perguntar mais ou menos a cada minuto.
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 | Ainda trabalhando. Pergunte de novo em mais ou menos um minuto. |
done | true | Terminada e salva no app. Publique quando estiver pronto. Com cutShort: true, ela foi salva assim que o código foi escrito, sem os retoques finais. |
stopped | false | Interrompida antes de terminar. Nada mudou no app. |
failed | false | Falhou. Nada mudou no app. |
stalled | false | Não se mexe há vários minutos e provavelmente parou. Abra o app no Setherion para ver até onde chegou. |
Uma resposta false também traz uma frase em error, e a edição pode ser enviada de novo. Esta resposta não lista os arquivos que mudaram: só a resposta da própria edição lista.
| Status | error |
|---|---|
400 | Say which edit, in "run": the runId its POST answered. |
404 | No such app on this account. ou No such edit on this app. |
Erros antes de a edição começar
| Status | Quando |
|---|---|
400 | prompt está ausente, vazio ou tem mais de 4.000 caracteres. |
401 | A chave está ausente, errada ou foi revogada. |
404 | Não existe tal app, ou a sua chave não pode editá-lo. Isso inclui um app que você só pode ver. |
409 | O app ainda não tem código. Crie-o primeiro no Setherion. |
As frases exatas
| 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. |
Esta página foi útil?
