# 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"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.discloud.com/api-and-integrations/api-overview/applications-endpoints.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
