Pular para o conteúdo principal
POST
/
v2
/
apps
/
{app_id}
/
snapshots
Criar Snapshot
curl --request POST \
  --url https://api.squarecloud.app/v2/apps/{app_id}/snapshots \
  --header 'Authorization: <authorization>'
{
    "status": "success",
    "response": {
        "url": "https://snapshots.squarecloud.app/applications/23457145698959364/a23d130fcc9ddaf2d288ae9599a4292c32.zip?AWSAccessKeyId=i06Xdad2dRD74Pm8Xly&Expires=1753081182&Signature=riWPedawcsouRAPGU5n3kGHnWoOuw%3D",
        "key": "AWSAccessKeyId=i06Xdad2dRD74Pm8Xly&Expires=1753081182&Signature=riWPedawcsouRAPGU5n3kGHnWoOuw%3D"
    }
}
Cada conta pode executar até (RAM / 256) * 2 snapshots a cada 24 horas.
Authorization
string
obrigatório
A chave da API para sua conta. Você pode encontrá-la nas configurações da conta.
app_id
string
obrigatório
O ID da aplicação. Você pode encontrá-lo na URL do painel da sua aplicação.

Comportamento de prazo flexível (soft deadline)

Esta rota segue um modelo de prazo flexível (soft deadline) — ela não responde mais sempre de forma síncrona.
  • Se o snapshot terminar em até ~90 segundos, a rota responde com 200 success e uma URL de download assinada (válida por 30 dias), exatamente como antes.
  • Se o snapshot levar mais de ~90 segundos para ser gerado, a rota responde imediatamente com 202 e o código SNAPSHOT_PROCESSING. Isso não é uma falha. O snapshot continua sendo gerado em segundo plano e aparecerá sozinho na listagem de snapshots, normalmente em até ~2 minutos. Esse é o comportamento esperado para aplicações grandes.
Não use este endpoint POST como mecanismo de polling. Para verificar se um snapshot em SNAPSHOT_PROCESSING foi concluído, use o endpoint Listar Snapshots (GET) — e não outro POST. Repetir o POST depois que o snapshot terminar inicia um snapshot completamente novo do zero.
O cliente deve tratar a resposta da seguinte forma:
RespostaSignificadoO que fazer
status === "success"O snapshot está pronto.Use a url para baixá-lo.
status === "error" e code === "SNAPSHOT_PROCESSING"O snapshot ainda está sendo gerado.Aguarde ~2 minutos e confirme via Listar Snapshots (GET). Não repita o POST.
status === "error" com qualquer outro codeFalha real.Trate o erro (veja abaixo).

Response

status
string
Indica se a chamada foi bem-sucedida. success se bem-sucedida, error se não.
response
object
O conteúdo da resposta. Presente apenas quando status é success.
SNAPSHOT_PROCESSING
202
Retornado quando o snapshot ultrapassa o prazo flexível de ~90 segundos. O snapshot continua sendo gerado em segundo plano e aparecerá sozinho na listagem de snapshots, normalmente em até ~2 minutos. Não é um erro — aguarde e confirme via o endpoint de listagem GET.

Erros

Uma requisição de snapshot pode ser rejeitada com 429 Too Many Requests. Use o campo code para distinguir os dois casos:
KEEP_CALM
429
Cooldown de curto prazo — você atingiu o limite por usuário (1 requisição / 5s) ou por aplicação (1 requisição / 180s). Aguarde um instante e tente novamente.
DAILY_SNAPSHOTS_LIMIT_REACHED
429
Cota diária atingida — a conta esgotou o limite diário de snapshots do plano ((RAM / 256) × 2 por 24h). A cota é renovada conforme a janela de 24 horas avança; para um limite diário maior, faça upgrade do plano.
{
    "status": "success",
    "response": {
        "url": "https://snapshots.squarecloud.app/applications/23457145698959364/a23d130fcc9ddaf2d288ae9599a4292c32.zip?AWSAccessKeyId=i06Xdad2dRD74Pm8Xly&Expires=1753081182&Signature=riWPedawcsouRAPGU5n3kGHnWoOuw%3D",
        "key": "AWSAccessKeyId=i06Xdad2dRD74Pm8Xly&Expires=1753081182&Signature=riWPedawcsouRAPGU5n3kGHnWoOuw%3D"
    }
}