curl -X POST 'https://api.sondercloud.app/v1/apps/upload' \
-H 'Authorization: Bearer seu_token' \
-F 'file=@zynx-apps_backend.zip' \
-F 'appName=zynx-api' \
-F 'language=ts' \
-F 'command=npm run start' \
-F 'memory=512' \
-F 'domain=zynx-api'
{
"appId": "67098f88-28c9-4e60-b040-496a778faaaa",
"name": "zynx-api",
"type": "web",
"domain": "zynx-api.sondercloud.app",
"language": "ts",
"imageTag": "app-zynx-api-77505c64",
"containerName": "app-zynx-api-77505c64",
"buildLogPath": "/logs/{id}/build.log",
"runLogPath": "/logs/{id}/run.log",
"memoryMb": 512,
"status": "BUILDING"
}
Provisionamento
Criar uma aplicação (Upload)
Envie um .zip com o código-fonte e crie uma nova aplicação
POST
/
v1
/
apps
/
upload
curl -X POST 'https://api.sondercloud.app/v1/apps/upload' \
-H 'Authorization: Bearer seu_token' \
-F 'file=@zynx-apps_backend.zip' \
-F 'appName=zynx-api' \
-F 'language=ts' \
-F 'command=npm run start' \
-F 'memory=512' \
-F 'domain=zynx-api'
{
"appId": "67098f88-28c9-4e60-b040-496a778faaaa",
"name": "zynx-api",
"type": "web",
"domain": "zynx-api.sondercloud.app",
"language": "ts",
"imageTag": "app-zynx-api-77505c64",
"containerName": "app-zynx-api-77505c64",
"buildLogPath": "/logs/{id}/build.log",
"runLogPath": "/logs/{id}/run.log",
"memoryMb": 512,
"status": "BUILDING"
}
curl -X POST 'https://api.sondercloud.app/v1/apps/upload' \
-H 'Authorization: Bearer seu_token' \
-F 'file=@zynx-apps_backend.zip' \
-F 'appName=zynx-api' \
-F 'language=ts' \
-F 'command=npm run start' \
-F 'memory=512' \
-F 'domain=zynx-api'
{
"appId": "67098f88-28c9-4e60-b040-496a778faaaa",
"name": "zynx-api",
"type": "web",
"domain": "zynx-api.sondercloud.app",
"language": "ts",
"imageTag": "app-zynx-api-77505c64",
"containerName": "app-zynx-api-77505c64",
"buildLogPath": "/logs/{id}/build.log",
"runLogPath": "/logs/{id}/run.log",
"memoryMb": 512,
"status": "BUILDING"
}
Parâmetros
file
required
Arquivo
.zip com o código-fonte do app.string
Nome do app.
string
Linguagem/runtime do app. Veja as opções com builder dedicado na documentação do sonder.config — qualquer valor fora dessa lista usa o builder Node.js por padrão.
string
Comando usado para iniciar o app.
string
Memória alocada, em MB.
string
Subdomínio desejado para o app (sem o sufixo do host, ex:
meu-app).Campos da Resposta
string
O app é criado com status
BUILDING. Consulte GET /v1/apps/{id} para acompanhar o resultado do build.Como alternativa aos campos do formulário, você pode incluir um arquivo
sonder.config na raiz do .zip com as chaves NAME, LANGUAGE, COMMAND, MEMORY e DOMAIN (formato CHAVE=valor, uma por linha). Campos enviados explicitamente no formulário sempre têm prioridade sobre o sonder.config. Veja a documentação completa do sonder.config, incluindo a tabela de linguagens suportadas.Este endpoint tem um limite de requisições próprio — veja Rate Limiting.
Authorizations
Token de API da SonderCloud, enviado no header Authorization: Bearer <token>
Body
multipart/form-data

