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

# Criar webhook de deploy

> Cria um webhook de deploy para um repositório do GitHub, para que um push na branch escolhida faça o deploy da aplicação.

**app\_id** `string` *required*

O ID da aplicação onde o webhook será criado.

**owner** `string` *required*

O proprietário do repositório no GitHub.

**repo\_name** `string` *required*

O nome do repositório no GitHub.

**repo\_id** `string` *required*

O ID do repositório no GitHub. Ele é conferido com o próprio repositório: se não corresponder a `owner` e `repo_name`, a requisição falha com `VALIDATION_ERROR` (`400`) e `details.path` igual a `repo_id`.

**account\_id** `string` *required*

O ID da conta no GitHub.

**branch** `string`

A branch do Git que dispara o deploy (por exemplo `develop` ou `release/1.2`). Opcional: sem ela, um push para `main` ou `master` faz o deploy. Com ela, somente um push para essa branch faz o deploy, e um push para qualquer outra branch é ignorado. A entrega continua sendo respondida com `200`.

Chamar esta rota de novo para uma aplicação que já tem um webhook substitui a branch: envie outra `branch` para trocá-la, ou omita o campo para voltar para `main` ou `master`. Um nome de branch inválido falha com `VALIDATION_ERROR` (`400`) e `details.path` igual a `branch`.

### Resposta

**response** `object`

Contém o webhook criado.

**Mostrar objeto**

**url** `string`

A URL do webhook criado.

```json theme={null}
{
  "response": {
    "url": "https://api.vertracloud.app/v1/apps/123/deploys/receiver/webhook"
  }
}
```

### Respostas de erro

**code** `string`

Códigos de erro possíveis:

* `AUTH_TOKEN_MISSING`, `API_KEY_INVALID`, `SESSION_REVOKED`: o cabeçalho `Authorization` está ausente, a chave de API é inválida ou a sessão do painel foi revogada (`401`).
* `API_KEY_IP_DENIED`, `API_KEY_SCOPE_DENIED`: a chave de API está sendo usada a partir de um IP fora da sua lista de permissões, ou não tem o escopo que a rota exige (`403`).
* `ACCESS_DENIED`: o recurso pertence a outra conta, ou você não tem a permissão do workspace para ele (`403`).
* `PLAN_RESTRICTED_FEATURE`: o plano do usuário não oferece suporte a deploy automático.
* `INSTALLATION_NOT_FOUND`: instalação do GitHub não encontrada para o usuário, ou o repositório não é um dos repositórios que essa instalação pode acessar (`404`).
* `IMAGE_APP_CODE_NOT_APPLICABLE`: a aplicação roda uma imagem Docker personalizada, que não tem deploy automático a partir do GitHub (`409`). Vincule a imagem ao GitHub em vez disso.
* `FETCH_ZIP_ERROR`: o GitHub não pôde ser acessado, ou estava limitando requisições enquanto o repositório era verificado (`502`). Tente novamente em alguns minutos.
* `VALIDATION_ERROR`: o corpo da requisição falhou na validação, por exemplo um `owner`, `repo_name`, `repo_id` ou `branch` inválido (`400`). `details.path` indica o campo.

**message** `string`

Uma mensagem descritiva com detalhes adicionais sobre o erro.

```json theme={null}
{
  "code": "INSTALLATION_NOT_FOUND"
}
```


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