---
title: "Assign Projects to Governance Policy"
method: POST
path: "/v1/organization/governance-policies/{policyId}/assign"
tags: ["Organization Governance Policies"]
---

# Assign Projects to Governance Policy

`POST /v1/organization/governance-policies/{policyId}/assign`

## Request

- Base URL: `https://api.confident-ai.com`
- URL: `https://api.confident-ai.com/v1/organization/governance-policies/{policyId}/assign`
- Auth: none declared

Assigns one or more projects to a governance policy. A project already on a different policy is moved to this one. This is a partial-success operation. Projects that exist are assigned and returned in `assignedProjectIds`, while ids that do not exist in the organization are reported in `notFoundProjectIds` instead of failing the request. `count` is the number now assigned (re-assigning an already-enrolled project still counts it).

## Path parameters

- `policyId` string, required

## Request body

- AssignGovernancePolicyProjects
  - `projectIds` string[], required: The ids of the projects to assign or unassign.

## Response `200`

- GovernancePolicyAssignmentResponse
  - `success` boolean, required: Indicates if the request was successful
  - `data` object, required
    - `governancePolicy` object, required: The governance policy that was modified.
      - `id` string, required: The unique identifier of the governance policy.
      - `name` string, required: The name of the governance policy.
    - `assignedProjectIds` string[], required: Ids of the projects now assigned to this policy, including any that were already enrolled.
    - `notFoundProjectIds` string[], required: Ids that do not exist in this organization. They are skipped (not assigned) and reported here rather than failing the request.
    - `count` integer, required: The number of projects now assigned (the length of assignedProjectIds).

## Changes

> 54 revisions in range; 3 not diffed.

- **2026-06-29** `77c4156f18d2`: 2 info
  - added the required property `data/assignedProjectIds` to the response with the `200` status
  - added the required property `data/notFoundProjectIds` to the response with the `200` status
- **2026-06-29** `c77c54067665`: 2 breaking
  - removed the required property `data/assignedProjectIds` from the response with the `200` status
  - removed the required property `data/notFoundProjectIds` from the response with the `200` status
- **2026-06-28** `0d196a3b614e`: 2 info
  - added the required property `data/assignedProjectIds` to the response with the `200` status
  - added the required property `data/notFoundProjectIds` to the response with the `200` status
- **2026-06-26** `23289125b456`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/changes/v1/organization/governance-policies/:policyId/assign/post.md)

---

[API](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api.md) - [All operations](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/revisions/95cdde71b65e?raw)
