---
title: "POST /api/v1/cert-manager/syncs/certificates/search"
method: POST
path: "/api/v1/cert-manager/syncs/certificates/search"
tags: ["PKI Syncs"]
---

# POST /api/v1/cert-manager/syncs/certificates/search

`POST /api/v1/cert-manager/syncs/certificates/search`

## Request

- Base URL: `https://us.infisical.com`
- URL: `https://us.infisical.com/api/v1/cert-manager/syncs/certificates/search`
- Auth: none declared
- TypeScript: <https://skmtc.dev/infisical/apis/infisical-api/docs/api/v1/cert-manager/syncs/certificates/search/post.ts> (a function with typed inputs; its response is checked against the schema)

List the certificates a set of filters matches, for an existing PKI Sync or an Application.

## Request body

- object
  - `pkiSyncId` string, uuid: Preview the filters against this existing PKI Sync.
  - `applicationId` string, uuid: Preview the filters against this Application, for a PKI Sync that does not exist yet.
  - `filters` object, nullable: Which of the Application's certificates this sync holds. A certificate must match every field that is set, and a sync with no filters holds nothing.
    - `profileIds` string[]: Match certificates issued from any one of these certificate profiles.
    - `certificateOrderIds` string[]: Match any certificate belonging to any one of these certificate orders. An order groups a certificate with every renewal of it, so this keeps matching as the certificate is renewed.
    - `metadata` object[]: Match certificates carrying every one of these metadata pairs. Give a key on its own to match any value for that key.
      - `key` string, required: Metadata key the certificate must carry.
      - `value` string: Metadata value the key must have. Omit it to match any value.
  - `offset` number: The offset to start from. If you enter 10, it will start from the 10th matching certificate.
  - `limit` number: The number of matching certificates to return.

## Response `200`

Default Response

- object
  - `matchedCount` number, required
  - `certificates` object[], required
    - `id` string, uuid, required
    - `commonName` string, required
    - `altNames` string, nullable
    - `serialNumber` string
    - `notAfter` string, date-time
    - `orderId` string, uuid
    - `profileName` string, nullable
  - `toUnlink` object[], required
    - `id` string, uuid, required
    - `commonName` string, required
    - `altNames` string, nullable
    - `serialNumber` string
    - `notAfter` string, date-time
    - `orderId` string, uuid
    - `profileName` string, nullable
  - `toUnlinkAtDestinationCount` number, required
  - `willRemoveFromDestination` boolean, required

## Other responses

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

## Changes

- **2026-10-14** `f5b431b33c30`: 1 info
  - added the required property `toUnlinkAtDestinationCount` to the response with the `200` status
- **2026-09-17** `7a0c98551644`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/infisical/apis/infisical-api/changes/api/v1/cert-manager/syncs/certificates/search/post.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/fcd86e7b5ec8?raw)
