board-github

POST /v1/board-github/links/{linkId}/webhook

Try again to create the webhook on GitHub, and mint a fresh secret.

All board-github endpoints

Authentication

Send an API key as a bearer token. This endpoint does not state a specific permission in the specification, so give your key the least it needs and check the response rather than assuming.

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/links/{linkId}/webhook \
  -H "Authorization: Bearer zdk_live_…"

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

For the customer who has just granted the permission that was missing, and for rotating a secret that has been shown to somebody it should not have been. **The secret changes on every call**, so a hook the customer created by hand stops verifying until they paste the new one — which is why the response says which state resulted.

Parameters

NameTypeRequiredWhat it is
linkId (path)stringYesThe GitHub Projects connection.

Response

NameTypeRequiredWhat it is
stateGitHubWebhookStateYesWhether GitHub pushes changes at us, and if not, whose move it is. **Three outcomes and not a boolean.** `automatic` — we created the organisation webhook. `manual` — GitHub wou…
urlstringYesThe payload URL to paste into GitHub.
secretstringNoThe signing secret, returned **only** for a connection the customer must configure themselves. Empty for an App connection, which is signed with the platform app's own secret an…
eventsstring[]YesThe events the hook must subscribe to. `projects_v2_item` alone is not enough: renaming or closing the project emits `projects_v2`, and a board whose title is stale until the ne…
content_typestringNoAlways `json`. GitHub's default is `form`, which this endpoint cannot read.

Errors this endpoint can return

401 · 403 · 404 · 422