> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Fazer commit de arquivos na aplicação

> Envie um arquivo ou um .zip para uma aplicação existente com POST /v2/apps/{app_id}/commit. Arquivos de até 100 MB, e a aplicação não reinicia sozinha.

<ParamField header="Authorization" type="string" placeholder="Chave da API" required>
  A chave da API para sua conta. Você pode encontrá-la nas [configurações da conta](https://squarecloud.app/pt-br/account/security).
</ParamField>

Requer uma chave de API com o [escopo](/pt-br/api-reference/authentication#escopos) `apps:deploy`.

O commit transmite um único arquivo ou um arquivo `.zip` para uma aplicação existente sem recriá-la. Um `.zip` é descompactado no diretório de destino, enquanto qualquer outro arquivo é gravado como está. Isso torna essa a forma mais rápida de enviar pequenas alterações de código, hotfixes ou atualizações de configuração a partir de um pipeline de CI ou script de deploy.

O commit não reinicia a aplicação por conta própria: depois de enviar suas alterações, chame [Reiniciar aplicação](/pt-br/api-reference/endpoint/apps/restart) para que os novos arquivos entrem em vigor. Para o primeiro deploy de uma nova aplicação, use [Enviar aplicação](/pt-br/api-reference/endpoint/apps/upload); para editar um único arquivo no local sem reenviar tudo, veja os [endpoints do Gerenciador de Arquivos](/pt-br/api-reference/endpoint/apps/filemanager/patch).

Os envios são limitados a **100 MB por arquivo**. O corpo da requisição é limitado a **101 MB** (um arquivo de até 100 MB mais a sobrecarga do formulário): uma requisição maior é rejeitada com `413 FILE_TOO_LARGE` ainda durante o envio. Apenas a primeira parte de arquivo é lida; campos adicionais do formulário são ignorados. Nomes de arquivo contendo path traversal (`..`), separadores de caminho ou caracteres de controle são rejeitados antes de qualquer alteração ser aplicada. Em aplicações compartilhadas em workspace, quem chama precisa da [função](/pt-br/api-reference/endpoint/workspace/members/invite#funções) `maintain` ou `admin`.

## Parâmetros

<ParamField path="app_id" type="string" placeholder="ID da Aplicação" required>
  O ID da aplicação. Você pode encontrá-lo na URL da sua aplicação no dashboard.
</ParamField>

<ParamField body="file" type="file" placeholder="commit.zip" required>
  Use FormData ou Buffer do NodeJS (arquivo único ou comprimido \[zip])
</ParamField>

<ParamField query="path" type="string" placeholder="src/routes">
  Opcional. O diretório de destino dentro da aplicação. Um `.zip` é descompactado aqui; qualquer outro arquivo é colocado em `path/nome`. O padrão é a raiz da aplicação.
</ParamField>

## Resposta

<ResponseField name="status" type="string">
  Indica se a chamada foi bem-sucedida: `success` se foi, `error` se não.
</ResponseField>

<ResponseExample>
  ```json theme={"system"}
  {
      "status": "success"
  }
  ```
</ResponseExample>

## Erros comuns

| Código | HTTP | Significado |
| - | - | - |
| `INVALID_CONTENT_TYPE` | 415 | O corpo da requisição não é `multipart/form-data`. |
| `INVALID_FILE` | 400 | Nenhum campo de arquivo foi encontrado nos dados do formulário. |
| `INVALID_FILENAME` | 400 | O nome do arquivo contém separadores de caminho, `..` ou caracteres de controle. |
| `INVALID_PATH` | 400 | O parâmetro de query `path` contém traversal ou metacaracteres de shell. |
| `COMMIT_FAILED` | 400 | O commit não pôde ser aplicado à aplicação; tente novamente e verifique o arquivo se repetir. |
| `FILE_TOO_LARGE` | 413 | O arquivo excedeu 100 MB ou o corpo da requisição excedeu 101 MB. |
| `UPLOAD_BUSY` | 503 | Muitos envios estão sendo processados agora; tente novamente em instantes. |

## Relacionados

* CLI: [`squarecloud commit`](/pt-br/cli-reference/deploy#squarecloud-commit)
* SDKs: [`api.apps.commit()`](/pt-br/sdks/js/commit_and_upload) (JavaScript), [`client.apps.commit()`](/pt-br/sdks/py/commit_and_upload) (Python), [`c.Apps.Commit()`](/pt-br/sdks/go/commit_and_upload) (Go)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.