> ## Documentation Index
> Fetch the complete documentation index at: https://opentrain.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete Project Link

> Permanently remove a project link. The response carries a final snapshot, and a project_link.removed event is emitted.

Permanently removes a [project link](/docs/developers/annotation-platforms/project-links). The link row is hard-deleted — the response and the emitted `project_link.removed` [event](/docs/developers/annotation-platforms/lifecycle-events#project-link-events) carry the final snapshot of its data. Contract events for the job stop unless another link on the install references the same job.

There is no update operation on links: to re-point a project at a different job, delete and [create](/docs/developers/annotation-platforms/api-reference/project-links/create) again.

**Requirements:** `project-links:write` scope.

## Request

<ParamField path="linkId" type="string" required>
  The project link ID to remove.
</ParamField>

## Response

<ResponseField name="projectLink" type="object">
  Final snapshot of the removed link: `{id, jobId, externalProjectId, externalProjectName, externalProjectUrl, provisioningMode, createdAt}`.
</ResponseField>

<ResponseField name="deleted" type="boolean">
  Always `true` on success.
</ResponseField>

## Errors

| Status | `code`         | Meaning                              |
| ------ | -------------- | ------------------------------------ |
| `401`  | `UNAUTHORIZED` | Missing, invalid, or revoked token   |
| `403`  | `FORBIDDEN`    | Token lacks `project-links:write`    |
| `404`  | `NOT_FOUND`    | No link with this ID on this install |

<RequestExample>
  ```bash curl theme={null}
  curl -sS -X DELETE https://app.opentrain.ai/api/partner/v1/project-links/<LINK_ID> \
    -H "Authorization: Bearer $OT_PARTNER_TOKEN"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "projectLink": {
      "id": "<LINK_ID>",
      "jobId": "<OPENTRAIN_JOB_ID>",
      "externalProjectId": "42",
      "externalProjectName": "Traffic signs batch 3",
      "externalProjectUrl": "https://your-platform.example.com/projects/42",
      "provisioningMode": "PARTNER_WEBHOOK",
      "createdAt": "2026-06-12T10:00:00.000Z"
    },
    "deleted": true
  }
  ```
</ResponseExample>
