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

# POST /experimental/workspaces/{workspaceId}/integrations/linear/callback

`POST /experimental/workspaces/{workspaceId}/integrations/linear/callback`

Completes the Linear OAuth handshake by exchanging the authorization code for a workspace token.

## Path parameters

- `workspaceId` string, uuid, required

## Headers

- `Authorization` string

## Request body

- object
  - `code` string, required
  - `state` string, 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` 'linear', required
      - `installedBy` string, uuid, required
      - `connectionData` object, required
        - `linearOrganizationId` string, required
        - `agentAppUserId` string, required
        - `targetRepo` string
      - `metadata` object, required
        - `linearOrganizationName` string
      - `createdAt` string, required
      - `updatedAt` string, required

## Other responses

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

---

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