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

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

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

## Request

- Base URL: `https://us.infisical.com`
- URL: `https://us.infisical.com/api/v1/cert-manager/certificate-policies/{id}`
- Auth: none declared

## Path parameters

- `id` string, uuid, required

## Query parameters

- `applicationId` string, uuid

## 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
    - `customExtensions` object[]
      - `oid` string, required
      - `label` string
      - `critical` 'critical' | 'not_critical'
      - `allowed` string[]: Value patterns this extension may take, with * as a wildcard. Use * on its own to accept any value. Omit to place no allow-list constraint on the value.
      - `required` string[]: Value patterns this extension must match, with * as a wildcard. Setting any required pattern also makes the extension mandatory on every request.
      - `denied` string[]: Value patterns this extension must not take, with * as a wildcard. A denied match is rejected even when an allowed pattern also matches.
    - `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-09-15** `838c6b7e6bb8`: 3 warning, 1 info
  - added the new `smart_card_logon` enum value to the `certificatePolicy/extendedKeyUsages/allowed/items/` response property for the response status `200`
  - added the new `smart_card_logon` enum value to the `certificatePolicy/extendedKeyUsages/denied/items/` response property for the response status `200`
  - added the new `smart_card_logon` enum value to the `certificatePolicy/extendedKeyUsages/required/items/` response property for the response status `200`
  - added the optional property `certificatePolicy/customExtensions` to the response with the `200` status
- **2026-08-12** `f1a4e29016fd`: 2 breaking, 3 warning, 1 info
  - the `certificatePolicy/subject/items/` response's property type changed from `object` to no type for status `200`
  - removed the required property `certificatePolicy/subject/items/type` from the response with the `200` status
  - removed the optional property `certificatePolicy/subject/items/allowed` from the response with the `200` status
  - removed the optional property `certificatePolicy/subject/items/denied` from the response with the `200` status
  - …2 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/infisical/apis/infisical-api/changes/api/v1/cert-manager/certificate-policies/:id/get.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.dev/infisical/apis/infisical-api/revisions/7f940199c899?raw)
