---
title: "PATCH /api/v1/cert-manager/certificate-policies/{id}"
method: PATCH
path: "/api/v1/cert-manager/certificate-policies/{id}"
tags: ["PKI Certificate Policies"]
---

# PATCH /api/v1/cert-manager/certificate-policies/{id}

`PATCH /api/v1/cert-manager/certificate-policies/{id}`

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `name` string
  - `description` string
  - `subject` union[], nullable
    - union
      - object
        - `type` 'common_name' | 'organization' | 'country' | 'state' | 'locality' | 'organizational_unit', required
        - `allowed` string[]
        - `required` string[]
        - `denied` string[]
      - object
        - `type` 'domain_component', required
        - `allowed` string[] — Domain component sequences that are permitted. Each entry is one sequence, its components comma-joined most specific first: "corp,example,com" matches DC=corp,DC=example,DC=com. A request matches a sequence only when its components line up position by position, so the same labels in another order do not match.
        - `required` string[] — Domain component sequences that are required. Each entry is one sequence, its components comma-joined most specific first: "corp,example,com" matches DC=corp,DC=example,DC=com. A request matches a sequence only when its components line up position by position, so the same labels in another order do not match.
        - `denied` string[] — Domain component sequences that are rejected, each comma-joined most specific first. A sequence is rejected wherever it appears in the chain, so "example,com" rejects DC=example,DC=com and DC=host,DC=example,DC=com alike.
  - `sans` object[], nullable
    - `type` 'dns_name' | 'ip_address' | 'email' | 'uri' | 'upn', required
    - `allowed` string[]
    - `required` string[]
    - `denied` string[]
  - `keyUsages` object, nullable
    - `allowed` string[]
    - `required` string[]
    - `denied` string[]
  - `extendedKeyUsages` object, nullable
    - `allowed` string[]
    - `required` string[]
    - `denied` string[]
  - `algorithms` object, nullable
    - `signature` string[]
    - `keyAlgorithm` string[]
  - `validity` object, nullable
    - `max` string
  - `basicConstraints` object, nullable
    - `isCA` 'allowed' | 'required' | 'denied'
    - `maxPathLength` integer

## Response `200`

Default Response

- object
  - `certificatePolicy` object, required
    - `id` string, uuid, required
    - `name` string, required
    - `description` string, nullable
    - `subject` union[]
      - union
        - object
          - `type` 'common_name' | 'organization' | 'country' | 'state' | 'locality' | 'organizational_unit', required
          - `allowed` string[]
          - `required` string[]
          - `denied` string[]
        - object
          - `type` 'domain_component', required
          - `allowed` string[] — Domain component sequences that are permitted. Each entry is one sequence, its components comma-joined most specific first: "corp,example,com" matches DC=corp,DC=example,DC=com. A request matches a sequence only when its components line up position by position, so the same labels in another order do not match.
          - `required` string[] — Domain component sequences that are required. Each entry is one sequence, its components comma-joined most specific first: "corp,example,com" matches DC=corp,DC=example,DC=com. A request matches a sequence only when its components line up position by position, so the same labels in another order do not match.
          - `denied` string[] — Domain component sequences that are rejected, each comma-joined most specific first. A sequence is rejected wherever it appears in the chain, so "example,com" rejects DC=example,DC=com and DC=host,DC=example,DC=com alike.
    - `sans` object[]
      - `type` 'dns_name' | 'ip_address' | 'email' | 'uri' | 'upn', required
      - `allowed` string[]
      - `required` string[]
      - `denied` string[]
    - `keyUsages` object
      - `allowed` string[]
      - `required` string[]
      - `denied` string[]
    - `extendedKeyUsages` object
      - `allowed` string[]
      - `required` string[]
      - `denied` string[]
    - `algorithms` object
      - `signature` string[]
      - `keyAlgorithm` string[]
    - `validity` object
      - `max` string
    - `basicConstraints` object, nullable
      - `isCA` 'allowed' | 'required' | 'denied'
      - `maxPathLength` integer
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `404` — Default Response
- `422` — Default Response
- `500` — Default Response

## Changes

- **2026-08-12** `f1a4e29016fd` — 3 breaking, 7 warning, 2 info
  - the `subject/items/` request property type/format changed from `object`/`` to ``/``
  - the `certificatePolicy/subject/items/` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `certificatePolicy/subject/items/type` from the response with the `200` status
  - removed the request property `subject/items/allowed`
  - …8 more
- **2026-08-05** `f10a4f8c1d41` — 1 breaking
  - the `description` request property's maxLength was decreased to `255`
- **2026-07-31** `edde28ab3c8c` — 4 warning, 4 info
  - added the new `any_purpose` enum value to the `certificatePolicy/extendedKeyUsages/allowed/items/` response property for the response status `200`
  - added the new `any_purpose` enum value to the `certificatePolicy/extendedKeyUsages/denied/items/` response property for the response status `200`
  - added the new `any_purpose` enum value to the `certificatePolicy/extendedKeyUsages/required/items/` response property for the response status `200`
  - added the new `upn` enum value to the `certificatePolicy/sans/items/type` response property for the response status `200`
  - …4 more
- **2026-07-26** `53fe4d80973f` — 6 info
  - the request property `algorithms` became nullable
  - the request property `extendedKeyUsages` became nullable
  - the request property `keyUsages` became nullable
  - the request property `sans` became nullable
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/infisical/apis/infisical-api/changes/api/v1/cert-manager/certificate-policies/:id/patch.md)

---

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