board-github
POST /v1/board-github/webhook/{endpointKey}
One GitHub webhook delivery for a linked project.
Authentication
This endpoint is public. It takes no credential and no organisation — it is what our own marketing site and AI answer engines read.
This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.
Try it
Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.
curl -X POST https://api.zinndigital.com/v1/board-github/webhook/{endpointKey}Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console
Details
**Public and unauthenticated — the HMAC is the authentication.** GitHub cannot present a session, so `X-Hub-Signature-256` over the raw body with this connection's own secret is the whole control. Answers **202 for every valid delivery, including ones we do not act on** — a ping, or an event type we ignore. Answering those with an error paints the endpoint permanently red on the customer's own GitHub screen, so a working integration looks broken; the `reason` field says which. A bad or absent signature is **401 with an empty body**: a response that distinguished "no such endpoint" from "wrong secret" would be an oracle for guessing endpoint keys.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
endpointKey (path) | string | Yes | The connection's opaque endpoint key, or `app` for the platform GitHub App's own shared webhook. Not the connection's id — a URL the customer pastes into GitHub ends up in their… |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
accepted | boolean | Yes | — |
reason | string | No | Why a valid delivery was not acted on (`ping`, an unhandled event, an unlinked project). |
link_id | string | No | — |
queued | boolean | No | — |
Errors this endpoint can return
401