---
title: "Link existing requirements to a control"
method: POST
path: "/v1/controls/{id}/requirements/link"
tags: ["Controls"]
---

# Link existing requirements to a control

`POST /v1/controls/{id}/requirements/link`

Link existing requirements to a control in Comp AI. Manage controls, map them to policies, tasks, framework requirements, and evidence document types, and track implementation progress.

## Path parameters

- `id` string, required

## Request body

- LinkRequirementsToControlDto
  - `requirements` LinkRequirementMappingDto[], required — Requirement + framework instance pairs to link
    - `requirementId` string — Platform requirement ID
    - `customRequirementId` string — Org-custom requirement ID
    - `frameworkInstanceId` string, required — Framework instance ID

## Response `201`

## Changes

- **2026-04-17** `7c099840b198` — 2 info
  - added the new optional request property `requirements/items/customRequirementId`
  - the request property `requirements/items/requirementId` became optional
- **2026-04-17** `6871e9212739` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/trycompai/apis/comp-ai-api/changes/v1/controls/:id/requirements/link/post.md)

---

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