> For the complete documentation index, see [llms.txt](https://docs.discloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.discloud.com/api-and-integrations/api-overview/applications-endpoints.md).

# Aplicações

## Fazer upload da aplicação

> Faz upload de uma nova aplicação para a Discloud

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/upload":{"post":{"tags":["Aplicações"],"summary":"Fazer upload da aplicação","description":"Faz upload de uma nova aplicação para a Discloud","operationId":"uploadApplication","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","description":"Arquivo da aplicação para fazer upload (formato .ZIP)"}}}}}},"responses":{"200":{"description":"Resposta do upload","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}},{"$ref":"#/components/schemas/UploadErrorResponse"}]}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Arquivo obrigatório ausente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Obter informações da aplicação

> Recupera informações sobre uma aplicação específica ou todas as aplicações

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"apps":{"oneOf":[{"$ref":"#/components/schemas/App"},{"type":"array","items":{"$ref":"#/components/schemas/App"}}]}}},"App":{"type":"object","properties":{"id":{"type":"string","description":"ID da aplicação"},"avatarURL":{"type":"string","description":"URL para a imagem do avatar da aplicação"},"name":{"type":"string","description":"Nome da aplicação"},"type":{"type":"integer","description":"Tipo de aplicação"},"online":{"type":"boolean","description":"Se a aplicação está atualmente online"},"ramKilled":{"type":"boolean","description":"Se a aplicação foi desligada devido a ultrapassagem da quantidade de RAM"},"exitCode":{"type":"integer","description":"Código de saída da aplicação, se ele foi interrompido"},"ram":{"type":"integer","description":"RAM alocada para a aplicação (em MB)"},"mainFile":{"type":"string","description":"Caminho do arquivo principal da aplicação"},"lang":{"type":"string","description":"Linguagem de programação da aplicação"},"mods":{"type":"array","items":{"type":"string"},"description":"Módulos adicionais ou dependências"},"autoDeployGit":{"type":"string","description":"Configuração Git/GitHub"},"autoRestart":{"type":"boolean","description":"Se a aplicação reinicia automaticamente em caso de falha"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}":{"get":{"tags":["Aplicações"],"summary":"Obter informações da aplicação","description":"Recupera informações sobre uma aplicação específica ou todas as aplicações","operationId":"getAppInfo","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação ou \"all\" para recuperar todas as aplicações","schema":{"type":"string"}}],"responses":{"200":{"description":"Informações da aplicação recuperadas com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Obter status da aplicação

> Recupera informações de status sobre uma aplicação específica ou todas as aplicações

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppStatusResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"apps":{"oneOf":[{"$ref":"#/components/schemas/AppStatus"},{"type":"array","items":{"$ref":"#/components/schemas/AppStatus"}}]}}},"AppStatus":{"type":"object","properties":{"id":{"type":"string","description":"ID da aplicação"},"container":{"type":"string","description":"Status do contêiner da aplicação"},"cpu":{"type":"string","description":"Uso atual de CPU da aplicação"},"memory":{"type":"string","description":"Uso e alocação de memória atual"},"ssd":{"type":"string","description":"Espaço de armazenamento usado pela aplicação"},"netIO":{"type":"object","properties":{"down":{"type":"string","description":"Uso de download de rede"},"up":{"type":"string","description":"Uso de upload de rede"}}},"last_restart":{"type":"string","description":"Tempo desde a última reinicialização da aplicação"},"startedAt":{"type":"string","format":"date-time","description":"Timestamp de quando a aplicação foi iniciada"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/status":{"get":{"tags":["Aplicações"],"summary":"Obter status da aplicação","description":"Recupera informações de status sobre uma aplicação específica ou todas as aplicações","operationId":"getAppStatus","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação ou \"all\" para recuperar status de todas as aplicações","schema":{"type":"string"}}],"responses":{"200":{"description":"Status da aplicação obtido com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppStatusResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Obter logs da aplicação

> Recupera os logs de uma aplicação específica ou de todas as aplicações

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppLogsResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"apps":{"oneOf":[{"$ref":"#/components/schemas/AppLogs"},{"type":"array","items":{"$ref":"#/components/schemas/AppLogs"}}]}}},"AppLogs":{"type":"object","properties":{"id":{"type":"string","description":"ID da aplicação"},"terminal":{"type":"object","properties":{"big":{"type":"string","description":"Logs completos da aplicação"},"small":{"type":"string","description":"Logs condensados da aplicação"},"url":{"type":"string","description":"URL para visualizar os logs online"}}}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/logs":{"get":{"tags":["Aplicações"],"summary":"Obter logs da aplicação","description":"Recupera os logs de uma aplicação específica ou de todas as aplicações","operationId":"getAppLogs","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação ou \"all\" para recuperar logs de todas as aplicações","schema":{"type":"string"}}],"responses":{"200":{"description":"Logs da aplicação recuperados com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppLogsResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Obter backup da aplicação

> Gera e recupera o backup de uma aplicação específica ou de todas as aplicações

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppBackupResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"backups":{"oneOf":[{"$ref":"#/components/schemas/AppBackup"},{"type":"array","items":{"$ref":"#/components/schemas/AppBackup"}}]}}},"AppBackup":{"type":"object","properties":{"id":{"type":"string","description":"ID da aplicação"},"url":{"type":"string","description":"URL para baixar o backup da aplicação"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/backup":{"get":{"tags":["Aplicações"],"summary":"Obter backup da aplicação","description":"Gera e recupera o backup de uma aplicação específica ou de todas as aplicações","operationId":"getAppBackup","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação ou \"all\" para recuperar backups de todas as aplicações","schema":{"type":"string"}}],"responses":{"200":{"description":"Backup da aplicação gerado com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppBackupResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Iniciar aplicação

> Inicia uma aplicação específica ou todas as aplicações

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppStartResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"},"appStatus":{"$ref":"#/components/schemas/AppStartStatus"}}},"AppStartStatus":{"type":"object","properties":{"online":{"type":"boolean","description":"Se a aplicaçãoestá online"},"ramKilled":{"type":"boolean","description":"Se a aplicação foi desligada devido a ultrapassagem da quantidade de RAM"},"exitCode":{"type":"integer","description":"O código de saída do processo da aplicação"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/start":{"put":{"tags":["Aplicações"],"summary":"Iniciar aplicação","description":"Inicia uma aplicação específica ou todas as aplicações","operationId":"startApp","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação ou \"all\" para iniciar todas as aplicações","schema":{"type":"string"}}],"responses":{"200":{"description":"Aplicação iniciada com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppStartResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Reiniciar aplicação

> Reinicia uma aplicação específica ou todas as aplicações

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppRestartResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/restart":{"put":{"tags":["Aplicações"],"summary":"Reiniciar aplicação","description":"Reinicia uma aplicação específica ou todas as aplicações","operationId":"restartApp","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação ou \"all\" para reiniciar todas as aplicações","schema":{"type":"string"}}],"responses":{"200":{"description":"Aplicação reiniciada com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRestartResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Parar aplicação

> Para uma aplicação específica ou todas as aplicações

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppStopResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/stop":{"put":{"tags":["Aplicações"],"summary":"Parar aplicação","description":"Para uma aplicação específica ou todas as aplicações","operationId":"stopApp","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação ou \"all\" para parar todas as aplicações","schema":{"type":"string"}}],"responses":{"200":{"description":"Resposta de parada da aplicação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppStopResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Atualizar RAM da aplicação

> Atualiza a alocação de RAM para uma aplicação específica

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppRamUpdateRequest":{"type":"object","required":["ramMB"],"properties":{"ramMB":{"type":"integer","description":"A quantidade de RAM em MB para alocar a aplicação"}}},"AppRamUpdateResponse":{"type":"object","properties":{"status":{"type":"string"},"statusCode":{"type":"integer"},"message":{"type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/ram":{"put":{"tags":["Aplicações"],"summary":"Atualizar RAM da aplicação","description":"Atualiza a alocação de RAM para uma aplicação específica","operationId":"updateAppRam","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação para atualizar a RAM","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRamUpdateRequest"}}}},"responses":{"200":{"description":"Resposta de atualização de RAM","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRamUpdateResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada ou limitação do plano","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Atualizar código da aplicação

> Atualiza uma aplicação existente fazendo upload de uma nova versão do código

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/commit":{"put":{"tags":["Aplicações"],"summary":"Atualizar código da aplicação","description":"Atualiza uma aplicação existente fazendo upload de uma nova versão do código","operationId":"commitAppChanges","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação a ser atualizada","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","description":"Arquivo da aplicação a ser enviado (formato .ZIP)"}}}}}},"responses":{"200":{"description":"Resposta de commit","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```

## Atualizar perfil da aplicação

> Atualiza as informações de perfil (avatar e nome) de uma aplicação específica

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppProfileUpdateRequest":{"type":"object","required":["avatarURL","name"],"properties":{"avatarURL":{"type":"string","description":"URL para a imagem do avatar da aplicação"},"name":{"type":"string","description":"Nome da aplicação"}}},"AppProfileUpdateResponse":{"type":"object","properties":{"status":{"type":"string"},"statusCode":{"type":"integer"},"message":{"type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/profile":{"put":{"tags":["Aplicações"],"summary":"Atualizar perfil da aplicação","description":"Atualiza as informações de perfil (avatar e nome) de uma aplicação específica","operationId":"updateAppProfile","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação a ser atualizada","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppProfileUpdateRequest"}}}},"responses":{"200":{"description":"Perfil da aplicação atualizado com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppProfileUpdateResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}}}}}}}}
```

## Listar arquivos e pastas

> Lista arquivos e pastas no diretório da aplicação

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"ExplorerListResponse":{"type":"object","properties":{"status":{"type":"string"},"path":{"type":"string","description":"Caminho do diretório atual"},"dir":{"type":"array","items":{"$ref":"#/components/schemas/FileItem"}}}},"FileItem":{"type":"object","properties":{"size":{"type":"integer","description":"Tamanho do arquivo em bytes (apenas para arquivos)"},"name":{"type":"string","description":"Nome do arquivo ou diretório"},"type":{"enum":["file","directory"],"description":"Tipo de item","type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/explorer":{"get":{"tags":["Aplicações"],"summary":"Listar arquivos e pastas","description":"Lista arquivos e pastas no diretório da aplicação","operationId":"listExplorer","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação","schema":{"type":"string"}},{"name":"cPath","in":"query","required":false,"description":"Caminho do diretório (padrão: workDir da app)","schema":{"type":"string"}}],"responses":{"200":{"description":"Arquivos e pastas listados com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerListResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sem permissão ou plano insuficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada ou caminho inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Criar arquivo ou pasta

> Cria um novo arquivo ou pasta na aplicação

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"ExplorerCreateRequest":{"type":"object","required":["cPath","typeFile"],"properties":{"typeFile":{"enum":["file","directory"],"description":"Tipo a criar","type":"string"},"cPath":{"type":"string","description":"Caminho completo para o novo arquivo ou diretório"}}},"ExplorerOperationResponse":{"type":"object","properties":{"status":{"type":"string"},"path":{"type":"string","description":"Caminho do alvo da operação"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/explorer":{"post":{"tags":["Aplicações"],"summary":"Criar arquivo ou pasta","description":"Cria um novo arquivo ou pasta na aplicação","operationId":"createExplorer","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerCreateRequest"}}}},"responses":{"200":{"description":"Arquivo ou pasta criado com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerOperationResponse"}}}},"400":{"description":"Requisição inválida - campos obrigatórios faltando","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sem permissão ou plano insuficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada ou caminho inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Abrir/ler arquivo

> Lê o conteúdo de um arquivo na aplicação

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"ExplorerOpenResponse":{"type":"object","properties":{"status":{"type":"string"},"path":{"type":"string","description":"Caminho completo do arquivo"},"name":{"type":"string","description":"Nome do arquivo"},"content":{"type":"string","description":"Conteúdo do arquivo"},"message":{"type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/explorer/open":{"get":{"tags":["Aplicações"],"summary":"Abrir/ler arquivo","description":"Lê o conteúdo de um arquivo na aplicação","operationId":"openExplorer","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação","schema":{"type":"string"}},{"name":"cPath","in":"query","required":true,"description":"Caminho completo do arquivo","schema":{"type":"string"}}],"responses":{"200":{"description":"Arquivo aberto com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerOpenResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sem permissão ou plano insuficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Arquivo não encontrado ou caminho inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Editar arquivo

> Edita o conteúdo de um arquivo na aplicação

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"ExplorerEditRequest":{"type":"object","required":["cPath","fileContent"],"properties":{"fileContent":{"type":"string","description":"Novo conteúdo do arquivo"},"cPath":{"type":"string","description":"Caminho completo do arquivo"}}},"ExplorerOperationResponse":{"type":"object","properties":{"status":{"type":"string"},"path":{"type":"string","description":"Caminho do alvo da operação"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/explorer/edit":{"put":{"tags":["Aplicações"],"summary":"Editar arquivo","description":"Edita o conteúdo de um arquivo na aplicação","operationId":"editExplorer","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerEditRequest"}}}},"responses":{"200":{"description":"Arquivo editado com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplorerOperationResponse"}}}},"400":{"description":"Requisição inválida - campos obrigatórios faltando","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sem permissão ou plano insuficiente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Arquivo não encontrado ou caminho inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}
```

## Executar comando no container

> Executa um comando dentro do container da aplicação

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"ExecRequest":{"properties":{"cmd":{"type":"string","description":"Comando a ser executado no container"}},"type":"object","required":["cmd"]},"ExecResponse":{"properties":{"status":{"type":"string"},"statusCode":{"type":"integer"},"message":{"type":"string"},"exec":{"oneOf":[{"$ref":"#/components/schemas/ExecOutput"},{"type":"object","nullable":true}]}},"type":"object"},"ExecOutput":{"properties":{"stdout":{"type":"string","description":"Saída padrão do comando"},"stderr":{"type":"string","description":"Erro padrão do comando"},"exitCode":{"type":"integer","description":"Código de saída do comando"}},"type":"object"},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/exec":{"put":{"tags":["Aplicações"],"summary":"Executar comando no container","description":"Executa um comando dentro do container da aplicação","operationId":"execCommand","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecRequest"}}}},"responses":{"200":{"description":"Comando executado com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Sem permissão - apenas dono da app pode executar comandos","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada ou offline","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecResponse"}}}}}}}}}
```

## Deletar aplicação

> Deleta permanentemente uma aplicação

```json
{"openapi":"3.0.4","info":{"title":"Discloud API","version":"2.0.0"},"tags":[{"name":"Aplicações","description":"Operações sobre Aplicações"}],"servers":[{"url":"https://api.discloud.app/v2","description":"Servidor API"}],"security":[{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"api-token"}},"schemas":{"AppDeleteResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}},"Error":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"}}},"UploadErrorResponse":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}},"paths":{"/app/{appID}/delete":{"delete":{"tags":["Aplicações"],"summary":"Deletar aplicação","description":"Deleta permanentemente uma aplicação","operationId":"deleteApp","parameters":[{"name":"appID","in":"path","required":true,"description":"ID da aplicação a ser deletada","schema":{"type":"string"}}],"responses":{"200":{"description":"Aplicação deletada com sucesso","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppDeleteResponse"}}}},"401":{"description":"Erro de autenticação","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Aplicação não encontrada","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadErrorResponse"}}}}}}}}}
```
