board-github

POST /v1/board-github/links

Connect a GitHub Project to this organisation.

Tous les points de terminaison board-github

Authentification

Envoyez une clé d'API en tant que jeton du porteur (bearer token). Cet endpoint n'indique pas de permission spécifique dans la spécification, attribuez donc à votre clé le minimum requis et vérifiez la réponse plutôt que de faire des suppositions.

Où insérer l'ID de votre organisation

Cet endpoint prend org_id comme champ dans le corps JSON.

L'identifiant de votre organisation se trouve sur l'écran des clés API de votre tableau de bord, à côté de la clé elle-même. Il s'agit du même identifiant pour chaque appel que vous effectuez.

Essayer

Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.

curl -X POST https://api.zinndigital.com/v1/board-github/links \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "project_node_id": <string>, "project_number": <integer>, "owner_login": <string> }'

Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API

Détails

Two-way from the moment it is connected (owner ruling, 2026-09-03). The first sync runs inside this request, so the 201 already carries the project's fields — a connect that returned an empty board and left the customer waiting for the sweep would read as a broken connection. `auth_kind: app` stores only the **installation id**, which is public and appears in the customer's own install URL; nothing long-lived is at rest and an hour-long token is minted per use. `auth_kind: pat` writes the token straight to Vault and never echoes it.

Corps de la requête

NomTypeObligatoireQu'est-ce que c'est
project_node_idstringOui
project_numberintegerOui
owner_loginstringOui
owner_typestring<organization, user>Non
auth_kindGitHubAuthKindNon`app` is the Zinn® GitHub App installation — per-repository scope the customer chooses on GitHub's own screen, revocable by them in one click, belonging to their organisation ra…
installation_idstringNon
tokenstringNon
board_idstringNonOptional. A project may be connected purely for the roll-up and never attached to client work.
titlestringNon
org_idstringNon

Réponse

NomTypeObligatoireQu'est-ce que c'est
idstringNon
board_idstringNon
auth_kindGitHubAuthKindNon`app` is the Zinn® GitHub App installation — per-repository scope the customer chooses on GitHub's own screen, revocable by them in one click, belonging to their organisation ra…
installation_idstringNonPublic — it appears in the customer's own install URL — and showing it is what lets them confirm on GitHub that they are looking at the right installation.
has_stored_tokenbooleanNonWhether a token is held in Vault for this connection. The token itself is never returned.
project_node_idstringNon
project_numberintegerNon
owner_loginstringNon
owner_typestringNon
titlestringNon
short_descriptionstringNon
closedbooleanNon
publicbooleanNon
directionGitHubSyncDirectionNon`both` is the default (owner ruling, 2026-09-03: a new connection is read-write immediately). `pull` is the honest remedy when a push keeps being refused.
notice_deliveryGitHubNoticeDeliveryNonWhere a connection's overdue / gone-quiet / over-WIP notices are allowed to go. Both values raise the same notices and both render them on the board — the difference is delivery…
viewsobject[]NonThe project's saved views on GitHub, replaced whole on every read so a view deleted there disappears here rather than lingering as a link GitHub answers with a 404. Rendered as…
urlstringNon
webhook_stateGitHubWebhookStateNonWhether 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…
last_synced_atstringNonWhen a sync last SUCCEEDED. What the staleness alarm fires off.
last_attempted_atstringNonWhen a sync was last ATTEMPTED, stamped for every connection the sweep reaches before the result is read. Two columns rather than one: a cursor only a successful pass advanced w…
last_errorstringNon
created_atstringNon
fieldsGitHubProjectField[]NonThe project's fields, with their single-select options and any work-in-progress limits set on them. Returned with the connection rather than fetched separately, because a board…

Erreurs que cet point de terminaison peut renvoyer

401 · 403 · 422