board-github
GET /v1/board-github/links/{linkId}/webhook
The payload URL and signing secret for a connection the customer configures.
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 GET 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
Read when `webhook_state` is `manual`, which is the commonest case: creating an organisation webhook needs a permission most customers will not grant, so they create it themselves and this is what they need to do it. The secret is returned in full — there is no way to configure a webhook without it — so the read is audit-logged and requires the manage permission rather than the view one. An App connection returns an empty secret because it is signed with the platform app's own, and there is nothing for the customer to set up.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
linkId (path) | string | Yes | The GitHub Projects connection. |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
state | GitHubWebhookState | Yes | Whether 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… |
url | string | Yes | The payload URL to paste into GitHub. |
secret | string | No | The 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… |
events | string[] | Yes | The 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_type | string | No | Always `json`. GitHub's default is `form`, which this endpoint cannot read. |
Errors this endpoint can return
401 · 403 · 404