AnySites

// DEPLOYMENTS

Deploy Webhooks

How AnySites registers and verifies GitHub/GitLab webhooks, and how to debug a push that didn't deploy.

This is the mechanism behind Automatic Git Deployments — reference it when debugging, or when configuring a webhook manually.

Endpoint

POST https://api.anysites.app/webhook/github/{projectId}
POST https://api.anysites.app/webhook/gitlab/{projectId}

Verification

ProviderHeaderMethod
GitHubx-hub-signature-256HMAC-SHA256 over the raw request body, using the project's webhookSecret.
GitLabx-gitlab-tokenConstant-time string comparison against the project's webhookSecret.

What happens after verification

The payload's branch is compared against the project's production branch. A mismatch returns a normal 200 with { skipped: true, reason: "branch mismatch" } and creates nothing — check your Git provider's webhook delivery log (both GitHub and GitLab show recent deliveries and responses) if you need to confirm a request actually arrived.

Debugging checklist

  1. Open the project page — is there an "auto-deploy not connected" banner? If so, registration failed at creation time; see Automatic Git Deployments.
  2. Confirm the branch you pushed matches Production branch exactly.
  3. In your Git provider's webhook settings, check Recent Deliveries — a 200 with a skipped body means it arrived but was intentionally ignored (branch mismatch or inactive project); anything else is a real failure worth reporting.

Related documentation