---
title: "Configure or remove the Git deploy webhook"
method: POST
path: "/v2/apps/{appId}/deploy/webhook"
tags: ["Deployments"]
---

# Configure or remove the Git deploy webhook

`POST /v2/apps/{appId}/deploy/webhook`

Configures the application to deploy on push from a Git provider. Passing `access_token: "@"` removes the webhook; passing a GitHub personal access token (`ghp_*` / `github_pat_*`) enrolls the application and returns its webhook URL.

Requires the workspace Administrator role (or ownership) when called against a workspace-shared application. Rate limited to 5 calls per 60s per user.

## Path parameters

- `appId` string, required

## Request body

- object
  - `access_token` string, required — GitHub personal access token (`ghp_*` / `github_pat_*`), or `@` to remove the existing webhook.

## Response `200`

Webhook configured (with `response.webhook`) or removed.

- object
  - `status` 'success', required
  - `response` object — Present when configuring; absent when removing.
    - `webhook` string, uri, required

## Other responses

- `400` — `access_token` does not match the accepted format.
- `401` — The Authorization header is missing, malformed, or the credentials are not valid.
- `403` — The workspace member does not have the required permission for this endpoint.
- `404` — The target application could not be found, or the caller is not a member of the workspace.
- `413` — The request body is larger than the maximum allowed size (100MB).
- `429` — The endpoint enforces its own rate limit and the caller hit the cooldown.
- `500` — An unexpected error occurred while processing the request.

---

[API](https://skmtc.dev/squarecloud/apis/square-cloud-api.md) · [All operations](https://skmtc.dev/squarecloud/apis/square-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/squarecloud/square-cloud-api/revisions/54b7733a6b95/schema)
