---
title: "Update GitHub integration"
method: PATCH
path: "/github-integration/project/{projectId}"
tags: ["GitHub"]
---

# Update GitHub integration

`PATCH /github-integration/project/{projectId}`

Update the GitHub integration. Omitted fields keep their current value.

## Path parameters

- `projectId` string, required

## Request body

- object
  - `isActive` boolean
  - `commentTaskLinkOnGitHubIssue` boolean

## Response `200`

The updated integration

- GitHubIntegration, nullable
  - `id` string, required
  - `projectId` string, required
  - `repositoryOwner` string, required
  - `repositoryName` string, required
  - `installationId` number, nullable, required — The GitHub App installation that grants access to the repository.
  - `branchPattern` string — Template used to name branches created for a task.
  - `commentTaskLinkOnGitHubIssue` boolean — When on, Kaneo comments a link back to the task on the linked GitHub issue.
  - `isActive` boolean, nullable, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400` — The resulting config failed validation
- `401` — Missing or invalid credentials
- `403` — No workspace access, or missing workspace:manage_settings
- `404` — Integration not found

## Changes

- **2026-08-24** `08bbb5bedb5d` — 1 breaking, 3 info
  - the response's body became nullable
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
- **2026-07-11** `32cece1ebe43` — 3 breaking, 3 info
  - request body became required
  - the `createdAt` response's property type/format changed from ``/`` to `string`/`date-time` for status `200`
  - the `updatedAt` response's property type/format changed from ``/`` to `string`/`date-time` for status `200`
  - added the new optional request property `commentTaskLinkOnGitHubIssue`
  - …2 more
- **2026-03-05** `c45ef22a736c` — 2 breaking, 2 info
  - the response property `installationId` became nullable for the status `200`
  - the response property `isActive` became nullable for the status `200`
  - response property `installationId` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - response property `isActive` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
- **2026-03-04** `298877d6a79a` — 2 breaking
  - response property `installationId` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `isActive` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
- …earlier changes not shown

[Full history](https://skmtc.dev/usekaneo/apis/kaneo-api/changes/github-integration/project/:projectId/patch.md)

---

[API](https://skmtc.dev/usekaneo/apis/kaneo-api.md) · [All operations](https://skmtc.dev/usekaneo/apis/kaneo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usekaneo/kaneo-api/revisions/7ccee4eec682/schema)
