---
title: "Create Project Policy"
method: POST
path: "/v1/projects/{projectId}/policies"
tags: ["Project Policies"]
---

# Create Project Policy

`POST /v1/projects/{projectId}/policies`

## Request

- Base URL: `https://api.confident-ai.com`
- URL: `https://api.confident-ai.com/v1/projects/{projectId}/policies`
- Auth: none declared
- TypeScript: <https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/docs/v1/projects/:projectId/policies/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a custom project policy from a set of permissions. Use `GET /v1/organization/permissions` to discover assignable permission ids.

## Path parameters

- `projectId` string, required

## Request body

- CreateOrUpdatePolicy
  - `name` string, required: Name of the policy
  - `description` string, nullable: Optional description of the policy
  - `permissionIds` string[], required: The ids of the permissions granted by this policy

## Response `200`

- PolicyResponse
  - `success` boolean, required: Indicates if the request was successful
  - `data` object, required
    - `policy` Policy
      - `id` string, required: Unique identifier for the policy
      - `name` string, required: Name of the policy
      - `description` string, nullable: Optional description of the policy
      - `permissions` NamedRef[]: The permissions granted by this policy
        - `id` string, required: Unique identifier
        - `name` string, required: Name

## Changes

> 54 revisions in range; 3 not diffed.

- **2026-05-31** `173563ada468`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/confident-ai/apis/confident-ai-metrics-api/changes/v1/projects/:projectId/policies/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)
