---
title: "POST /experimental/workspaces/{workspaceId}/integrations/github-app"
method: POST
path: "/experimental/workspaces/{workspaceId}/integrations/github-app"
tags: ["Integrations", "Workspaces"]
---

# POST /experimental/workspaces/{workspaceId}/integrations/github-app

`POST /experimental/workspaces/{workspaceId}/integrations/github-app`

Completes a GitHub App OAuth handshake, attaching the installation to a workspace.

## Path parameters

- `workspaceId` string, required

## Headers

- `Authorization` string

## Request body

- object
  - `code` string, required
  - `installationId` number, required

## Response `201`

Default Response

- object
  - `links` object, required
    - `self` string, uri, required
  - `data` object, required
    - `id` string, uuid, required
    - `type` 'integration', required
    - `attributes` object, required
      - `type` 'github-app', required
      - `installedBy` string, uuid, required
      - `connectionData` object, required
        - `installationId` number, required
        - `installationTarget` string, required
      - `metadata` object, required
        - `installedByGitHubUser` number, required
        - `installedIntoAccountName` string, required
        - `installedIntoAccountType` union, required
          - 'organization'
          - 'user'
          - 'enterprise'
      - `createdAt` string, required
      - `updatedAt` string, required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/tessl/apis/tessl-api.md) · [All operations](https://skmtc.net/tessl/apis/tessl-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tessl/tessl-api/versions/fbb186825642/schema)
